Cómo activar el soporte HTTPS para phpMyAdmin

,

La información en Internet puede viajar como texto plano o cifrado. En el primer caso, todos los datos enviados pueden ser vistos si alguien está escuchando en el puerto del servicio por el cual establecimos la comunicación. En el segundo caso, la información viajará de forma cifrada, por lo que no se podrá conocer qué se ha enviado.

Siempre que accedas a un formulario de registro o de inicio de sesión debes asegurarte de que la conexión se realiza por HTTPS (de forma cifrada mediante certificados SSL) y que el certificado es válido o es emitido por una entidad que conoces (en el caso de que sea autofirmado). Con esto evitarás que roben tus datos de acceso.

En phpMyAdmin es posible habilitar el soporte HTTPS. Con esto garantizas que al iniciar con un usuario sensible (por ejemplo root) no puedan descubrir la contraseña enviada desde tu navegador hacia el servidor.

Habilitando el soporte HTTPS en Apache

Para habilitar el soporte HTTPS en Apache, debes habilitar el módulo SSL de esta manera:

A continuación reinicia el servicio web:

Generando un certificado autofirmado

Generar un certificado autofirmado significa que eres tú mismo quien lo crea y lo firma. Por ello los navegadores webs lo reconocerán como «no auténtico». Sin embargo, los navegadores te dan la posibilidad de agregarlo como una excepción, o sea, de confiar en el certificado autofirmado.

Primero debes crear un directorio para almacenar el certificado y su llave privada. Puedes hacerlo así:

Sigue el comando a continuación para crear el certificado autofirmado por un tiempo de validez de 365 días, una llave privada RSA de 2048 bits y almcenarlos en el directorio “/etc/apache2/ssl”:

Luego especifica todos los datos pedidos en pantalla. Al finalizar el proceso el certificado (apache.crt) y su llave privada (apache.key) serán generados en el directorio “/etc/apache2/ssl”.

Habilitando el VirtualHost para HTTPS

Al habilitar el módulo SSL de Apache2 es creado un VirtualHost para conexiones por HTTPS: “/etc/apache2/sites-available/default-ssl.conf”. Dicho archivo contiene la configuración básica para activar HTTPS en el servidor.

Para activarlo ejecuta el siguiente comando:

Edita el archivo “/etc/apache2/sites-available/default-ssl.conf” y localiza las líneas:

Debido a que el certificado autofirmado generado anteriormente fue guardado en “/etc/apache2/ssl”, así como su llave privada, cambia las anteriores líneas por:

Finalmente, reinicia el servicio web para aplicar los cambios:

Básicamente para activar un VirtualHost por HTTPS necesitas:

  • Especificar el puerto para conexiones HTTPS: 443
  • Activar el soporte para HTTPS: SSLEngine on
  • Especificar la ruta del certificado: SSLCertificateFile /etc/apache2/ssl/apache.crt
  • Especificar la llave privada del certificado: SSLCertificateKeyFile /etc/apache2/ssl/apache.key

Habilitando el soporte HTTPS en phpMyAdmin

Para indicarle a phpMyAdmin que use HTTPS, debes editar su archivo de configuración: “/etc/phpmyadmin/config.inc.php”. Luego comprueba si la siguiente línea está presente, de lo contrario la agregas al final:

Para acceder a phpMyAdmin por HTTPS, escribe en tu navegador: https://tu.dominio.com/phpmyamdin. La primera vez que accedas te debe salir una alerta (como la mostrada a continuación) sobre la autenticidad del certificado, ya que este es autofirmado. Para continuar debes agregarlo como una excepción:

phpMyAdmin certificado autofirmado error de autenticidad

phpMyAdmin certificado autofirmado error de autenticidad

Punto final

Es muy conveniente y útil garantizar que nuestros datos viajen de forma segura entre el navegador y el servidor que tiene instalado phpMyAdmin. Además de lo aprendido en este tip, recuerda que existen otras medidas adicionales de seguridad para phpMyAdmin. Entre ellas, desactivar el acceso al usuario root y agregar una segunda capa de seguridad a la interfaz de inicio de sesión.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *