YANO's digital garage

Copyright ©YANO All rights reserved. https://www.bravotouring.com/~yano/

Last-modified: 2024-04-08 (月)


[一語一絵/IT系]

SSL 3.0に花束を / 2014-10-22 (水)

Googleが公表した[External]POODLE : exploiting the SSL 3.0 fallback。安全の代名詞のように使われている"SSL"で使用されるCBC暗号アルゴリズムに欠陥があり、暗号化トラフィックの一部(Cookie等)を解読される恐れがあるそうな。

「SSL2.0/3.0での接続を禁止する」にチェック
秀丸メールのアカウント設定より

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を使ってたアプリが全滅した」という話もあるので、思わぬところで波紋が拡がる可能性もある。

[External]OpenSSL Security Advisory [15 Oct 2014]では1.0.1j、1.0.0o、0.9.8zcが出たので、アプリも続々と更新中。Google Chromeは特に意識しなくても最新版にアップデートされているはずだが、Firefoxは11月25日にリリース予定の「Firefox 34」まで待たなくてはならない模様。[External]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