自從我的 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 位元。 (錯誤#77275、錯誤#21221862、錯誤#18367167、錯誤#21307471)
由此可見,在 5.7.6 之前的 MySQL 中,DH 大小被硬編碼為 512 位元(永久阻塞?)。由於 OpenSSL 的更高版本拒絕這些弱金鑰,因此在不升級 MySQL 的情況下升級 OpenSSL 似乎會破壞一些東西。