huruyosi’s blog

プログラミングとかインフラとかのメモです。

UltraMonkey-L7 の sslproxy に Logjam 対策を行う

Firefox ver39 で サイトにアクセスできなくなってしまった。

Firefox でアクセスすると

SSL received a weak ephemeral Diffie-Hellman key in Server Key Exchange handshake message. (エラーコード: ssl_error_weak_server_ephemeral_dh_key) というエラーが出るようになりました。

Firefox 39 サイト互換性情報 - Mozilla | MDN の 「1023 ビット未満の DHE キーは受け入れられなくなりました」にしています。

対応

DHE鍵の鍵長が512 だったので 2048 にします。

www.agilegroup.co.jp

を参考にして、sslproxy に適用します。

鍵長を 2048 bit にして作成

$ sudo openssl dhparam -out /etc/l7vs/sslproxy/dh2048.pem 2048

/etc/l7vs/sslproxy/sslproxy.target_1.cf を修正

/etc/l7vs/sslproxy/sslproxyadm.cf に sslproxyadm.cf:conf_file = "/etc/l7vs/sslproxy/sslproxy.target_1.cf"と定義されているので /etc/l7vs/sslproxy/sslproxy.target_1.cfを修正します。

ssl_options = "SSL_OP_NO_SSLv2"
ssl_options = "SSL_OP_NO_SSLv3"
tmp_dh_file = "dh2048.pem"
cipher_list = "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"
  • 上の二つで SSL の v2とv3 の の利用を禁止します。
  • tmp_dh_file に 2048bit で作り直したDHE鍵を指定します。
  • cipher_list で exportを禁止します。(たぶん)

変更後に再起動して https://weakdh.org/sysadmin.html で自サイトの検査を行い、 Good News! This site uses strong (2048-bit or better) key exchange parameters and is safe from the Logjam attack. なりました。