自从我的 Debian 服务器上最新的 openssl 升级以来,我的 mysql 客户端无法连接并显示以下消息
SSL connection error: error:14082174:SSL routines:SSL3_CHECK_CERT_AND_ALGORITHM:dh key too small
我猜这是为了防止僵局攻擊。
谢谢https://weakdh.org/sysadmin.html我知道如何生成更强大的 Diffie-Hellman 参数。但是,我没有找到任何可以实际使用这些参数的 MySQL 配置选项。
有人知道吗?
答案1
MySQL 5.7.6 发行说明包含以下内容:
安全修复:由于 LogJam 问题(https://weakdh.org/), OpenSSL 已更改 openssl-1.0.1n 及更高版本的 Diffie-Hellman 密钥长度参数。OpenSSL 已在以下网址提供详细说明:http://openssl.org/news/secadv_20150611.txt。为了在 MySQL 中采用此更改,vio/viosslfactories.c 中用于创建 Diffie-Hellman 密钥的密钥长度已从 512 位增加到 2,048 位。(Bug #77275、Bug #21221862、Bug #18367167、Bug #21307471)
由此看来,在 MySQL 5.7.6 之前,DH 大小被硬编码为 512 位(永久僵局?)。由于 OpenSSL 的更高版本拒绝这些弱密钥,因此升级 OpenSSL 而不升级 MySQL 似乎会破坏一切。