69
LUIS MENGUAL (c) Gestión de Bases de Datos Estableciendo Sesiones SSL en MySQL

Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

Embed Size (px)

Citation preview

Page 1: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Estableciendo Sesiones SSL en MySQL

Page 2: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Estableciendo Sesiones SSL en MySQL

• Crear la infraestructura de certificados X.509 necesaria para incorporar servicios de seguridad en el acceso a un Base de Datos

• Establecer de forma práctica sesiones seguras en MySQL

• Captura del trafico en el acceso a la BD

Objetivos:

Page 3: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Índice

Creación de la Infraestructura necesaria para el establecimiento de accesos seguros SSL: 1. Usuario cliente_ssl0: Cliente SSL sin Autenticación de usuario 2. Usuario cliente_ssl: Cliente SSL con Autenticación de usuario 3. Usuario cliente_ssl1: Cliente SSL con Autenticación de usuario, verificando el propietario del certificado 4. Usuario cliente_ssl2: Cliente SSL con Autenticación de usuario, verificando el emisor del certificado

Page 4: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Confirmar que la versión actual de MySQL soporta el protocolo SSL

1. Desde un cliente mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.37 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW VARIABLES LIKE "have_ssl"; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | have_ssl | YES | +---------------+-------+ 1 row in set (0.00 sec)

2. Desde el servidor MySQL mysqld --ssl [ERROR] mysql: unknown option ‘—ssl’ ->Esto indica que no soporta SSL

Page 5: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Crear certificados Certificado de la CA

openssl> genrsa -out CAClavePrivada.pem 4096 (Generamos un par de claves pública y privada. Obtenemos el fichero “CAClavePrivada.pem” conteniendo la clave privada de la CA) req -new -x509 -days 3650 -key CAClavePrivada.pem -out CACertificado.pem (Obtenemos un certificado autofirmado, fichero “CACertificado.pem”, que será el certificado de la CA) x509 –inform PEM –in CACertificado.pem –outform DER –out CACertificado.crt (Podemos convertir el formato *.pem del certificado a formato *.crt)

Page 6: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

genrsa -out SR_ClavePrivada.pem 1024 (Generamos un par de claves pública y privada para el usuario. Obtenemos el fichero “SR_ClavePrivada.pem” conteniendo la clave privada del servidor) req –new -key SR_ClavePrivada.pem -out SR_Peticion.csr (Creamos un certificado de usuario y creamos una petición a la espera que la firme la CA) x509 -req -days 365 -in SR_Peticion.csr -CA CACertificado.pem -CAkey CAClavePrivada.pem -set_serial 01 -out SR_Certificado.pem (obtenemos un certificado firmado por la CA, listo para ser utilizado en el Gestor de la BD, servidor, o en el cliente)

Crear certificados Certificado del Servidor (I)

Page 7: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

x509 –inform PEM –in SR_Certificado.pem –outform DER –out SR_Certificado.crt (opcionalmente podemos obtener el fichero del certificado del servidor en formato *.crt) pkcs12 -export -in SR_Certificado.pem -inkey SR_ClavePrivada.pem -out SR_Certificado.p12 (opcionalmente podemos obtener el fichero del certificado del servidor en formato *.p12, incorporando la clave privada)

Crear certificados Certificado del Servidor (II)

Page 8: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Arranque Servidor

1. Arranque manual del Servidor mysqld –ssl --ssl-ca=CACertificado.pem --ssl-cert=SR_Certificado.pem --ssl-key=SR_ClavePrivada.pem (Los certificados deben estar en el path adecuado) 2. Arranque automático con el fichero de configuración (my.ini)

Page 9: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Arranque Manual Servidor Variables SSL

Page 10: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Conexión Cliente root ssl Comprobación certificados cargados correctamente (I)

mysql -u root --ssl-ca=ca.pem Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.1.37 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. Ahora comprobamos que la conexión se ha establecido con ssl mysql> SHOW STATUS LIKE "ssl_cipher"; +---------------+--------------------+ | Variable_name | Value | +---------------+--------------------+ | Ssl_cipher | DHE-RSA-AES256-SHA | +---------------+--------------------+

Page 11: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

mysql> \s -------------- mysql Ver 14.14 Distrib 5.5.16, for Win32 (x86) Connection id: 3 Current database: Current user: root@localhost SSL: Cipher in use is DHE-RSA-AES256-SHA Using delimiter: ; Server version: 5.1.37 Source distribution Protocol version: 10 Connection: localhost via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: cp850 Conn. characterset: cp850 TCP port: 3306 Uptime: 30 sec Threads: 3 Questions: 22 Slow queries: 0 Opens: 19 Flush tables: 1 Open tab les: 12 Queries per second avg: 0.733 --------------

Conexión Cliente root ssl Comprobación certificados cargados correctamente (II)

Page 12: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Si no están bien cargados los certificados saldría lo siguiente: mysql -u root --ssl-ca=ca.pem Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 Server version: 5.1.37 Source distribution Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> SHOW STATUS LIKE "ssl_cipher"; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Ssl_cipher | | +---------------+-------+ 1 row in set (0.00 sec)

Conexión Cliente root ssl Comprobación certificados cargados correctamente (III)

Page 13: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

mysql> \s -------------- mysql Ver 14.14 Distrib 5.5.16, for Win32 (x86) Connection id: 9 Current database: Current user: root@localhost SSL: Not in use Using delimiter: ; Server version: 5.1.37 Source distribution Protocol version: 10 Connection: localhost via TCP/IP Server characterset: latin1 Db characterset: latin1 Client characterset: cp850 Conn. characterset: cp850 TCP port: 3306 Uptime: 5 min 46 sec Threads: 1 Questions: 59 Slow queries: 0 Opens: 20 Flush tables: 1 Open tab les: 13 Queries per second avg: 0.170 --------------

Conexión Cliente root ssl Comprobación certificados cargados correctamente (IV)

Page 14: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Conexión Cliente root ssl MySQL Workbench (I)

Page 15: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Conexión Cliente root ssl MySQL Workbench (II)

Page 16: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

ssl ssl-ca = "C:/XAMPP_28MAR11_LM/xampp/mysql/CONFIGURACION_MYSQL_SSL /SERVER/CACertificado.pem" ssl-cert = "C:/XAMPP_28MAR11_LM/xampp/mysql/CONFIGURACION_MYSQL_SSL /SERVER/SR_Certificado.pem" ssl-key = "C:/XAMPP_28MAR11_LM/xampp/mysql/CONFIGURACION_MYSQL_SSL /SERVER/SR_ClavePrivada.pem" ssl-capath = "C:/XAMPP_28MAR11_LM/xampp/mysql/CONFIGURACION_MYSQL_SSL /SERVER" • Con el gestor de BD apagado hay que editar el fichero my.ini insertar las líneas anteriores, guardar y cerrar el fichero • Copiar los certificados en los paths especificados

• Finalmente, reiniciar el Gestor de la BD

Arranque automático Servidor (I)

Fichero configuración: “my.ini”

Page 17: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Arranque Automático Servidor Variables SSL

Page 18: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CREAR USUARIOS SSL

1. Usuario cliente_ssl0: Cliente SSL sin Autenticación de usuario 2. Usuario cliente_ssl: Cliente SSL con Autenticación de usuario 3. Usuario cliente_ssl1: Cliente SSL con Autenticación de usuario, verificando el propietario del certificado 4. Usuario cliente_ssl2: Cliente SSL con Autenticación de usuario, verificando el emisor del certificado

Page 19: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CREAR USUARIOS SSL (1)

1. Usuario cliente_ssl0: Cliente SSL sin Autenticación de usuario

Page 20: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1. Crear cliente_ssl0 (sin autenticación) Configuración en el servidor

GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl0'@'%' IDENTIFIED BY 'ssl‘ WITH GRANT OPTION; (Crear el usuario cliente_ssl0“ con clave ssl) GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl0'@'%' IDENTIFIED BY 'ssl' REQUIRE SSL; (Al cliente cliente_ssl0 con clave ssl se el exige utilizar SSL) SHOW GRANTS FOR cliente_ssl0; (Vemos los privilegios/requisitos creados para este usuario) - 'GRANT ALL PRIVILEGES ON *.* TO \'cliente_ssl0\'@\'%\' IDENTIFIED BY PASSWORD \'*035E199C2E188B7300132D5C991D9E002AB5C150\' REQUIRE SSL WITH GRANT OPTION'

Page 21: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1. Arranque manual del Servidor mysqld –ssl --ssl-ca=CACertificado.pem --ssl-cert=SR_Certificado.pem --ssl-key=SR_ClavePrivada.pem (Los certificados deben estar en el path adecuado) 2. Arranque automático con el fichero de configuración (my.ini)

1. Crear cliente_ssl0 (sin autenticación) Arranque Servidor

Page 22: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

C:\Archivos de programa\MySQL\MySQL Workbench 5.2 CE> mysql -u cliente_ssl0 -p --ssl-ca=CACertificado.pem Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 36 Server version: 5.1.37-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> \s mysql Ver 14.14 Distrib 5.1.40, for Win32 (ia32) Connection id: 36 SSL: Cipher in use is DHE-RSA-AES256-SHA Using delimiter: ; Server version: 5.1.37-log Source distribution Protocol version: 10 Connection: localhost via TCP/IP Client characterset: latin1 Server characterset: latin1 TCP port: 3306 Uptime: 37 min 30 sec mysql -u cliente_ssl0 -p Enter password: *** ERROR 1045 (28000): Access denied for user 'cliente_ssl0'@'localhost' (using pas sword: YES)

1. Crear cliente_ssl0 (sin autenticación) Conexión cliente (I)

Page 23: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

show status like "ssl%“ (Comprobamos que hemos establecido una conexión SSL) ---- 'Ssl_accept_renegotiates', '0' 'Ssl_accepts', '0' 'Ssl_callback_cache_hits', '0' 'Ssl_cipher', 'DHE-RSA-AES256-SHA' 'Ssl_cipher_list', 'DHE-RSA-AES256-SHA:AES256-SHA:DHE-RSA-AES128-SHA:AES128-SHA:AES256-RMD: AES128-RMD:DES-CBC3-RMD:DHE-RSA-AES256-RMD:DHE-RSA-AES128-RMD:DHE-RSA-DES-CBC3-RMD: RC4-SHA:RC4-MD5:DES-CBC3-SHA:DES-CBC-SHA:EDH-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC-SHA' 'Ssl_client_connects', '0' 'Ssl_connect_renegotiates', '0' 'Ssl_ctx_verify_depth', '0' 'Ssl_ctx_verify_mode', '0' 'Ssl_default_timeout', '500' 'Ssl_finished_accepts', '0' 'Ssl_finished_connects', '0' 'Ssl_session_cache_hits', '0' 'Ssl_session_cache_misses', '0' 'Ssl_session_cache_mode', 'Unknown' 'Ssl_session_cache_overflows', '0' 'Ssl_session_cache_size', '0' 'Ssl_session_cache_timeouts', '0' 'Ssl_sessions_reused', '0' 'Ssl_used_session_cache_entries', '0' 'Ssl_verify_depth', '0' 'Ssl_verify_mode', '0' 'Ssl_version', 'TLSv1'

1. Crear cliente_ssl0 (sin autenticación) Conexión cliente (II)

Page 24: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

FICHERO: “mysql.log”: 130927 16:20:49 1 Connect Access denied for user 'cliente_ssl0'@'localhost‘ (using password: YES) 130927 16:21:35 2 Connect cliente_ssl0@localhost on 2 Query select @@version_comment limit 1 130927 16:21:39 2 Quit

mysql -u cliente_ssl0 -p ........................................... 16:20 mysql -u cliente_ssl0 -p --ssl-ca=CACertificado.pem................ 16:21

1. Crear cliente_ssl0 (sin autenticación) Fichero de logs “mysql.log”

Page 25: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1. Crear cliente_ssl0 (sin autenticación) MySQL Workbench (I)

Page 26: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1. Crear cliente_ssl0 (sin autenticación) MySQL Workbench (II)

Page 27: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CREAR USUARIOS SSL (2)

2. Usuario cliente_ssl: Cliente SSL con Autenticación de usuario

Page 28: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl'@'%' IDENTIFIED BY 'ssl‘ WITH GRANT OPTION; (Crear el usuario cliente_ssl“ con clave ssl) GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl'@'%' IDENTIFIED BY 'ssl‘ REQUIRE SSL; (Al cliente cliente_ssl con clave ssl se el exige utilizar SSL) GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl'@'%' IDENTIFIED BY 'ssl‘ REQUIRE X509; (Al cliente cliente_ssl con clave ssl se el exige autenticación a traves de un Certificado digital X.509) SHOW GRANTS FOR cliente_ssl; - 'GRANT ALL PRIVILEGES ON *.* TO \'cliente_ssl\'@\'%\' IDENTIFIED BY PASSWORD \'*035E199C2E188B7300132D5C991D9E002AB5C150\‘ REQUIRE X509 WITH GRANT OPTION'

2. Crear cliente_ssl (con autenticación) Configuración en el servidor

Page 29: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

genrsa -out CL_ClavePrivada.pem 1024 (Generamos un par de claves pública y privada para el usuario. Obtenemos el fichero “CLClavePrivada.pem” conteniendo la clave privada del cliente) req –new -key CL_ClavePrivada.pem -out CL_Peticion.csr (Creamos un certificado de usuario y creamos una petición a la espera que la firme la CA) x509 -req -days 365 -in CL_Peticion.csr -CA CACertificado.pem -CAkey CAClavePrivada.pem -set_serial 01 -out CL_Certificado.pem (obtenemos un certificado firmado por la CA, listo para ser utilizado en el cliente)

2. Crear cliente_ssl (con autenticación) Certificado del Cliente(I)

Page 30: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

x509 –inform PEM –in CL_Certificado.pem –outform DER –out CL_Certificado.crt (opcionalmente podemos obtener el fichero del certificado del cliente en formato *.crt) pkcs12 -export -in CL_Certificado.pem -inkey CL_ClavePrivada.pem -out CL_Certificado.p12 (opcionalmente podemos obtener el fichero del certificado del cliente en formato *.p12, incorporando la clave privada)

2. Crear cliente_ssl (con autenticación) Certificado del Cliente(II)

Page 31: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1. Arranque manual del Servidor mysqld --ssl --ssl-ca=CACertificado.pem –ssl-cert=SR_Certificado.pem --ssl-key=SR_ClavePrivada.pem

2. Arranque automático con el fichero con el fichero de configuración (my.ini)

2. Crear cliente_ssl (con autenticación) Formas de Arranque Servidor

Page 32: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Arranque Manual Servidor Variables SSL

Page 33: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Arranque Automático Servidor Variables SSL

Page 34: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1: Acceso desde línea de Comandos mysql -u cliente_ssl -p --ssl-ca=CACertificado.pem --ssl-cert=CL_Certificado.pem --ssl-key=CL_ClavePrivada.pem 2: Acceso desde el Workbench Creamos desde el workbench una conexion “cliente_ssl” incorporando los paths de los certificados del cliente CA FILE: C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CACertificado.pem SSL CERT C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CL_Certificado.pem SSL KEY FILE: C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CL_ClavePrivada.pem

2. Crear cliente_ssl (con autenticación) Conexión Cliente (I)

Page 35: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

C:\Archivos de programa\MySQL\MySQL Workbench 5.2 CE> mysql -u cliente_ssl –p Enter password: *** ERROR 1045 (28000): Access denied for user 'cliente_ssl'@'localhost' (using pass word: YES) C:\Archivos de programa\MySQL\MySQL Workbench 5.2 CE> mysql -u cliente_ssl -p --ssl-ca=CACertificado.pem --ssl-cert=CL_Certificado.pem--ssl-key=CL_ClavePrivada.pem Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 10 Server version: 5.1.37-log Source distribution mysql> \s -------------- mysql Ver 14.14 Distrib 5.1.40, for Win32 (ia32) Connection id: 10 SSL: Cipher in use is DHE-RSA-AES256-SHA Using delimiter: ; Server version: 5.1.37-log Source distribution Protocol version: 10 Connection: localhost via TCP/IP Client characterset: latin1 Server characterset: latin1 TCP port: 3306 Uptime: 8 min 46 sec

2. Crear cliente_ssl (con autenticación) Conexión Cliente Acceso línea comandos

Page 36: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Acceso workbench cliente_ssl (I)

2. Crear cliente_ssl (con autenticación) Conexión Cliente Acceso MySQL Workbench (I)

Page 37: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

2. Crear cliente_ssl (con autenticación) Conexión Cliente Acceso MySQL Workbench (II)

Page 38: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CREAR USUARIOS SSL (3)

3. Usuario cliente_ssl1: Cliente SSL con Autenticación de usuario, verificando el propietario del certificado

Page 39: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl1'@'%' IDENTIFIED BY 'ssl‘ WITH GRANT OPTION; (Crear el usuario cliente_ssl1“ con clave ssl) GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl1'@'%' IDENTIFIED BY 'ssl' REQUIRE X509; (Al cliente cliente_ssl1 con clave ssl se el exige autenticación a través de un Certificado digital X.509, implícitamente se le exige SSL) GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl1'@'%' IDENTIFIED BY 'ssl‘ REQUIRE SUBJECT '/C=ES/ST=MA/L=BOA/O=FIM/OU=UPM/ CN=CERTIFICADO_CLIENTE_FIRMADO_CA/[email protected]'; (Al cliente cliente_ssl con clave ssl se el exige además tener un certificado concreto) SHOW GRANTS FOR cliente_ssl1; - 'GRANT ALL PRIVILEGES ON *.* TO ''cliente_ssl1''@''%'' IDENTIFIED BY PASSWORD ''*035E199C2E188B7300132D5C991D9E002AB5C150'‘ REQUIRE SUBJECT ''/C=ES/ST=MA/ L=BOA/O=FIM/OU=UPM/CN=CERTIFICADO_CLIENTE_FIRMADO_CA/emailAddress= [email protected]'' WITH GRANT OPTION'

3. Crear cliente_ssl1 (con autenticación) REQUIRE SUBJECT

Configuración en el servidor

Page 40: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1. Arranque manual del Servidor mysqld --ssl --ssl-ca=CACertificado.pem –ssl-cert=SR_Certificado.pem --ssl-key=SR_ClavePrivada.pem

2. Arranque automático con el fichero con el fichero de configuración (my.ini)

3. Crear cliente_ssl1 (con autenticación) REQUIRE SUBJECT

Formas de Arranque Servidor

Page 41: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1: Acceso desde línea de Comandos mysql -u cliente_ssl1 -p --ssl-ca=CACertificado.pem --ssl-cert=CL_Certificado.pem --ssl-key=CL_ClavePrivada.pem (los certificados deben estar accesibles) 2: Acceso desde el Workbench Creamos desde el workbench una conexion “cliente_ssl1” incorporando los paths de los certificados del cliente CA FILE: C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CACertificado.pem SSL CERT C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CL_Certificado.pem SSL KEY FILE: C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CL_ClavePrivada.pem

3. Crear cliente_ssl1 (con autenticación) REQUIRE SUBJECT

Conexión Cliente (I)

Page 42: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

3. Crear cliente_ssl1 (con autenticación) REQUIRE SUBJECT

Conexión Cliente (II)

Page 43: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

3. Crear cliente_ssl1 (con autenticación) REQUIRE SUBJECT

Conexión Cliente (III)

Page 44: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

3. Crear cliente_ssl1 (con autenticación) REQUIRE SUBJECT

Conexión Cliente (IV)

Page 45: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Si no hay coincidencia del “subject” especificado y el “subject” recibido en el fichero mysql.err obtendríamos el siguiente mensaje de error: ****************************************************************************************** Version: '5.1.37-log' socket: '' port: 3306 Source distribution 131001 13:01:54 [Note] X509 subject mismatch: should be '/C=ES/ST=MA/L=BOA/O=FIM/OU=UPM/CN=CERTIFICADO_CLIENTE_FIRMADO_CA/ [email protected]' but is '/C=ES/ST=MA/L=BOA/O=FIM/OU=UPM/ CN=CERTIFICADO_SR_FIRMADO_CA/[email protected]‘ 131001 13:02:01 [Note] C:\XAMPP_28MAR11_LM\xampp\mysql\bin\mysqld.exe: Normal shutdown ********************************************************************************************

3. Crear cliente_ssl1 (con autenticación) REQUIRE SUBJECT

Fichero de logs “mysql.err”

Page 46: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CREAR USUARIOS SSL (4)

4. Usuario cliente_ssl2: Cliente SSL con Autenticación de usuario, verificando el emisor del certificado

Page 47: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl2'@'%' IDENTIFIED BY 'ssl‘ WITH GRANT OPTION; (Crear el usuario cliente_ssl2“ con clave ssl) GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl2'@'%' IDENTIFIED BY 'ssl' REQUIRE X509; (Al cliente cliente_ssl1 con clave ssl se el exige autenticación a través de un Certificado digital X.509, implícitamente se le exige SSL) GRANT ALL PRIVILEGES ON *.* TO 'cliente_ssl2'@'%' IDENTIFIED BY 'ssl‘ REQUIRE ISSUER '/C=ES/ST=MA/L=BOA/O=FIM/OU=UPM/CN=CA_GBD/ [email protected]'; (Al cliente cliente_ssl con clave ssl se el exige además tener un certificado emitido por una Autoridad de Certificación concreta) SHOW GRANTS FOR cliente_ssl2; - 'GRANT ALL PRIVILEGES ON *.* TO ''cliente_ssl2''@''%'' IDENTIFIED BY PASSWORD ''*035E199C2E188B7300132D5C991D9E002AB5C150'' REQUIRE ISSUER ''/C=ES/ST=MA/L=BOA/O=FIM/OU=UPM/CN=CA_GBD/[email protected]'‘ WITH GRANT OPTION'

3. Crear cliente_ssl2 (con autenticación) REQUIRE ISSUER

Configuración en el servidor

Page 48: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1. Arranque manual del Servidor mysqld --ssl --ssl-ca=CACertificado.pem –ssl-cert=SR_Certificado.pem --ssl-key=SR_ClavePrivada.pem

2. Arranque automático con el fichero con el fichero de configuración (my.ini)

4. Crear cliente_ssl2 (con autenticación) REQUIRE ISSUER

Formas de Arranque Servidor

Page 49: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

1: Acceso desde línea de Comandos mysql -u cliente_ssl2 -p --ssl-ca=CACertificado.pem --ssl-cert=CL_Certificado.pem --ssl-key=CL_ClavePrivada.pem (los certificados deben estar accesibles) 2: Acceso desde el Workbench Creamos desde el workbench una conexion “cliente_ssl2” incorporando los paths de los certificados del cliente CA FILE: C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CACertificado.pem SSL CERT C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CL_Certificado.pem SSL KEY FILE: C:\Archivos de programa\MySQL\CONFIGURACION_MYSQL_SSL\CLIENTE_SSL\CL_ClavePrivada.pem

4. Crear cliente_ssl2 (con autenticación) REQUIRE ISSUER

Conexión Cliente (I)

Page 50: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

4. Crear cliente_ssl2 (con autenticación) REQUIRE ISSUER

Conexión Cliente (II)

Page 51: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

4. Crear cliente_ssl2 (con autenticación) REQUIRE ISSUER

Conexión Cliente (III)

Page 52: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

4. Crear cliente_ssl2 (con autenticación) REQUIRE ISSUER

Conexión Cliente (IV)

Page 53: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Si no hay coincidencia del “issuer” especificado y el “issuer” recibido en el fichero mysql.err obtendríamos el siguiente mensaje de error: ****************************************************************************************** Version: '5.1.37-log' socket: '' port: 3306 Source distribution 131001 17:38:58 [Note] X509 issuer mismatch: should be '/C=ES/ST=MA/L=BOA/O=FIM/OU=UPM/ CN=CA_GBD/[email protected]' but is '/C=es/ST=ma/O=FIM/OU=UPM/ CN=LMENGUAL_CA/[email protected]' ********************************************************************************************

4. Crear cliente_ssl2 (con autenticación) REQUIRE ISSUER

Fichero de logs “mysql.err”

Page 54: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO

Page 55: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Dirección IP Máquina Virtual

Page 56: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Acceso desde la máquina real (I)

Page 57: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Arranque Monitor tráfico

Page 58: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Acceso desde la máquina real (I)

Page 59: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Captura Consulta SQL

Page 60: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Cliente_ssl0 desde Máquina Real (I)

Page 61: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Cliente_ssl0 desde Máquina Real (II)

Page 62: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Cliente_ssl0 desde Máquina Real (III)

Page 63: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Cliente_ssl0 desde Máquina Real (IV)

Page 64: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

CAPTURA TRÁFICO Cliente_ssl desde Máquina Real (V)

Page 65: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

Verificación Certificado Servidor (I)

Page 66: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

C:\Archivos de programa\MySQL\MySQL Workbench 5.2 CE> mysql -u cliente_ssl0 -p –h "127.0.0.1" --ssl-ca=CACertificado.pem --ssl-verify-server-cert Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 5 Server version: 5.1.37-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> \s -------------- mysql Ver 14.14 Distrib 5.1.40, for Win32 (ia32) Connection id: 5 SSL: Cipher in use is DHE-RSA-AES256-SHA Using delimiter: ; Server version: 5.1.37-log Source distribution Protocol version: 10 Connection: 127.0.0.1 via TCP/IP Client characterset: latin1 Server characterset: latin1 TCP port: 3306 Uptime: 7 min 50 sec Threads: 3 Questions: 29 Slow queries: 0 Opens: 22 Flush tables: 1 Open tab les: 13 Queries per second avg: 0.61

Verificación Certificado Servidor (I) Sin Autenticación de Cliente

Page 67: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

C:\Archivos de programa\MySQL\MySQL Workbench 5.2 CE> mysql -u cliente_ssl0 -p –h "127.0.0.1" --ssl-ca=CACertificado.pem --ssl-verify-server-cert Enter password: *** ERROR 2026 (HY000): SSL connection error

Verificación Certificado Servidor (II) Sin Autenticación de Cliente

Page 68: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

C:\Archivos de programa\MySQL\MySQL Workbench 5.2 CE> mysql -u cliente_ssl -p –h "127.0.0.1" --ssl-ca=CACertificado.pem --ssl-cert=CL_Certificado.pem --ssl-key=CL_ClavePrivada.pem --ssl-verify-server-cert Enter password: *** Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 1 Server version: 5.1.37-log Source distribution mysql> \s -------------- mysql Ver 14.14 Distrib 5.1.40, for Win32 (ia32) Connection id: 1 SSL: Cipher in use is DHE-RSA-AES256-SHA Using delimiter: ; Server version: 5.1.37-log Source distribution Protocol version: 10 Connection: 127.0.0.1 via TCP/IP Client characterset: latin1 Server characterset: latin1 TCP port: 3306 Uptime: 37 sec Thre ads: 1 Questions: 4 Slow queries: 0 Opens: 19 Flush tables: 1 Open tabl es: 12 Queries per second avg: 0.108 --------------

Verificación Certificado Servidor (I) Con Autenticación de Cliente

Page 69: Estableciendo Sesiones SSL en MySQLlmengual/GESTION_BD/GBD_ACCESO_SSL.… · MySQL Workbench (I) Gestión de Bases de Datos LUIS MENGUAL (c) Conexión Cliente root ssl MySQL Workbench

LUIS MENGUAL (c) Gestión de Bases de Datos

C:\Archivos de programa\MySQL\MySQL Workbench 5.2 CE> mysql -u cliente_ssl -p –h "127.0.0.1" --ssl-ca=CACertificado.pem --ssl-cert=CL_Certificado.pem --ssl-key=CL_ClavePrivada.pem --ssl-verify-server-cert Enter password: *** ERROR 2026 (HY000): SSL connection error

Verificación Certificado Servidor (II) Con Autenticación de Cliente