Recherche de site Web

Comment ajouter une couche de sécurité supplémentaire sur l'interface de connexion PhpMyAdmin


MySQL est le système de gestion de bases de données open source le plus utilisé au monde sur l'écosystème Linux et, en même temps, les débutants sous Linux ont du mal à le gérer à partir de l'invite MySQL.

PhpMyAdmin a été créé. Il s'agit d'une application Web de gestion de base de données MySQL, qui offre aux débutants Linux un moyen simple d'interagir avec MySQL via une interface Web. Dans cet article, nous expliquerons comment sécuriser l'interface phpMyAdmin avec une protection par mot de passe sur les systèmes Linux.

Avant de poursuivre cet article, nous supposons que vous avez effectué une installation de LAMP (Linux, Apache, MySQL/MariaDB et PHP) et PhpMyAdmin sur votre serveur Linux. Sinon, vous pouvez suivre nos guides ci-dessous pour installer la pile LAMP sur vos distributions respectives.

  1. Installez LAMP et PhpMyAdmin dans Cent/RHEL 7
  2. Installez LAMP et PhpMyAdmin dans Ubuntu 16.04
  3. Installez LAMP et PhpMyAdmin dans Fedora 22-24

Si vous souhaitez installer la dernière version de PhpMyAdmin, vous pouvez suivre ce guide pour installer la dernière version de PhpMyAdmin sur les systèmes Linux.

Une fois que vous avez terminé toutes ces étapes ci-dessus, vous êtes prêt à commencer avec cet article.

En ajoutant simplement les lignes suivantes à /etc/apache2/sites-available/000-default.conf dans Debian ou /etc/httpd/conf/httpd. conf dans CentOS nécessitera une authentification de base APRÈS la confirmation de l'exception de sécurité mais AVANT d'accéder à la page de connexion.

Ainsi, nous ajouterons une couche de sécurité supplémentaire, également protégée par le certificat.

Lecture suggérée : Configurer HTTPS (certificats SSL) pour sécuriser PhpMyAdmin

Ajoutez ces lignes au fichier de configuration Apache (/etc/apache2/sites-available/000-default.conf ou /etc/httpd/conf/httpd.conf) :


<Directory /usr/share/phpmyadmin>
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
</Directory>
 
<Directory /usr/share/phpmyadmin>
    AuthType Basic
    AuthName "Restricted Content"
    AuthUserFile /etc/httpd/.htpasswd
    Require valid-user
</Directory>

Utilisez ensuite htpasswd pour générer un fichier de mot de passe pour un compte qui sera autorisé à accéder à la page de connexion de phpmyadmin. Nous utiliserons /etc/apache2/.htpasswd et tecmint dans ce cas :


---------- On Ubuntu/Debian Systems ---------- 
htpasswd -c /etc/apache2/.htpasswd tecmint

---------- On CentOS/RHEL Systems ---------- 
htpasswd -c /etc/httpd/.htpasswd tecmint

Saisissez le mot de passe deux fois, puis modifiez les autorisations et la propriété du fichier. Ceci a pour but d'empêcher toute personne n'appartenant pas au groupe www-data ou apache de pouvoir lire .htpasswd :


chmod 640 /etc/apache2/.htpasswd

---------- On Ubuntu/Debian Systems ---------- 
chgrp www-data /etc/apache2/.htpasswd 

---------- On CentOS/RHEL Systems ---------- 
chgrp apache /etc/httpd/.htpasswd 

Accédez à http:///phpmyadmin et vous verrez la boîte de dialogue d'authentification avant d'accéder à la page de connexion.

Lecture suggérée : Modification et sécurisation de l'URL de connexion PhpMyAdmin par défaut

Vous devrez saisir les informations d'identification d'un compte valide dans /etc/apache2/.htpasswd ou /etc/httpd/.htpasswd pour continuer :

Si l'authentification réussit, vous serez redirigé vers la page de connexion de phpmyadmin.