phpMyAdmin es una aplicación PHP que permite gestionar servidores de bases de datos MySQL o MariaDB desde cualquier navegador Web. Es una herramienta ideal para permitir a desarrolladores el acceso y creación de bases de datos para una aplicación Web, ya que provee una vista conveniente y práctica a un motor de bases de datos MySQL, especialmente a aquellos usuarios no familiarizados con el cliente de línea de comandos mysql. Es el complemento ideal para tu servidor LAMP.



Antes de instalar phpMyAdmin es necesario contar con un servidor LAMP (Linux+Apache+MySQL+PHP) instalado y funcionando.

Una de las grandes ventajas desde el punto de vista de la seguridad, es que phpMyAdmin evita tener que dar acceso a una shell en el servidor a los desarrolladores para que utilicen el cliente mysql de manera local, o tener que habilitar el acceso remoto al servidor MySQL para que los desarrolladores puedan conectarse utilizando un cliente desde el exterior. Siempre claro, que se proteja adecuadamente el acceso a phpMyAdmin, por ejemplo utilizando autenticación Digest como capa de seguridad adicional.

Instalación de phpMyAdmin

Para instalar phpMyAdmin en Debian y derivados, simplemente ejecutar:

# apt-get install phpmyadmin

Una vez instalado, sólo resta habilitar el acceso a la aplicación en Apache. Afortunadamente phpMyAdmin incluye una configuración de directorio virtual, por lo que basta con incluirla en la configuración global de Apache.

Editar el archivo de configuración global del servidor Apache:

# nano /etc/apache2/apache2.conf

Agregar las siguientes líneas al final del archivo:

# Habilitar phpmyadmin
Include /etc/phpmyadmin/apache.conf

Es altamente recomendable modificar el alias por defecto, para evadir intentos de acceso de robots. Para ello, editar la configuración de Apache que provee phpMyAdmin:

# nano /etc/phpmyadmin/apache.conf
# phpMyAdmin default Apache configuration

Alias /phpmyadmin /usr/share/phpmyadmin

Cambiar el alias "/phpmyadmin" por uno personalizado, por ejemplo: "/fruta":

# phpMyAdmin default Apache configuration

Alias /fruta /usr/share/phpmyadmin

Finalmente reiniciar Apache:

# service apache2 restart

Comprobar el funcionamiento accediendo a la URL "/fruta":

Es posible verificar el acceso con la cuenta "root" de MySQL.



Consideraciones de seguridad sobre phpMyAdmin

Históricamente phpMyAdmin ha tenido diferentes vulnerabilidades que han sido parchadas. Siendo una aplicación que da acceso a un componente tan crítico como es el motor de bases de datos, es indispensable proteger el acceso a la misma utilizando una capa extra de seguridad, por ejemplo autenticación Digest.

Editar el archivo /etc/phpmyadmin/apache.conf y seguir los pasos sobre autenticación Digest que indica el artículo: Configurar autenticación Digest en Apache y mostrar directorios protegidos en índices.

Consideraciones de seguridad sobre MySQL

Jamás usar el usuario "root" para que las aplicaciones y/o desarrolladores accedan a sus bases de datos. Para cada sitio Web, crear un usuario MySQL único que tenga los mínimos privilegios de acceso necesarios a su base de datos (por ejemplo SELECT, INSERT, UPDATE y DELETE). Luego para cada desarrollador, crear un usuario con los privilegios suficientes para crear y gestionar bases de datos de los sitios sobre los que trabaja (por ejemplo SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, INDEX, DROP, etc.).


Tal vez pueda interesarte


Compartí este artículo y dejá tu comentario