Búsqueda de sitios web

Cómo instalar y asegurar phpMyAdmin en Ubuntu 14.04


Introducción

Si bien muchos usuarios necesitan la funcionalidad de un sistema de administración de bases de datos como MySQL, es posible que no se sientan cómodos interactuando con el sistema únicamente desde el indicador de MySQL.

phpMyAdmin fue creado para que los usuarios puedan interactuar con MySQL a través de una interfaz web. En esta guía, discutiremos cómo instalar y asegurar phpMyAdmin para que pueda usarlo de manera segura para administrar sus bases de datos en Ubuntu 14.04.

Nota: phpMyAdmin se puede instalar automáticamente en su Droplet agregando este tutorial para obtener más información sobre los datos de usuario de Droplet.

requisitos previos

Antes de comenzar con esta guía, debe completar algunos pasos básicos.

Primero, supondremos que está usando un usuario no root con privilegios sudo, como se describe en los pasos 1-4 en la configuración inicial del servidor de Ubuntu 14.04.

También vamos a suponer que completó una instalación LAMP (Linux, Apache, MySQL y PHP) en su servidor Ubuntu 14.04. Si esto aún no se ha completado, puede seguir esta guía sobre cómo instalar una pila LAMP en Ubuntu 14.04.

Una vez que haya terminado con estos pasos, estará listo para comenzar con esta guía.

Paso uno: instalar phpMyAdmin

Para comenzar, simplemente podemos instalar phpMyAdmin desde los repositorios predeterminados de Ubuntu.

Podemos hacer esto actualizando nuestro índice de paquetes local y luego usando el sistema de empaquetado apt para extraer los archivos e instalarlos en nuestro sistema:

sudo apt-get update
sudo apt-get install phpmyadmin

Esto le hará algunas preguntas para configurar su instalación correctamente.

Cuando aparece el primer mensaje, apache2 está resaltado, pero no seleccionado. Si no presiona \ESPACIO para seleccionar Apache, el instalador no moverá los archivos necesarios durante la instalación. Presione \ESPACIO, \TABULADOR y luego \ENTRAR para seleccionar Apache.

  • Para la selección del servidor, elija apache2.
  • Seleccione sí cuando se le pregunte si usar dbconfig-common para configurar la base de datos
  • Se le pedirá la contraseña del administrador de su base de datos
  • Luego se le pedirá que elija y confirme una contraseña para la aplicación phpMyAdmin misma

El proceso de instalación en realidad agrega el archivo de configuración de phpMyAdmin Apache en el directorio /etc/apache2/conf-enabled/, donde se lee automáticamente.

Lo único que debemos hacer es habilitar explícitamente la extensión php5-mcrypt, lo que podemos hacer escribiendo:

sudo php5enmod mcrypt

Luego, deberá reiniciar Apache para que se reconozcan sus cambios:

sudo service apache2 restart

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:

Ahora puede iniciar sesión en la interfaz con el nombre de usuario root y la contraseña administrativa que configuró durante la instalación de MySQL.

Cuando inicie sesión, verá la interfaz de usuario, que se verá así:

Paso dos: asegure su instancia de phpMyAdmin

Pudimos poner en funcionamiento nuestra interfaz phpMyAdmin con bastante facilidad. Sin embargo, aún no hemos terminado. Debido a su ubicuidad, phpMyAdmin es un objetivo popular para los atacantes. Necesitamos asegurar la aplicación para ayudar a prevenir el uso no autorizado.

Una de las formas más fáciles de hacer esto es colocar una puerta de enlace frente a toda la aplicación. Podemos hacer esto utilizando las funcionalidades de autenticación y autorización .htaccess integradas de Apache.

Configurar Apache para permitir anulaciones de .htaccess

Primero, debemos habilitar el uso de anulaciones 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

Necesitamos agregar una directiva AllowOverride All dentro de la sección del archivo de configuración, así:

Cuando haya agregado esta línea, guarde y cierre el archivo.

Para implementar los cambios que realizó, reinicie Apache:

sudo service apache2 restart

Crear un archivo .htaccess

Ahora que hemos habilitado el uso de .htaccess para nuestra aplicación, necesitamos crear uno para implementar algo de 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 ingresar la siguiente información:

AuthType Basic
AuthName "Restricted Files"
AuthUserFile /etc/phpmyadmin/.htpasswd
Require valid-user

Repasemos lo que significa 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 mediante un archivo de contraseña.
  • AuthName: Esto 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 ninguna información sobre lo que se está protegiendo.
  • AuthUserFile: establece 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. Crearemos este archivo en breve.
  • Requerir usuario válido: Esto especifica que solo los usuarios autenticados deben tener acceso a este recurso. Esto es lo que realmente impide que los usuarios no autorizados ingresen.

Cuando haya terminado, guarde y cierre el archivo.

Cree el archivo .htpasswd para la autenticación

Ahora que hemos especificado una ubicación para nuestro archivo de contraseña mediante el uso de la directiva AuthUserFile dentro de nuestro archivo .htaccess, necesitamos crear este archivo.

De hecho, necesitamos un paquete adicional para completar este proceso. Podemos instalarlo desde nuestros repositorios predeterminados:

sudo apt-get install apache2-utils

Posteriormente tendremos disponible la utilidad htpasswd.

La ubicación que seleccionamos para el archivo de contraseña fue \/etc/phpmyadmin/.htpasswd. Vamos a crear este archivo y pasarlo a un usuario inicial escribiendo:

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 cifrada que ingresó.

Si desea ingresar un usuario adicional, debe hacerlo sin el indicador -c, así:

Ahora, cuando acceda a su subdirectorio phpMyAdmin, se le solicitará el nombre de cuenta y la contraseña adicionales que acaba de configurar:

Después de ingresar la autenticación de Apache, se le llevará a la página de autenticación de phpMyAdmin normal para ingresar sus otras credenciales. Esto agregará una capa adicional de seguridad ya que phpMyAdmin ha sufrido vulnerabilidades en el pasado.

Conclusión

Ahora debería tener phpMyAdmin configurado y listo para usar en su servidor Ubuntu 14.04. Con esta interfaz, puede crear fácilmente bases de datos, usuarios, tablas, etc., y realizar las operaciones habituales, como eliminar y modificar estructuras y datos.

Para saber cómo proteger aún más sus interacciones con el servidor mediante el cifrado de su comunicación con SSL, consulte nuestro artículo sobre la configuración de certificados SSL con phpMyAdmin.

Por Justin Ellingwood