ex1-lab

Linux, CentOS, Mac OS X, Windows, 仮想化, Apache等のLinux中心に気になることをメモがわりに・・・

SSL 3.0 の脆弱性 (POODLE) 対策

      2017/01/04 この記事は約3分で読むことができます。

概要

SSLv3.0 プロトコルの脆弱性(CVE-2014-3566)が発見されております

「POODLE(Padding Oracle On Downgraded Legacy Encryption)」と命名されたこの脆弱性は、SSL 3.0で使用されるCBC暗号アルゴリズムに問題があるもの。脆弱性が悪用された場合、攻撃者が傍受したHTTPSトラフィックから、暗号化されたトラフィックの一部(認証Cookieなど)が解読される恐れがある。

Googleでは、SSL 3.0は約15年前のプロトコルで、TLS 1.2/1.1/1.0といった後継のプロトコルも普及しているが、現在でも多くのサイトでSSL 3.0が使われていると説明。また、HTTPSサーバーのバグにより接続ができない場合、ブラウザーは古いバージョンのプロトコルで接続を試みるため、攻撃者がこうした機能を利用してSSL 3.0の脆弱性を悪用する恐れがあるとしている。

POODLE: SSLv3.0 脆弱性 (CVE-2014-3566)
SSL 3.0に深刻な脆弱性(itmedia)

サーバーサイドでの対策は、SSL3.0を無効化します
Apacheでは以下の設定でSSL3.0を無効化できます
Apache2.2系では、①、②の設定を、Apache2.4系なら③の設定でOKです
筆者のApache2.2系のサーバーは、①の設定で対応しています

VirtualHostにて運用している場合、上記の設定(ssl.conf)が、
ディレクティブより先に有効なるように設定するか、各VirtualHostのディレクティブ内に記述する必要があるので、VirtualHost毎に設定します

設定が有効化の確認は、SSL3.0 SSL2.0のみを有効にしてアクセスすると以下の様なエラーがブラウザに表示されます
ssl3_01

 

 

 

OPEN SSLコマンドで確認方法

SSL2.0, SSL3.0が有効か無効になっているかをCUIで確認するにはOpenSSLのコマンドを利用して以下のオプションで確認できます。

openssl s_client -connect [サーバー証明書のコモンネーム]:[ポート番号] -ssl3
例)openssl s_client -connect www.hoge.com:443 -ssl3

コマンドを叩いて、 以下のようにエラーになれば無効になっています
1519:error:1407F0E5:SSL routines:SSL2_WRITE:ssl handshake failure:/SourceCache/OpenSSL098/OpenSSL098-52/src/ssl/s2_pkt.c:427:

 - Linux