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

Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

  • Upload
    dinhnhi

  • View
    232

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Estableciendo Sesiones SSL en MySQL

Page 2: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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

Page 4: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

2. 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)

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

Page 5: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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)

Crear certificados Certificado del Servidor (I)

Page 7: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Arranque Manual Servidor Variables SSL

Page 10: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

mysql -u root --ssl-ca=CACertificado.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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Si no están bien cargados los certificados saldría lo siguiente: mysql -u root --ssl-ca=CACertificado.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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Conexión Cliente root ssl MySQL Workbench (I)

Page 15: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Conexión Cliente root ssl MySQL Workbench (II)

Page 16: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

ssl ssl-ca = "C:/xampp/mysql/CONFIGURACION_MYSQL_SSL/SERVER/CACertificado.pem" ssl-cert = "C:/xampp/mysql/CONFIGURACION_MYSQL_SSL/SERVER/SR_Certificado.pem" ssl-key = "C:/xampp/mysql/CONFIGURACION_MYSQL_SSL/SERVER/SR_ClavePrivada.pem" ssl-capath = "C:/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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Arranque Automático Servidor Variables SSL

Page 18: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 26: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 27: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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 02 -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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Arranque Manual Servidor Variables SSL

Page 33: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Arranque Automático Servidor Variables SSL

Page 34: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 38: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Conexión Cliente (II)

Page 43: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Conexión Cliente (III)

Page 44: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Conexión Cliente (IV)

Page 45: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Conexión Cliente (II)

Page 51: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Conexión Cliente (III)

Page 52: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Conexión Cliente (IV)

Page 53: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

CAPTURA TRÁFICO

Page 55: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 56: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 57: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

CAPTURA TRÁFICO Arranque Monitor tráfico

Page 58: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 59: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

CAPTURA TRÁFICO Captura Consulta SQL

Page 60: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 61: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 62: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 63: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 64: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

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

Page 65: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) Bases de Datos

Verificación Certificado Servidor (I)

Page 66: Estableciendo Sesiones SSL en MySQLlmengual/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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/bases_datos/BD_ACCESO_SSL.pdf · MySQL Workbench (II) Bases de Datos LUIS MENGUAL (c) CREAR USUARIOS SSL (2) 2. Usuario cliente_ssl: Cliente

LUIS MENGUAL (c) 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