Com afegir una capa addicional de seguretat a la interfície d'inici de sessió de PhpMyAdmin


MySQL és el sistema de gestió de bases de dades de codi obert més utilitzat del món a l'ecosistema Linux i, al mateix temps, els novells a Linux tenen dificultats per gestionar-los des del missatge de MySQL.

PhpMyAdmin es va crear, és una aplicació de gestió de bases de dades MySQL basada en web, que proporciona una manera fàcil perquè els novells de Linux interactuïn amb MySQL mitjançant una interfície web. En aquest article, compartirem com protegir la interfície de phpMyAdmin amb protecció amb contrasenya als sistemes Linux.

Abans de seguir endavant amb aquest article, suposem que heu completat una instal·lació de LAMP (Linux, Apache, MySQL/MariaDB i PHP) i PhpMyAdmin al vostre servidor Linux. Si no, podeu seguir les nostres guies següents per instal·lar la pila LAMP a les vostres distribucions respectives.

  1. Instal·leu LAMP i PhpMyAdmin a Cent/RHEL 7
  2. Instal·leu LAMP i PhpMyAdmin a Ubuntu 16.04
  3. Instal·leu LAMP i PhpMyAdmin a Fedora 22-24

Si voleu instal·lar la darrera versió de PhpMyAdmin, podeu seguir aquesta guia per instal·lar l'últim PhpMyAdmin en sistemes Linux.

Un cop hàgiu acabat amb tots aquests passos anteriors, ja esteu preparat per començar amb aquest article.

Només afegint les línies següents a /etc/apache2/sites-available/000-default.conf a Debian o a /etc/httpd/conf/httpd.conf a CentOS caldrà una autenticació bàsica DESPRÉS de confirmar l'excepció de seguretat però ABANS d'accedir a l'inici de sessió pàgina.

Així, afegirem una capa addicional de seguretat, també protegida pel certificat.

Afegiu aquestes línies al fitxer de configuració d'Apache (/etc/apache2/sites-available/000-default.conf o /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>

A continuació, utilitzeu htpasswd per generar un fitxer de contrasenya per a un compte que estarà autoritzat per accedir a la pàgina d'inici de sessió de phpmyadmin. En aquest cas farem servir /etc/apache2/.htpasswd i tecmint:

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

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

Introduïu la contrasenya dues vegades i després canvieu els permisos i la propietat del fitxer. Això és per evitar que qualsevol persona que no estigui al grup www-data o apache pugui llegir .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 

Aneu a http:///phpmyadmin i veureu el diàleg d'autenticació abans d'accedir a la pàgina d'inici de sessió.

Haureu d'introduir les credencials d'un compte vàlid a /etc/apache2/.htpasswd o /etc/httpd/.htpasswd per continuar:

Si l'autenticació té èxit, se us dirigirà a la pàgina d'inici de sessió de phpmyadmin.