Googleが公表したPOODLE : exploiting the SSL 3.0 fallback。安全の代名詞のように使われている"SSL"で使用されるCBC暗号アルゴリズムに欠陥があり、暗号化トラフィックの一部(Cookie等)を解読される恐れがあるそうな。
秀丸メールのアカウント設定より |
SSL 3.0って何となく新しいような印象があるのだが、18年前に規定された比較的古いプロトコルだったんだねぇ。
対処のポイントはSSL 2.0/3.0ではなくTLS接続にすれば良いという事だが、接続相手がTLS非対応だった場合にSSLにダウングレードしないよう担保する為に「SSL 2.0/3.0は使用禁止」とするのが肝要だ。
手元の環境でもアウトソース先のメールサーバに突然繋がらなくなって慌てたが、秀丸メールの設定で「SSL2.0/3.0での接続を禁止する」にチェックを入れる事で無事解決。
「TwitterやFacebookがSSL 3.0を素早く無効化したためAPIを使ってたアプリが全滅した」という話もあるので、思わぬところで波紋が拡がる可能性もある。
OpenSSL Security Advisory [15 Oct 2014]では1.0.1j、1.0.0o、0.9.8zcが出たので、アプリも続々と更新中。Google Chromeは特に意識しなくても最新版にアップデートされているはずだが、Firefoxは11月25日にリリース予定の「Firefox 34」まで待たなくてはならない模様。WinSCPも5.5.6で対応したので忘れずに。
最後に、サーバの設定を変更してSSL 3.0と決別する手順を記しておく。
まずはapacheの設定ファイル/etc/apache2/mods-available/ssl.conf
yano@vps:~$ diff -bc /etc/apache2/mods-available/ssl.conf.orig /etc/apache2/mods-available/ssl.conf
*** /etc/apache2/mods-available/ssl.conf.orig 2014-01-07 22:24:23.000000000 +0900
--- /etc/apache2/mods-available/ssl.conf 2014-10-21 10:34:18.754666623 +0900
***************
*** 74,80 ****
# The protocols to enable.
# Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
# SSL v2 is no longer supported
! SSLProtocol all
# Allow insecure renegotiation with clients which do not yet support the
# secure renegotiation protocol. Default: Off
--- 74,81 ----
# The protocols to enable.
# Available values: all, SSLv3, TLSv1, TLSv1.1, TLSv1.2
# SSL v2 is no longer supported
! # SSLProtocol all
! SSLProtocol -all +TLSv1 +TLSv1.1 +TLSv1.2
# Allow insecure renegotiation with clients which do not yet support the
# secure renegotiation protocol. Default: Off
yano@vps:~$ sudo service apache2 reload
続いてpostfixの設定ファイル/etc/postfix/main.cf
yano@vps:~$ diff -bc /etc/postfix/main.cf.orig /etc/postfix/main.cf
*** /etc/postfix/main.cf.orig 2014-09-02 14:45:14.264718652 +0900
--- /etc/postfix/main.cf 2014-10-22 23:25:11.444486071 +0900
***************
*** 77,83 ****
home_mailbox = Maildir/
smtp_use_tls = yes
smtpd_tls_received_header = yes
! smtpd_tls_mandatory_protocols = SSLv3, TLSv1
smtpd_tls_mandatory_ciphers = medium
#smtpd_tls_auth_only = yes
smtpd_tls_auth_only = no
--- 77,84 ----
home_mailbox = Maildir/
smtp_use_tls = yes
smtpd_tls_received_header = yes
! # smtpd_tls_mandatory_protocols = SSLv3, TLSv1
! smtpd_tls_mandatory_protocols = TLSv1
smtpd_tls_mandatory_ciphers = medium
#smtpd_tls_auth_only = yes
smtpd_tls_auth_only = no
yano@vps:~$ sudo service postfix restart
最後にdovecotの設定ファイル/etc/dovecot/conf.d/10-ssl.conf
yano@vps:~$ diff -bc /etc/dovecot/conf.d/10-ssl.conf.orig /etc/dovecot/conf.d/10-ssl.conf
*** /etc/dovecot/conf.d/10-ssl.conf.orig 2014-06-09 13:11:59.444922703 +0900
--- /etc/dovecot/conf.d/10-ssl.conf 2014-10-22 23:34:43.128066688 +0900
***************
*** 49,54 ****
--- 49,55 ----
# SSL protocols to use
#ssl_protocols = !SSLv2
+ ssl_protocols = !SSLv2 !SSLv3
# SSL ciphers to use
#ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL
yano@vps:~$ sudo doveadm reload
何となく最後の"ssl_cipher_list"にも!SSLv3を入れたくなるところが、"cipher"はOpenSSLで扱う暗号化アルゴリズム(AES128-SHAやDHE-DSS-AES256-SHAなど)のセットを表すもの。暗号化アルゴリズムについてSSLv3とTLSv1の仕様は完全に同一になっている事から、SSLv3の暗号化アルゴリズムを除外すると言う事はTLSv1の暗号化もNGという事になるので、ここにも!SSLv3を入れてしまうと誰も接続できなくなるので、"ssl_cipher_list"は触らないのが正解。
【参照】
●Google Online Security Blog http://googleonlinesecurity.blogspot.jp/
┗This POODLE bites: exploiting the SSL 3.0 fallback 2014年10月14日
●Symantec Connect http://www.symantec.com/connect/
┗Poodle: 古いバージョンの SSL の脆弱性がもたらす新しい脅威 2014年10月20日
●マイクロソフト TechNet オンライン http://technet.microsoft.com/ja-jp/
┗マイクロソフト セキュリティ アドバイザリ 3009008 2014年10月15日
●INTERNET Watch http://internet.watch.impress.co.jp/
┗Google、SSL 3.0の脆弱性「POODLE」を公表、SSL 3.0は今後サポート廃止の意向 2014年10月15日
●CIO Magazine http://itpro.nikkeibp.co.jp/ciomagazine/
┗SSL 3.0の深刻な脆弱性「POODLE」、専門家が警告 - CIOニュース 2014年10月17日
●マイナビニュース http://news.mynavi.jp/
┗シマンテック、SSL 3.0の脆弱性「Poodle」のリスクと対処法を解説 2014年10月20日
●あすのかぜ http://d.hatena.ne.jp/ASnoKaze/
┣TLSのダウングレード攻撃を防ぐSCSVとは 2014年10月15日
┗SCSVを実際に試す 2014年10月16日
●徒然メモ http://www.nullpop.net/
┗CVE-2014-3566 POODLEの対応 2014年10月16日
●自堕落な技術者の日記 http://blog.livedoor.jp/k_urushima/
┗様々なサーバーのPOODLE SSLv3脆弱性(CVE-2014-3566)対策のまとめ(更新2) 2014年10月18日
●IPA 独立行政法人 情報処理推進機構 https://www.ipa.go.jp/
┗SSL 3.0 の脆弱性対策について(CVE-2014-3566) 2014年10月17日
●Common Vulnerabilities and Exposures (CVE) https://cve.mitre.org/
┗CVE-2014-3566
●Wikipedia http://ja.wikipedia.org/wiki/
┗Transport Layer Security