Как исправить уязвимость Logjam с MySQL
После последнего обновления openssl на моем сервере Debian мои клиенты mysql не могут подключиться и выдают следующее сообщение
SSL connection error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
Я предполагаю, что это предотвращает атаки Logjam.
Благодаря https://weakdh.org/sysadmin.html я знаю, как генерировать более сильные параметры Диффи-Хеллмана. Тем не менее, я не нашел ни одного варианта конфигурации MySQL, чтобы использовать их.
Кто-нибудь знает?
2 ответа
Замечания к выпуску MySQL 5.7.6 содержат следующее:
Исправление безопасности: из-за проблемы LogJam ( https://weakdh.org/) OpenSSL изменил параметры длины ключа Диффи-Хеллмана для openssl-1.0.1n и выше. OpenSSL предоставил подробное объяснение по адресу http://openssl.org/news/secadv_20150611.txt. Чтобы принять это изменение в MySQL, длина ключа, используемого в vio / viosslfactories.c для создания ключей Диффи-Хеллмана, была увеличена с 512 до 2048 бит. (Ошибка № 77275, Ошибка № 21221862, Ошибка № 18367167, Ошибка № 21307471)
Из этого следует, что размер DH был жестко закодирован до 512 бит в MySQL до 5.7.6 (постоянная ошибка?). Поскольку более поздние версии OpenSSL отвергают эти слабые ключи, обновление OpenSSL без обновления MySQL, кажется, ломает вещи.
Мы смогли исправить наши проблемы с подключением, заставив использовать шифр без Diffie-Hellman SSL.
С нашим клиентом mysql 5.5.42 для Linux мы успешно указали
--ssl-cipher=AES256-SHA
опция командной строки, как указано в этом отчете об ошибках.Наш (Java7) MySQL 5.1.35 jdbc клиент, однако, не любил этот шифр, но работал, когда мы указали
enabledSSLCipherSuites=TLS_RSA_WITH_AES_128_CBC_SHA
в нашей строке подключения, как рекомендуется здесь.
YMMV