Desde la última actualización de openssl en mi servidor Debian, mis clientes mysql no pueden conectarse y muestran el siguiente mensaje
SSL connection error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
Supongo que esto es para prevenirAtolladeroataques.
Gracias ahttps://weakdh.org/sysadmin.htmlSé cómo puedo generar parámetros Diffie-Hellman más fuertes. Sin embargo, no encuentro ninguna opción de configuración de MySQL para usarlas.
¿Alguien sabe?
Respuesta1
Las notas de la versión MySQL 5.7.6 contienen lo siguiente:
Solución de seguridad:Debido al problema de LogJam (https://weakdh.org/), OpenSSL ha cambiado los parámetros de longitud de la clave Diffie-Hellman para openssl-1.0.1ny versiones posteriores. OpenSSL ha proporcionado una explicación detallada enhttp://openssl.org/news/secadv_20150611.txt. Para adoptar este cambio en MySQL, la longitud de la clave utilizada en vio/viosslfactories.c para crear claves Diffie-Hellman se ha aumentado de 512 a 2048 bits. (Error n.° 77275, Error n.° 21221862, Error n.° 18367167, Error n.° 21307471)
De esto se desprende que el tamaño DH estaba codificado en 512 bits en MySQL antes de 5.7.6 (¿atasco permanente?). Como las versiones posteriores de OpenSSL rechazan estas claves débiles, actualizar OpenSSL sin actualizar MySQL parece romper las cosas.
Respuesta2
Pudimos solucionar nuestros problemas de conexión forzando el uso de un cifrado SSL que no sea Diffie-Hellman.
Con nuestro cliente Linux mysql 5.5.42 tuvimos éxito al especificar la
--ssl-cipher=AES256-SHA
opción de línea de comando, como se especifica enesteinforme de error.A nuestro cliente jdbc (Java7) MySQL 5.1.35, sin embargo, no le gustó ese cifrado, pero funcionó cuando lo especificamos
enabledSSLCipherSuites=TLS_RSA_WITH_AES_128_CBC_SHA
en nuestra cadena de conexión, como se recomienda.aquí.
YMMV