FREAK Attach

最近ssl系の脆弱性発見多いですね。ということでFREAK Attackです。 サーバー側の対応としては、輸出グレード暗号化のサポートをしないように設定することが必要のようです。

Qualys SSL Labsサイトで確認するのも良いでしょう。 もっと簡単に、素早く確認したい場合は下記のコマンドでも確認できるようです。

$ openssl s_client -connect <サーバー>:443 -cipher EXPORT

参考:Akamai Addresses CVE 2015-0204 Vulnerability

試してみた

ローカルのapache設定を変更してどういう結果になるか確認しました。

輸出グレード暗号化をサポートした状態

  • apacheの設定(大抵は ssl.confに記述があると思います)
  • SSLCipherSuiteディレクティブ+EXP(or +EXPORT) を記述します。!EXP(or !EXPORT)の記述は削除します。
SSLCipherSuite ALL:!ADH:+EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
  • この状態で試すと、下記のような応答でした。正常にハンドシェイクできたようです。つまり、輸出グレード暗号化をサポートしているということになります。
$ openssl s_client -connect example.com:443 -cipher EXPORT
CONNECTED(00000003)
depth=0 C = JP, ST = Some....
verify error:num=18:self signed certificate

(snip)

verify return:1
Server certificate
-----BEGIN CERTIFICATE-----
MIICjTCCAfYCCQCHI2CZWtoFlzANBgkqhkiG9w0BAQUFADCBijELMAkGA1UEBhMC

(snip)

SSL handshake has read 1092 bytes and written 199 bytes
---
New, TLSv1/SSLv3, Cipher is EXP-EDH-RSA-DES-CBC-SHA
Server public key is 1024 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
SSL-Session:
    Protocol  : TLSv1
    Cipher    : EXP-EDH-RSA-DES-CBC-SHA

(snip)

    Timeout   : 300 (sec)
    Verify return code: 18 (self signed certificate)
---

輸出グレード暗号化をサポートしない状態

SSLCipherSuite ALL:!ADH:+EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
  • この状態で試すと、下記のような応答でした。ハンドシェイク失敗です。輸出グレード暗号化は非サポート状態となりました。
$ openssl s_client -connect example.com:443 -cipher EXPORT
CONNECTED(00000003)
2348736:error:14077410:SSL routines:SSL23_GET_SERVER_HELLO:sslv3 alert handshake failure:s23_clnt.c:762:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 7 bytes and written 73 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---

facebook slideshare rubygems github qiita