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-Win64bin
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.
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
🚀 DOMINIO + 2 MESES DE ALOJAMIENTO GRATIS 🚀
SERED regala dos meses de alojamiento GRATIS y un dominio gratuito a los lectores de daviddelrio.es Simplemente tienes que introducir el código 2MESESDRP en el proceso de compra y si también quieres conseguir un dominio completamente GRATIS deberás seleccionar el plan de facturación anual. No pierdas está oportunidad única y muestra tu proyecto al mundo.
- openssl rsa -in server-key.pem -out server-key.pem
- openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem
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
- openssl rsa -in client-key.pem -out client-key.pem
- openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
Después de generar los certificados vamos a verificarlos:
- openssl verify -CAfile ca.pem server-cert.pem client-cert.pem
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:
Comprobamos el estado de ssl_cipher:
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:
Espero que este artículo os haya sido de utilidad y hayáis podido securizar Mysql usando Openssl.