mysqlopenssl

Mysql seguro con certificados Openssl

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.

Mysql seguro con certificados Openssl
Puntúa el post

Dejar un comentario

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

En cumplimiento con el RGPD (Reglamento General de Protección de Datos), a continuación, se muestra la siguiente información que el usuario debe conocer:

Responsable » David Del Río Pascual.

Finalidad » Gestionar los comentarios.

Legitimación »Consentimiento del usuario.

Destinatarios » Los datos que el usuario facilita, estarán ubicados en los servidores de Sered (proveedor de hosting de www.daviddelrio.es) dentro de la UE. Ver política de privacidad de Sered. (https://sered.net/politica-de-privacidad), mi proveedor de email y hosting, y que también cumple con el RGPD.

Derechos » El usuario tiene dereho a acceder, rectificar, limitar y suprimir sus datos