Ver destacados

Cómo instalar y securizar phpMyAdmin en Debian 9

Tutorial para saber cómo instalar y securizar phpMyAdmin en Debian 9 paso por paso
Escrito por
10.5K Visitas  |  Publicado sep 10 2018 10:50
Favorito
Compartir
Comparte esta pagina a tus Amigos y Contactos usando las siguientes Redes Sociales


Existen diversas soluciones que podemos tomar para aumentar las posibilidades de escalamiento de nuestros servidores y de las aplicaciones que allí están alojadas enfocándose en mejorar las alternativas de cada usuario de la organización.
Dentro de todo este mundo de aplicaciones, tenemos un segmento que sobresale y son las bases de datos, aunque hoy en día es normal hacer uso de un sistema de gestión de bases de datos como MariaDB, muchos usuarios y programadores no están totalmente a gusto con su interfaz y por ello optan por usar otra de las aplicaciones mas conocidas como lo es phpMyAdmin.

 

A través de este tutorial, Solvetic explicara como lograr instalar y asegurar la instalación de phpMyAdmin en Debian 9 y así sacar el máximo beneficio de sus características y a la vez proteger su integridad de accesos no autorizados.

 

En este tutorial te explicamos cómo instalar y configurar servidor ISC DHCP en Debian 9

 

Qué es phpMyAdmin
phpMyAdmin se ha desarrollado como una herramienta de software libre la cual ha sido escrita en PHP y cuyo propósito es ayudar a mejorar la administración de MySQL a través de la Web.

 

phpMyAdmin es compatible con diversas operaciones en MySQL y MariaDB, en este ámbito, todas las operaciones de uso frecuente como administración de bases de datos, tablas, columnas, relaciones, índices, usuarios, permisos, las podemos llevar a cabo a través de la interfaz de usuario y al mismo tiempo será posible usar directamente cualquier declaración de SQL.

 

Carácterísticas
Algunas de las características que encontramos cuando hacemos uso de phpMyAdmin son
  • Interfaz web intuitiva
  • Cuenta con soporte para muchas de las características de MySQL como son explorar y eliminar bases de datos, tablas, vistas, campos e índices, crear, copiar, renombrar y alterar bases de datos, tablas, campos e índices, ejecutar tareas del servidor de mantenimiento, bases de datos, tablas y más.
  • Podremos ejecutar, editar y marcar cualquier instrucción SQL incluyendo consultas por lotes
  • Facilita la administración de cuentas de usuario y privilegios de MySQL
  • Administra procedimientos almacenados y disparadores
  • Ejecuta búsquedas globales en una base de datos o un subconjunto de estas
  • Puede crear gráficos de la base de datos en varios formatos
  • Esta en la capacidad de crear consultas complejas haciendo uso de Query-by-example (QBE)
  • Puede transformar datos almacenados en cualquier formato toando como base un conjunto de funciones predefinidas
  • Puede administrar múltiples servidores
  • phpMyAdmin puede exportar datos a varios formatos como CSV, SQL, XML, PDF, ISO / IEC 26300 - Texto y hoja de cálculo de OpenDocument, Word, LATEX y más
  • Puede importar datos de CSV y SQL

 

Requisitos previos
Antes de conocer como instalar y asegurar phpMyAdmin debemos cumplir los siguientes requisitos:

 

Contar con la instalación LAMP (Linux, Apache, MariaDB y PHP) en el servidor Debian 9, para guiarnos en este proceso podemos visitar el siguiente enlace:

 

En este tutorial aprenderás a instalar LAMP (Apache, MySQL y PHP) en Linux Debian 8

 

Adicional a ello, debemos contar con un firewall configurado con ufw.

 

Cómo actualizar el sistema
El primer paso a dar consiste en actualizar los paquetes de Debian 9, para ello ejecutamos el siguiente comando:
apt update


 

 

 


1. Cómo instalar phpMyAdmin Debian 9

 

Paso 1

Una vez actualizado el sistema, procedemos a instalar PHP junto a algunas dependencias ejecutando el siguiente comando:
apt install phpmyadmin php-mbstring php-gettext

 

Paso 2

Allí ingresaremos la letra S para confirmar la descarga e instalación de PHP y durante este proceso se desplegará lo siguiente:

 

 

Paso 3

Allí seleccionamos apache2 como el servidor web, para esta selección pulsamos la tecla Espacio y con la tecla Tab seleccionamos Aceptar, pulsamos Enter para continuar con el proceso de instalación:

 

 

Paso 4

Posteriormente debemos definir la contraseña de aplicación MySQL:

 

 

Paso 5

Pulsamos Enter y debemos confirmarla:

 

 

Paso 6

Luego confirmaremos la contraseña del usuario root para la base de datos. Con esto culmina el proceso de instalación de phpMyAdmin.

 

 

El proceso de instalación se encarga de añadir el archivo de configuración phpMyAdmin Apache en el directorio /etc/apache2/conf-enabled/, el cual se lee automáticamente.

 

Paso 7

Ahora debemos habilitar explícitamente la extensión PHP mbstring la cual se utiliza para administrar cadenas que no sean ASCII y convertir cadenas a diferentes codificaciones., esto lo logramos ejecutando lo siguiente:
phpenmod mbstring
Finalmente, reiniciamos el servicio para aplicar los cambios:
systemctl restart apache2

 

 

 


2. Cómo configurar usuarios y privilegios de phpMyAdmin Debian 9


Al momento de instalar phpMyAdmin en el servidor, se creó automáticamente un usuario de base de datos denominado phpmyadmin el cual puede realizar ciertos procesos subyacentes para el programa, por razones de seguridad es ideal, en lugar de iniciar sesión con este usuario y la contraseña administrativa que se estableció durante la instalación, iniciar sesión con una cuenta diferente.

 

En las nuevas instalaciones en sistemas Debian 9, el usuario root MariaDB está configurado para autenticarse usando el plugin unix_socket de forma predeterminada en lugar de con una contraseña, dado que phpMyAdmin requiere que los usuarios se autentiquen con una contraseña, será necesario crear una nueva cuenta MariaDB para acceder a la interfaz web de la aplicación.

 

Paso 1

Podemos comprobar el acceso a phpMyAdmin ejecutando la siguiente sintaxis en algún navegador web:
https://IP_Servidor/phpmyadmin

 

Paso 2

Allí ingresamos con el usuario estándar y tendremos acceso a la plataforma de phpMyAdmin. Podemos crear un nuevo usuario para phpMyAdmin ingresando la siguiente línea en la terminal de Debian 9:
mariadb
Paso 3

En caso de tener activa la autenticación con contraseña, vamos a ejecutar el siguiente comando para obtener privilegios de administrador dentro de la base de datos:
mariadb -u usuario -p
En la consola de la base de datos ingresaremos lo siguiente:

 

Paso 4

Vamos a crear el usuario y asignar la contraseña deseada:
CREATE USER 'usuario@'localhost' IDENTIFIED BY 'password';
Ahora, otorgamos al nuevo usuario los privilegios correctos:
GRANT ALL PRIVILEGES ON *.* TO 'usuario'@'localhost' WITH GRANT OPTION;
Salimos de la base de datos:
exit

 

Paso 5

Ahora podremos acceder a phpMyAdmin con el nuevo usuario creado:

 

 

Paso 6

Pulsamos en Continuar y este será el entorno de phpMyAdmin:

 

 

Hasta este punto tendremos acceso a la plataforma de phpMyAdmin y su entorno peor aun esta se encuentra insegura.

 


3. Cómo asegurar la instancia de phpMyAdmin


phpMyAdmin se ha convertido en un objetivo tradicional y frecuente para los atacantes debido a su facilidad de acceso, para evitar esto, podemos implementar un Gateway para la aplicación el cual hará uso de las funcionalidades de autenticación y autorización de .htaccess integradas de Apache

 

Paso 1

Para llevar a cabo esto, vamos a habilitar el uso de anulaciones de archivos .htaccess editando el archivo de configuración de Apache a través de la siguiente línea:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf

 

Paso 2

Allí ingresaremos la siguiente línea en la sección <Directory /usr/share/phpmyadmin>:
AllowOverride All

 

Paso 3

Guardamos los cambios usando la combinación de teclas Ctrl + O y salimos del editor usando las teclas Ctrl + X.
Luego de esto, reiniciamos el servidor Apache ejecutando el comando:
systemctl restart apache2
Paso 4

Hemos habilitado el uso de .htaccess para la aplicación de phpMyAdmin, ahora vamos a crear un usuario para implementar la seguridad general del entorno, este archivo debe ser creado dentro del directorio de la aplicación, para ello vamos a crear el archivo y abrirlo con el editor deseado de la siguiente forma:
sudo nano /usr/share/phpmyadmin/.htaccess
En el nuevo archivo pegaremos lo siguiente:
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

 

Paso 5

Guardamos los cambios con la combinación de teclas Ctrl + O y salimos del editor usando las teclas Ctrl + X.

 

Las líneas que hemos ingresado representan:

 

AuthType Basic
Especifica el tipo de autenticación que estamos implementando, este tipo de parámetro implementará la autenticación de contraseña usando un archivo de contraseña.

 

AuthName
Esta línea establece el mensaje para el cuadro de diálogo de autenticación que será desplegado, es ideal conservar esta forma genérica para que los usuarios no autorizados no tengan acceso a ninguna información de los datos protegidos.

 

AuthUserFile
Esta línea establece la ubicación del archivo de contraseña que se usará para la autenticación.

 

Require valid-user
Esta opción especifica que solo los usuarios autenticados pueden tener acceso a este recurso, de esta forma se evita el acceso no autorizado.

 

La ubicación que hemos seleccionado para el archivo de contraseña es /etc/phpmyadmin/.htpasswd, vamos a crear este archivo y asignarlo a un usuario inicial usando la utilidad htpasswd:

htpasswd -c /etc/phpmyadmin/.htpasswd “usuario”

 

Paso 6

Ingresamos la contraseña deseada y de esta forma este nuevo usuario tendrá un acceso seguro a phpMyAdmin. Ahora, cuando intentemos acceder de nuevo a phpMyAdmin a través del navegador se desplegará la siguiente ventana emergente:

 

 

Paso 7

Allí ingresamos las credenciales del usuario que hemos creado y al pulsar en el botón Acceder estaremos en el entorno de phpMyAdmin:

 

 

De esta forma, hemos aprendido a instalar y a asegurar phpMyAdmin en Debian 9.

 

Te explicamos paso a paso cómo instalar Netdata para monitorizar rendimiento en Debian 9 Linux

¿Te ayudó este Tutorial?

Ayuda a mejorar este Tutorial!
¿Quieres ayudarnos a mejorar este tutorial más? Puedes enviar tu Revisión con los cambios que considere útiles. Ya hay 0 usuario que han contribuido en este tutorial al enviar sus Revisiones. ¡Puedes ser el próximo!