Encriptando Mysql usando certificados Openssl

Requisitos previos para encriptar Mysql:

  • Win64OpenSSL_Light-1_0_1
  • Sistema Gestor Mysql 

Pasos a seguir para usar Openssl en Mysql

Primeros pasos:

Instalamos Win64OpenSSL_Light-1_0_1

Creando la variable de entorno:

Editamos la variable path añadiendo tras poner “;” lo siguiente: C:\OpenSSL-Win64\bin

Creando Certificados SSL en línea de comandos en Windows

Proceso previo: Crear un entorno limpio

  • md c:\newcerts
  • cd c:\newcerts

Creación de certificados:

Creando Certificados CA:

  • openssl genrsa 2048 > ca-key.pem
  • openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem y rellenamos los datos que nos pide.

openssl mysql seguro

Creando el certificado del servidor, quitamos la passphrase, y firmarlo.

  • openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem

openssl mysql seguro

 

  • openssl rsa -in server-key.pem -out server-key.pem

openssl mysqlseguro

  • openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

openssl mysql seguro

Creando certificado del cliente, quitando la passphrase y firmándolo.

  • openssl req -newkey rsa:2048 -days 3600 -nodes -keyout client-key.pem -out client-req.pem

certificado mysql seguro

  • openssl rsa -in client-key.pem -out client-key.pem

openssl mysql seguro

  • openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem

openssl mysql seguro

Después de generar los certificados vamos a verificarlos:

  • openssl verify -CAfile ca.pem server-cert.pem client-cert.pem

openssl mysql seguro

Configurando MySQL para usar conexiones seguras:

Configuración para conexiones seguras en el lado del servidor:

  • Tenemos que editar el archivo de configuración añadiendo las siguientes líneas:

ssl-ca=C:\\newcerts\\ca.pem

ssl-cert=C:\\newcerts\\server-cert.pem

ssl-key=C:\\newcerts\\server-key.pem

Comprobación del encriptado de Mysql usando Openssl

Una vez cambiado el archivo my.ini iniciamos el servidor con el comando mysqld

Configuración para conexiones seguras en el lado del cliente:

  • Conectamos con el cliente desde otro equipo llevándonos los archivos necesarios usando el siguiente comando:

openssl mysql seguro

Comprobamos el estado de ssl_cipher:

ssl_cipher mysql

Comprobamos el tráfico de consultas realizadas a través de Wireshark como va todo el tráfico cifrado:

Usamos un filtro y vemos como todo el tráfico va cifrado:Wireshark Mysql

Espero que este artículo os haya sido de utilidad y hayáis podido securizar Mysql usando Openssl.

Soy David Del Río Pascual. Estudiante de Administración de Sistemas Informáticos en Red. Apasionado de las Nuevas Tecnologías. Muy interesado, formado y en contínuo aprendizaje de Social Media, Digital Marketing, Video Making, Seo, Personal Branding, y tod@s aquellas palabras de índole tecnológica que no solemos Castellanizar.
Categorías: Bases de datos

David Del Río Pascual

Soy David Del Río Pascual. Estudiante de Administración de Sistemas Informáticos en Red. Apasionado de las Nuevas Tecnologías. Muy interesado, formado y en contínuo aprendizaje de Social Media, Digital Marketing, Video Making, Seo, Personal Branding, y tod@s aquellas palabras de índole tecnológica que no solemos Castellanizar.

Deja un comentario

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