Instalar phpMyAdmin
Para empezar, podemos
simplemente instalar phpMyAdmin desde los repositorios predeterminados de
Ubuntu.
Podemos hacerlo
actualizando nuestro índice de paquetes local y luego usar el sistema de
paquetería apt para descargar
los archivos e instalarlos en nuestro sistema:
sudo apt-get update
●
sudo apt-get install phpmyadmin php-mbstring php-gettext
●
Esto le hará algunas
preguntas para configurar correctamente su instalación.
Advertencia:
cuando aparece el primer mensaje, apache2 se resalta, pero no
se selecciona. Si no pulsa Space
para seleccionar Apache, el instalador no
moverá los archivos necesarios durante la instalación. Pulse Space,
Tab y, a continuación, Enter
para seleccionar Apache.
●
Para la selección del servidor, elija apache2.
●
Seleccione yes cuando se le pregunte
si desea utilizar dbconfig-common para configurar la base de datos
●
Se le pedirá la contraseña del administrador de
la base de datos
●
A continuación, se le pedirá que elija y
confirme una contraseña para la aplicación phpMyAdmin
El proceso de
instalación realmente agrega el archivo de configuración phpMyAdmin Apache al
directorio /etc/apache2/conf-enabled/, donde se lee
automáticamente.
Lo único que debemos
hacer es habilitar explícitamente las extensiones PHP mcrypt y mbstring, que podemos hacer
escribiendo:
sudo phpenmod mcrypt
●
sudo phpenmod mbstring
●
Después, necesitará
reiniciar Apache para que sus cambios sean reconocidos:
sudo systemctl restart apache2
●
Ahora puede acceder a
la interfaz web visitando el nombre de dominio de su servidor o la dirección IP
pública seguida de /phpmyadmin:
https://nombre_del_dominio_o_IP/phpmyadmin
●
Ahora puede iniciar
sesión en la interfaz utilizando el nombre de usuario root y la contraseña
administrativa que configuró durante la instalación de MySQL.
Al iniciar sesión, verá
la interfaz de usuario.
Paso Dos — Asegure su Instancia de phpMyAdmin
Hemos sido capaces de
levantar y ejecutar nuestra interfaz phpMyAdmin con bastante facilidad. Sin
embargo, todavía no hemos terminado. Debido a su ubicuidad, phpMyAdmin es un
popular objetivo para los atacantes. Debemos tomar medidas adicionales para evitar
el acceso no autorizado.
Una de las formas más
sencillas de hacerlo es colocar un gateway delante de toda la aplicación.
Podemos hacerlo utilizando las funcionalidades de autenticación y autorización
de .htaccessintegradas de
Apache.
Configurar Apache para Permitir Sobreescritura de .htaccess
Primero, necesitamos
habilitar el uso de sobreescritura de archivos .htaccess editando nuestro
archivo de configuración de Apache.
Editaremos el archivo
vinculado que se ha colocado en nuestro directorio de configuración de Apache:
sudo nano /etc/apache2/conf-available/phpmyadmin.conf
●
Tenemos que agregar una
directiva AllowOverride
All
dentro de <Directory
/usr/share/phpmyadmin> del archivo de configuración, como esto:
/et/apache2/conf-available/phpmyadmin.conf
<Directory /usr/share/phpmyadmin>
Options FollowSymLinks
DirectoryIndex
index.php
AllowOverride All
. . .
Cuando haya agregado
esta línea, guarde y cierre el archivo.
Para implementar los
cambios realizados, reinicie Apache:
sudo systemctl restart apache2
●
Creando un archivo .htaccess
Ahora que hemos
habilitado el uso de .htaccess para nuestra aplicación, necesitamos crear un archivo para
implementar realmente alguna seguridad.
Para que esto tenga
éxito, el archivo debe crearse dentro del directorio de la aplicación. Podemos
crear el archivo necesario y abrirlo en nuestro editor de texto con privilegios
de root escribiendo:
sudo nano /usr/share/phpmyadmin/.htaccess
●
Dentro de este archivo,
necesitamos introducir la siguiente información:
/usr/share/phpmyadmin/.htaccess
AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user
Repasemos lo que
significan cada una de estas líneas:
●
AuthType Basic: Esta línea especifica el tipo de
autenticación que estamos implementando. Este tipo implementará la
autenticación de contraseña utilizando un archivo de contraseña.
●
AuthName: Esta opción establece el mensaje para el
cuadro de diálogo de autenticación. Debe mantener este genérico para que los
usuarios no autorizados no obtengan información sobre lo que está siendo
protegido.
●
AuthUserFile: Define la ubicación del archivo de contraseña
que se utilizará para la autenticación. Esto debe estar fuera de los
directorios que se están sirviendo. Vamos a crear este archivo en breve.
●
Require valid-user: Especifica que sólo los usuarios autenticados
deben tener acceso a este recurso. Esto es lo que realmente impide que usuarios
no autorizados entren.
Cuando haya terminado,
guarde y cierre el archivo.
Creando un archivo .htaccess para Autenticación
Ahora que hemos especificado
una ubicación para nuestro archivo de contraseñas mediante el uso de la
directiva AuthUserFile dentro de
nuestro archivo .htaccess, necesitamos
crear este archivo.
Necesitamos un paquete
adicional para completar este proceso. Podemos instalarlo desde nuestros
repositorios predeterminados:
sudo apt-get install apache2-utils
●
Después, tendremos la
utilidad htpasswd disponible.
La ubicación que
seleccionamos para el archivo de contraseña era "/etc/phpmyadmin/.htpasswd". Vamos a
crear este archivo y pasarlo a un usuario inicial escribiendo:
sudo htpasswd -c /etc/phpmyadmin/.htpasswd username
●
Se le pedirá que
seleccione y confirme una contraseña para el usuario que está creando.
Posteriormente, el archivo se crea con la contraseña hash introducida.
Si desea introducir un
usuario adicional, debe hacerlo sin el modificador -c, así:
sudo htpasswd /etc/phpmyadmin/.htpasswd additionaluser
●
Ahora, al acceder a su
subdirectorio phpMyAdmin, se le pedirá el nombre de cuenta y la contraseña
adicional que acaba de configurar:
https://nombre_del_dominio_o_IP/phpmyadmin
●
Después de ingresar la
autenticación de Apache, se le llevará a la página de autenticación normal de
phpMyAdmin para ingresar sus otras credenciales. Esto agregará una capa
adicional de seguridad ya que phpMyAdmin ha sufrido vulnerabilidades en el
pasado.
Comentarios
Publicar un comentario