Cómo agregar una capa adicional de seguridad en la interfaz de inicio de sesión de PhpMyAdmin


MySQL es el sistema de administración de bases de datos de código abierto más utilizado en el mundo en el ecosistema Linux y, al mismo tiempo, los principiantes de Linux tienen dificultades para administrar desde el indicador de MySQL.

Se creó PhpMyAdmin, es una aplicación de administración de bases de datos MySQL basada en la web, que proporciona una manera fácil para que los principiantes de Linux interactúen con MySQL a través de una interfaz web. En este artículo, compartiremos cómo proteger la interfaz phpMyAdmin con protección por contraseña en sistemas Linux.

Antes de continuar con este artículo, asumimos que ha completado una instalación de LAMP (Linux, Apache, MySQL/MariaDB y PHP) y PhpMyAdmin en su servidor Linux. De lo contrario, puede seguir nuestras guías a continuación para instalar la pila LAMP en sus respectivas distribuciones.

  1. Instale LAMP y PhpMyAdmin en Cent/RHEL 7
  2. Instale LAMP y PhpMyAdmin en Ubuntu 16.04
  3. Instale LAMP y PhpMyAdmin en Fedora 22-24

Si desea instalar la última versión de PhpMyAdmin, puede seguir esta guía sobre la instalación de la última versión de PhpMyAdmin en sistemas Linux.

Una vez que haya terminado con todos estos pasos anteriores, estará listo para comenzar con este artículo.

Simplemente agregando las siguientes líneas a /etc/apache2/sites-available/000-default.conf en Debian o /etc/httpd/conf/httpd.conf en CentOS requerirá autenticación básica DESPUÉS de confirmar la excepción de seguridad pero ANTES de acceder al inicio de sesión página.

Así, estaremos agregando una capa extra de seguridad, también protegida por el certificado.

Agregue estas líneas al archivo de configuración de 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>

Luego use htpasswd para generar un archivo de contraseña para una cuenta que estará autorizada para acceder a la página de inicio de sesión de phpmyadmin. Usaremos /etc/apache2/.htpasswd y tecmint en este caso:

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

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

Ingrese la contraseña dos veces y luego cambie los permisos y la propiedad del archivo. Esto es para evitar que cualquier persona que no esté en el grupo www-data o apache pueda leer .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 

Vaya a http:// /phpmyadmin y verá el cuadro de diálogo de autenticación antes de acceder a la página de inicio de sesión.

Deberá ingresar las credenciales de una cuenta válida en /etc/apache2/.htpasswd o /etc/httpd/.htpasswd para continuar:

Si la autenticación es exitosa, será dirigido a la página de inicio de sesión de phpmyadmin.