CVE-2014-3566 POODLEの対応

POODLE(CVE-2014-3566)とは

  • 2014/10/14にGoogleが発表したSSLv3のぜい弱性
  • Padding Oracle On Downgraded Legacy Encryption の頭文字をとって POODLE
  • この攻撃を受けるとパスワードとかcookie情報が平文で見れる等の被害がある可能性がある
  • 対策方法はSSLv3を使うな
  • サーバはもちろんクライアントも対象

影響範囲

SSLv3を有効にしているサーバ、クライアント全て。
TLSv1には影響なし。

確認方法

openssl s_client -ssl3 -connect [HOSTNAME or IPADDRESS]:[PORT]

このコマンドを実行して正常な応答が返ってくる場合は対象です。

具体的な対策方法

サーバ編

  • Apachessl.confを以下のように書き換える
    SSLProtocol all -SSLv2 -SSLv3

    その後サービス再起動を行って完了

  • Nginxserverディレクティブのssl_protocolsを以下のように設定
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;

    その後サービス再起動を行って完了

  • postfixmain.cfに以下のように設定
    postfixの場合は利用しているバージョンによって微妙に記述がことなるので注意

    • postfix2.5以上だと
      smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3
    • postfix 2.3、2.4だと
      smtpd_tls_mandatory_protocols = TLSv1

    その後サービス再起動を行って完了

  • courier-imapimapd-ssl、pop3d-sslを以下のように変更
    TLS_PROTOCOL=TLS1 

    その後サービス再起動を行って完了

  • dovecot
  • 2015/01/27追記:
    CentOS5も6も現在は脆弱性対応されたパッチが適用されたパッケージが公式レポジトリで配布されています。
    2.1同様の記述をconfに書くだけで対策できます。

    TLSに対応しているのはバージョン2.1からそれ以外ものはTLS未対応なのでパッチを当てて再コンパイルが必要
    TLSに対応してないわけではなかったので修正。桜井様ありがとうございます。TLSには対応しているが設定ファイルから明示的にSSLv3での接続を禁止できない。
    設定ファイルで明示的に禁止できるのはバージョン2.1から

    CentOS5系だと1.0.7
    CentOS6系だと2.0.9
    なのでそれぞれ未対応。
    別途ソースからコンパイルするかSRPMにパッチあててビルドするかの対応が必要となる。

    http://www.mail-archive.com/dovecot@dovecot.org/msg59945.html

    このパッチ1.0.7だとどうもうまく動かなかった。
    2系だけなのかな

    2.1の場合は以下の記述を書く

    ssl_protocols = !SSLv2 !SSLv3

 

クライアント編

  • Windows7 IE11デフォルトの設定だとNG
    インターネットオプション → 詳細設定 → SSL3.0を使用するのチェックを外す → 適用をクリック
    
  • Windows7 FireFoxバージョン34で対応予定11月25日に出るらしい
  • Windows7 ChromeChrome38の時点ではNG

まとめ

サーバ、クライアントでSSLv3を無効にしたりアップデート可能なソフトはアップデートを行い最新版を使いましょう。
特にブラウザをはじめとしたクライアントソフトはよっぽどの理由がない限りあげちゃいましょう。

SSLv3自体15年前の実装らしいのでぜい弱性が出てくるのは仕方ないですね。

また既にサポート終了したWindowsXP、IE6だとデフォルトでTLSがオフになっているのでSSLv3をオフにすると
WEBページ等につながらないといったことも起きるみたいです。
でもサポート終了してるしシカタナイネ。

こちらからは以上です。

参考サイト

  • http://dev.classmethod.jp/cloud/aws/cve-2014-3566-poodle-issue/
  • https://www.openssl.org/~bodo/ssl-poodle.pdf
  • http://www.postfix.org/TLS_README.html
  • http://www.itmedia.co.jp/news/articles/1410/15/news054.html


2 thoughts on “CVE-2014-3566 POODLEの対応

  • 桜井

    CentOS6のdovecotですが、TLSに対応していると思われます。
    imap-loginのログに%kを追加すると接続の詳細が(TLS/SSL)が表示されますが、クライアント側の指定に応じて
     SSLv3 with cipher RC4-SHA (128/128 bits)
     TLSv1 with cipher AES128-SHA (128/128 bits)
     TLSv1.2 with cipher DHE-RSA-AES128-SHA (128/128 bits)
    のようにログの内容が変化しました。
    デフォルトでログに設定されている%cは最初のSSLv3と表示されるケースでもTLSとでるので過去に遡った調査はできませんが。

    dovecot2.0.9でできない事はSSLv3での接続を明示的に禁止する事だと思います。
    現状ではimapsを使えなくしてimapのみとし、disable_plaintext_auth=yes, ssl=requiredとするのが良さそうですが、
    影響が大きいので動作の確認はできていませんけど。

    紹介されているパッチは ssl_cipher_list = ALL:!LOW:!SSLv2:!EXP:!aNULL:!SSLv3 と設定するのと
    同じ事だと思われますが、dovecot起動時にエラーにはなりませんが、この設定はtcpdumpで見ている範囲では
    SSL/TLSのライブラリがエラーとしているようです。

    Reply
  • 桜井

    少し昨日書いた事の訂正です。dovecot2.0.9のssl_cipher_listは2.1以降?のssl_protocolsとは別物なので、ssl_cipher_listに!SSLv3を書いてもダメなようです。(誰も接続できなくなるだけ)
    メールの場合、不特定の人がアクセスする事はなく、クライアントの管理ができますし、一日、dovecotのログをチェックしましたがSSLで接続してくるクライアントは居ませんでしたが、無線LAN環境等の中間者攻撃しやすい環境からのアクセスがあるので、SSLv3へフォールバックさせられると困るのでパッチ対応する事にしました。
    ソースを落とし、src/login-common/ssl-proxy-openssl.c:1080にSSL_OP_NO_SSLv3を追加してビルド。
    出来上がったsrc/login-common/.libs/libdovecot-login.so.0.0.0を/usr/lib64/dovecotへコピーしてみましたが、きちんとSSLv3接続を拒否するようになりました。
    と言う事で、紹介されているパッチはdovecot2.0.9では大丈夫なようです。

    Reply

Speak Your Mind

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータがどう処理されているか知りたい方はこちらをお読みください