SSL 3.0 の脆弱性 POODLE の確認と対応
脆弱性の内容
グーグルのセキュリティチーム、SSL 3.0の脆弱性「POODLE」を説明 - ZDNet Japan
SSL 3.0 で接続できるかの確認
- openssl コマンドの
s_client
,-ssl3
オプションを使って確認できる.
接続できるとき
[root@hogehoge ~]# openssl s_client -connect 127.0.0.1:443 -ssl3 | cat -n <<< snip >>> 48 --- 49 New, TLSv1/SSLv3, Cipher is RC4-SHA 50 Server public key is 2048 bit 51 Secure Renegotiation IS NOT supported 52 Compression: NONE 53 Expansion: NONE 54 SSL-Session: 55 Protocol : SSLv3 56 Cipher : RC4-SHA 57 Session-ID: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 58 Session-ID-ctx: 59 Master-Key: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX 60 Key-Arg : None 61 Krb5 Principal: None 62 PSK identity: None 63 PSK identity hint: None 64 Start Time: 1413353391 65 Timeout : 7200 (sec) 66 Verify return code: 0 (ok) 67 --- <<< snip >>>
接続できないとき
[root@hogehoge ~]# openssl s_client -connect 127.0.0.1:443 -ssl3 | cat -n <<< snip >>> 8 --- 9 New, (NONE), Cipher is (NONE) 10 Secure Renegotiation IS NOT supported 11 Compression: NONE 12 Expansion: NONE 13 SSL-Session: 14 Protocol : SSLv3 15 Cipher : 0000 16 Session-ID: 17 Session-ID-ctx: 18 Master-Key: 19 Key-Arg : None 20 PSK identity: None 21 PSK identity hint: None 22 SRP username: None 23 Start Time: 1413352529 24 Timeout : 7200 (sec) 25 Verify return code: 0 (ok) 26 --- <<< snip >>>
対応
nginx
- http://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_protocols
ssl_protocols
ディレクティブにSSLv3
を指定しない.
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
Apache
- http://httpd.apache.org/docs/2.2/mod/mod_ssl.html#sslprotocol
SSLProtocol
でSSLv3を無効にする.
SSLProtocol All -SSLv2 -SSLv3
ZWS (Zeus Web Server)
- 使ってる人いないと思うけど一応.
global.cfg
のディレクティブtuning!support_ssl3
で無効にできる.
tuning!support_ssl3 no