ども、犬はプードルよりも雑種が好きなかっぱ(@inokara)です。
Poodle Attacks
SSL 3.0 の脆弱性が下記の通り報告されています。
- CVE-2014-3566 Advisory
- POODLE attacks on SSLv3 (14 Oct 2014)
- This POODLE Bites: Exploiting The SSL 3.0 Fallback
- The POODLE Attack and the End of SSL 3.0
Poodle Attacks の取り急ぎの対策として SSLv3 の無効が推奨されているようです。
SSL / TLS
- Transport Layer Security←読み応えあり
取り急ぎメモ(無効にする方法)
HAProxy でも 1.5 以降で SSL が正式にサポートされていますので影響を受ける可能性はありますので対策は施しておきたいものです。HAProxy では bind オプションに続いて以下を指定します。
bind :443 ssl crt haproxy.pem no-sslv3
こちらの HAProxy version 1.5.6 – Configuration Manual に書かれていますね。尚、設定後は haproxy を reload する必要があります。
ちなみに haproxy の reload は graceful な再起動(プロセスを複製して接続中のプロセス処理を行い、処理が終わったら古いプロセスは自動で落ちる)な為、無停止での適用が可能かと思います。
実験
openssl コマンド
以下のようにクライアントコマンドにて確認します。
openssl s_client -connect localhost:443 -ssl3
SSLv3 有効
CONNECTED(00000003) depth=0 C = JP, ST = Tokyo, L = Minato-ku, O = Iret, CN = ha.test.inokara.com verify error:num=18:self signed certificate verify return:1 depth=0 C = JP, ST = Tokyo, L = Minato-ku, O = Iret, CN = ha.test.inokara.comverify return:1
Certificate chain 0 s:/C=JP/ST=Tokyo/L=Minato-ku/O=Iret/CN=ha.test.inokara.comi:/C=JP/ST=Tokyo/L=Minato-ku/O=Iret/CN=ha.test.inokara.com
Server certificate -----BEGIN CERTIFICATE----- MIIDODCCAiACCQDulT2XEfkhNTANBgkqhkiG9w0BAQUFADBeMQswCQYDVQQGEwJK (略) K92HWDTQMk46w1w3y0kNrCr7QAVW+2IQC+kwubLRA93Wb3Qcneq8aI1/vDTGPaqz 3wpnPZuSzwqLrg35 -----END CERTIFICATE----- subject=/C=JP/ST=Tokyo/L=Minato-ku/O=Iret/CN=ha.test.inokara.comissuer=/C=JP/ST=Tokyo/L=Minato-ku/O=Iret/CN=ha.test.inokara.com
No client certificate CA names sentServer Temp Key: ECDH, prime256v1, 256 bits
SSL handshake has read 1349 bytes and written 274 bytes
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA Server public key is 2048 bit Secure Renegotiation IS supported Compression: NONE Expansion: NONE SSL-Session: Protocol : SSLv3 Cipher : ECDHE-RSA-AES256-SHA Session-ID: B5F0CC553582A628F5074E7098E32F4BFD173495445DDB070F37115C0E401242 Session-ID-ctx: Master-Key: 5D8C93B039C70331FC832ABC8FC989027CF90EC7242697111E9E151EF175F302ACB79C41A5C630ECF52679B6462BC315 Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None Start Time: 1413349822 Timeout : 7200 (sec)Verify return code: 18 (self signed certificate)
SSLv3 無効
見事にネゴシエーション部分でエラーとなります。
CONNECTED(00000003) 140286305711944:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1275:SSL alert number 40140286305711944:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:598:
no peer certificate available
No client certificate CA names sent
SSL handshake has read 7 bytes and written 0 bytes
New, (NONE), Cipher is (NONE) Secure Renegotiation IS NOT supported Compression: NONE Expansion: NONE SSL-Session: Protocol : SSLv3 Cipher : 0000 Session-ID: Session-ID-ctx: Master-Key: Key-Arg : None Krb5 Principal: None PSK identity: None PSK identity hint: None Start Time: 1413349915 Timeout : 7200 (sec)Verify return code: 0 (ok)
最近…
脆弱性の報告が頻発していますね…。引続き、注意していきたいと思います!
元記事はこちらです。
「HAProxy で SSLv3 を無効にする方法」