本ページでご案内している脆弱性に関連し、新たな脆弱性が存在することが判明しました。詳細は以下の記事をご確認ください。
【第2報】SSL v3.0 の脆弱性について(2014/12/16)
「対策」欄に「Proself で SSLv3 を無効にする」を追加しました (2014/10/29)
米国時間の 2014年10月14日 に、POODLE(Padding Oracle On Downgraded Legacy Encryption)と名付けられた脆弱性が公開されました。 SSL v3.0 (CBCモード) を利用している場合、プロトコルに存在している脆弱性が悪用され、暗号化されている通信の内容が漏えいする可能性があります。
詳細は以下のリンクをご参照ください。
- ・ This POODLE bites: exploiting the SSL 3.0 fallback (Google Online Security Blog)
- ・ SSLv3 POODLE Vulnerability Official Release (InfoSec Community Forums)
- ・ POODLE: SSLv3 vulnerability (CVE-2014-3566) (RedHat カスタマーポータル)
- ・ セキュリティ アドバイザリ 3009008 SSL 3.0 の脆弱性により、情報漏えいが起こる (マイクロソフト セキュリティ TechCenter)
- ・ セキュリティ アドバイザリ 3009008「SSL 3.0 の脆弱性により、情報漏えいが起こる」を公開 (TechNet Blogs 日本のセキュリティチーム)
- ・ SSLv3 プロトコルに暗号化データを解読される脆弱性(POODLE 攻撃) (Japan Vulnerability Notes)
- ・ SSL 3.0 の脆弱性対策について(CVE-2014-3566) (情報処理推進機構)
■ 対象
SSL v3.0 による通信が有効なサーバ、クライアント
SSL v3.0 プロトコルの設計上の問題であり、特定製品の実装によるものではありません。
サーバ側だけではなく、SSL v3.0 を使用するクライアント側(ブラウザや HTTPS通信を利用するアプリケーションなど)にも影響があります。
当サービスで運用されているほとんどのサーバが対象となります。
■ 対策
この脆弱性への攻撃は、簡単には行えません。
中間者攻撃には、多くの時間とリソースが必要になります。
したがって、可能性は高くはありませんが、SSL の不具合を回避するために対策を実施される事をお勧めします。
SSL v3.0 を無効にすること(TLSのみを利用する事)が推奨されています。
- ・ SSL v3.0 をもとに標準化され、後方互換性をもつTLSv1.0では影響はありません。
- ・ TLSv1.1以降では影響はありません。
※ サーバ側だけでなく、SSLv3.0 を利用するクライアント側でも対策が必要となります。
※ ただし、レガシーシステムなど、SSL v3.0 を必要とするアクセスが見込まれる場合、SSL v3.0 を無効にするとこれらのクライアントからアクセスが行えない状態となります。
また、webサーバ等では SCSV と呼ばれる TLS のダウングレード保護機構を実装することが推奨されています。
■ SSL v3.0 の有効/無効を確認する方法
○ コマンドによる確認
次の OpenSSL コマンドを実行することで、指定したサーバ(ポート)にて SSL v3.0 が有効になっているか確認可能です。
$ echo x | openssl s_client -ssl3 -connect ホスト名:ポート
(例)HTTPS を対象とした場合、下記のように実行します。
$ echo x | openssl s_client -ssl3 -connect xxx.xxx.xxx.xxx:443
SSL v3.0 が無効な場合、以下のようなエラーが表示されます。
SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:/xx/src/ssl/s3_pkt.c:xxxx:SSL alert number 40
SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:/xx/src/ssl/s3_pkt.c:xxx:
○ オンラインによる確認 (サーバ)
- ・ 以下のウェブサイトで確認することができます。
SSL Server Test (Qualys SSL Labs)
※ 表示されるリストの中で"SSLv3 No"と表示されていれば、SSL v3.0 が無効となっています。 - ・ Redhat 社が以下のオンラインチェックサイトを公開しています。
Red Hat Network の ID をお持ちの場合は、こちらで確認することも可能です。
https://access.redhat.com/labs/poodle/
※ 【 Not Vulnerable 】と表示されていれば、SSL v3.0 は無効となっています。
○ オンラインによる確認 (クライアント)
「POODLE Test」から確認可能です。
※ 【 Not Vulnerable 】と表示されていれば、SSL v3.0 は無効となっています。
■ 対応方法 (サーバ)
各 OS での対策方法を記載いたします。
なお、以下でご案内している SSL v3.0 の無効化は、全てのお客さまにおいて実用的ではない可能性がありますので、予めご留意ください。
※ 誠に勝手ながら、当サービスでは SSL v3.0 の無効化によるお客さまのサービスへの影響を判断することができません。
お客さま側で影響をご確認いただいたうえでご対応いただくようお願いします。
各 OS での対応例
◎ Linux 系 OS
(RHEL 5/6 および CentOS 5/6 の場合)
RHEL5/6 および CentOS5/6 では、ベンダーより SCSV と呼ばれる TLS のダウングレード保護機構をサポートする openssl 修正パッケージが提供されています。
POODLE や その他の SSL フォールバック問題を軽減するため、アップデートの適用を推奨します。
※ SSL v3.0を無効にするものではありません。
SSL v3.0を無効にする場合は、各アプリケーション側での設定変更が必要となります。
修正後のバージョンは以下のとおりです。
- ・ RHEL 6 :openssl-1.0.1e-30.el6_6.2
- ・ RHEL 5 :openssl-0.9.8e-31.el5_11
- ・ CentOS 6:openssl-1.0.1e-30.el6_5.2
- ・ CentOS 5:openssl-0.9.8e-31.el5_11
RHEL や CentOS では、rpm にて OpenSSL がインストールされています。
現在インストールされているパッケージのバージョンは、以下のコマンドで確認可能です。
# rpm -q openssl
サーバにて OS 標準の OpenSSL を利用している場合、上記バージョンより古いものはアップデート対象となります。
アップデートは以下のコマンドから実行できます。
# yum update openssl*
OpenSSL だけでなく、すべてのパッケージにてアップデートを行う場合は以下のコマンドを実行します。
この場合、多くのパッケージがアップデートされますのでご注意ください。
# yum update
パッケージのアップデート後は、各サービスの再起動を実施してください。
可能であればサーバ再起動を実施してください。
なお、RHEL 4 以前のOS(所謂 Linux 系のレガシー OS )では、修正は提供されません。
※ RHEL ES 4 (延長サポート契約あり)に関しては、現時点では提供されないものと考えられます。
例外として提供される状況があれば、このページで改めてご案内します。
●SSL v3.0 の無効化
SSL v3.0 をサポートしているアプリケーションに影響があります。
Redhat では、下記に影響を受けるコンポーネントに対する設定方法が順次公開されています。詳細はこちらをご確認ください。
各リンクをクリックすると、該当のコンポーネントに対する設定ページへ移動します。
- ・ POODLE: SSLv3 vulnerability (CVE-2014-3566) (RedHat カスタマーポータル)
- ・ POODLE: SSLv3.0 脆弱性 (CVE-2014-3566) (RedHat カスタマーポータル)
ここでは httpd に関しての設定例を記載します。
●SSLv2 および SSLv3 を無効にする (SSLv2 と SSLv3 以外はすべて有効にする)
SSLの設定が記載されているファイルにて、【 SSLProtocol 】部分を次のように変更します。
SSLProtocol All -SSLv2 -SSLv3
RHEL 5(CentOS 5)および RHEL ES4 では、/etc/httpd/conf.d/ssl.conf を修正します。
RHEL ES 4 には デフォルトで SSLProtocol の記載がありませんので、追加します。
RHEL 6(CentOS 6) では、at+link の標準仕様でご利用の場合、/etc/httpd/conf/ssl_default_domain.conf を修正します。
複数の SSL 設定を行われている場合は、各ディレクティブ内の記述すべてに変更が必要です。
設定変更後、httpd の再起動を行うことで設定が有効となります。
以下に挙げるいずれかのコマンドを入力してください。
# /etc/init.d/httpd restart
# service httpd restart
※ SSL 設定時の内容によっては、httpd 起動時にパスフレーズの入力が必要となります。
※当サービスでの作業が必要な場合は有償にて実施させていただきます。
● Proself で SSLv3 を無効にする
Proself をご利用の場合は Proself 側でも SSLv3 接続を無効にする設定が必要です。作業の詳細は以下のリンクをご参照ください。
対処方法(Proself)
尚、レガシー OS をご利用中のお客さまに関しては、早急に OS のバージョンアップを行っていただきますよう強く推奨します。
◎ Windows Server
Windows Server の場合は、以下の手順で対策をとることができます。● SSL v3.0 無効化 対策例
IIS で SSL v3.0 を無効にする場合、以下の方法で無効にすることができます。
※ レジストリの変更が必要となります。手順の詳細に関しましては以下をご確認ください。
インターネット インフォメーション サービスで PCT 1.0、SSL 2.0、SSL 3.0、または TLS 1.0 を無効にする方法 (マイクロソフト サポート)
※ 当サービスでの作業が必要な場合は有償にて実施させていただきます。
※ 設定を反映させるため、サーバの再起動が必要となります。
■ 対応方法 (クライアント)
以下の手順で、SSL v3.0 を無効にすることができます。
(Internet Explorer の場合)
以下のウェブページをご参照ください。
「SSL 3.0 の脆弱性により、情報漏えいが起こる」 ※ 「Internet Explorer で SSL 3.0 を無効にして、TLS 1.0、TLS 1.1、および TLS 1.2 を有効にする」に回避策が記載されています。
(Mozilla Firefox の場合)
以下のウェブページをご参照ください。
The POODLE Attack and the End of SSL 3.0
URL 入力欄に「about:config」と入力します。
続けて「security.tls.version.min」項の値を「1」に変更することで、SSL v3.0 が無効となります。
(Google Chrome の場合)
最新バージョンで当該脆弱性に対応しているため、アップデートを行うことで SSL v3.0 を無効にすることができます。
バージョンアップを行わない場合は、コマンドプロンプトで Chromeのインストールディレクトリに移動し、以下のコマンドを実行すると SSL の最低バージョンを TLS 1.0 に設定することができます。
Chrome.exe -ssl-version-min=tls1
Windows 8.1 でのChromeインストールディレクトリ例
C:\Program Files (x86)\Google\Chrome\Application
※ ブラウザの設定方法は、ご利用のブラウザバージョン等によって異なる可能性がございます。詳細は各社のマニュアル等をご確認ください。
※ クライアント側の確認を行う場合、「POODLE Test」から確認可能です。
【 Not Vulnerable 】と表示されていれば、SSL v3.0 は無効となっています。