SSLv3 に関する脆弱性(POODLE 攻撃)に対する、ブラウザ、Java、サーバの対処方法です。
脆弱性の内容については、以下を参照して下さい。
JVNVU#98283300: SSLv3 プロトコルに暗号化データを解読される脆弱性(POODLE 攻撃)
ブラウザの対応方法
SSLv3 での接続を無効にする必要があります。
Firefox
下記アドオンをインストールすれば、SSLv3が無効になります。
SSL Version Control :: Add-ons for Firefox
また、来月 11月25日に公開が予定されている Firefox の次バージョンより SSLv3 をサポートせず、標準状態では利用できなくするとのことです。
SSL 3.0 の POODLE 脆弱性への対応について | Mozilla Japan ブログ
Google Chrome
最新版で SSL 3.0 へのフォールバックが無効化されています。
フォールバック無効化により、暗号化通信に失敗した場合、下位の暗号化強度の方式で通信することを防ぎます。
これにより、SSL 3.0 での接続が防止されます。
数か月以内のリリースで SSL 3.0 のサポートを完全に削除するようです。
Google Online Security Blog: This POODLE bites: exploiting the SSL 3.0 fallback
それまでの間、 SSL 3.0 を完全無効にするには、 起動オプションに「 –ssl-version-min=tls1」を追加することが必要です。
How to disable SSLv3 in Chome permanently – Google プロダクト フォーラム
デスクトップ上等の Google Chromeアイコンを右クリックして、プロパティダイアログを表示し、ショートカットタブのリンク先の箇所で、末尾に 「 –ssl-version-min=tls1」を追加します。
–ssl-version-min=tls1 の前に半角スペースを忘れずに入れて下さい。
インターネットエクスプローラ
下記ページの「回避策の適用」の箇所の「Internet Explorer で SSL 3.0 を無効にして、TLS 1.0、TLS 1.1、および TLS 1.2 を有効にする」の作業を行います。
確認方法
SSL 3.0 が無効になっているかは、次のページで確認できます。
脆弱性がある場合(SSL 3.0 が無効になっていない)は、左の画像が現れます。
脆弱性が無い場合(SSL 3.0 がちゃんと無効の場合)は、右の画像になります。
Javaの対応方法
以下に情報があります。
Javaアプレット、Javaアプリケーションについて以下で説明します。
Java APIについても、下記ページ内に記載があります。
CVE-2014-3566 – Instructions to Mitigate the SSL v3.0 Vulnerability (aka “Poodle Attack”) in Java SE
Javaアプレット/WebStart
コントロールパネルの Java を開き、Javaコントロール・パネルを開きます。
無い場合は、コントロールパネルの右上の「表示方法:」を”カテゴリ” から “大きいアイコン” に変更します。
または、スタートメニューの すべてのプログラム -> Java -> Configure Java からも開けます。
Javaコントロール・パネルで詳細タブを選択し、「SSL 3.0を使用する」のチェックを外します。
Javaアプリケーション
起動時のオプションで、httpsで使用されるプロトコルに SSLv3以外を指定します。
java -Dhttps.protocols="TLSv1" <MyApp>
サーバの対応方法
apache、dovecot、postfix での対応を説明します。
「openssl を TLS_FALLBACK_SCSVサポート版に更新する」と、apache、dovecot、postfix の各設定を行います。
openssl を TLS_FALLBACK_SCSVサポート版に更新する
TLS_FALLBACK_SCSVオプションをサポートするバージョンに openssl を更新します。
10/16以降、CentOS/Ubuntu で更新される openssl は、TLS_FALLBACK_SCSVオプションをサポートしています。
TLS_FALLBACK_SCSV とは、暗号化通信に失敗した場合に、下位の暗号化強度の方式で通信すること(ダウングレード)を防ぐ仕組みで、ダウングレードにより SSL 3 で接続することを防ぎます。
同様に、TLS1.2 から強度が低いTLS1.1 や TLS1.0 へのダウングレードも行われず、将来の別な攻撃の回避の一助になります。
Google Online Security Blog: This POODLE bites: exploiting the SSL 3.0 fallback
この方法では、apache、dovecot、postfix、個別に設定する必要は無く、openssl の更新だけで済みます。
ただし、ダウングレードを防ぐのみで、SSLv3 の使用を完全無効にはしません。
クライアントが最初から SSLv3 で接続してきた場合は、apache、dovecot、postfix で SSLv3 が使用されます。
apache、dovecot、postfix で SSLv3 の使用を無効にするには、以降の設定を行う必要があります。
apache で SSLv3 を無効にする
以降の設定を行います。
CentOSの場合
/etc/httpd/conf.d/ssl.conf
SSLProtocol all -SSLv2 -SSLv3
設定を反映させます。
/etc/init.d/httpd reload
Ubuntu14.04の場合
/etc/apache2/mods-available/ssl.conf
SSLProtocol all -SSLv2 -SSLv3
設定を反映させます。
/etc/init.d/apache2 reload
dovecot で SSLv3 を無効にする
以降の設定を行います。
CentOS7の場合
/etc/dovecot/conf.d/10-ssl.conf
ssl_protocols = !SSLv2 !SSLv3
設定を反映させます。
systemctl restart dovecot.service
CentOS5/6の場合
下記によると、現時点(2014/10/27時点)では無効にする方法が無いようです。
対応を待つ必要があります。
Ubuntu14.04の場合
/etc/dovecot/conf.d/10-ssl.conf
ssl_protocols = !SSLv2 !SSLv3
設定を反映させます。
service dovecot restart
postfix で SSLv3 を無効にする
以降の設定を行います。
smtpd_tls_mandatory_protocols の設定は、smtpd_tls_security_level = encrypt または smtpd_enforce_tls = yes が指定されている場合に必要な設定です。
同様に、smtp_tls_mandatory_protocols の設定は、smtp_tls_security_level = encrypt または smtp_enforce_tls = yes が指定されている場合に必要な設定です。
なお、下記でコメントの通り、main.cf で smtpd_tls_security_level = encrypt にする(している)場合は注意が必要です。
encrypt にすると、メール転送元のサーバが対応していない場合、そのサーバからのメールが届かなくります。
従って、main.cf では smtpd_tls_security_level = may を指定することをお勧めします。
CentOS6でのメールサーバの設定(postfixその1) パソコン鳥のブログ
CentOS6/7の場合
/etc/postfix/main.cf
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtp_tls_protocols = !SSLv2, !SSLv3
設定を反映させます。
CentOS7 restart postfix.service CentOS6 /etc/init.d/postfix reload
CentOS5の場合
/etc/postfix/main.cf
smtpd_tls_mandatory_protocols = TLSv1 smtp_tls_mandatory_protocols = TLSv1
設定を反映させます。
/etc/init.d/postfix reload
Ubuntu14.04の場合
/etc/postfix/main.cf
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3 smtpd_tls_protocols = !SSLv2, !SSLv3 smtp_tls_mandatory_protocols = !SSLv2, !SSLv3 smtp_tls_protocols = !SSLv2, !SSLv3
設定を反映させます。
/etc/init.d/postfix reload
参考
SSLv3 の脆弱性 POODLE への対策を行う : アジャイル株式会社
SSL3.0の脆弱性「POODLE」の個人的メモ: 独房の中
wivern.com | Chrome の POODLE 対策
Resolution for POODLE SSL 3.0 vulnerability (CVE-2014-3566) in Postfix and Dovecot? – Red Hat Customer Portal
Postfix TLSサポート