1. TOPTOP
  2. インフラ

SSLv3 プロトコルに暗号化データを解読される脆弱性(POODLE 攻撃)の対策ページまとめ7選

warning

今さら感が強いのですが、さっきJVNのつぶやきで気が付きました。先月(10月16日)から、SSL v3の脆弱性が指摘されていたんですね。

というわけで、自分が運営しているサーバー(CentOS6.5)で、POODLE攻撃に対する対策を行ってみました。今回は、自分が行った対策と、そのときに参考にさせていただいたページのまとめです。

用語の確認

まずは用語の確認です。専門的に調べようとすると、かなりディープなところまで行ってしまいそうなので3つだけ。

OpeSSL

OpenSSLは、SSLプロトコル・TLSプロトコルの、オープンソースで開発・提供されるソフトウェアである。中心となっているライブラリ(C言語で書かれている)は基本的な暗号化関数と様々なユーティリティ関数を実装している。

SSL v3

インターネットにおいてセキュリティーを要求される通信を行うためのプロトコルである。当プロトコルは、(中略)Secure Sockets Layer (SSL) と呼ばれてることも多い。

V3というのは、そのSSLのバージョン3ということ。

POODLE攻撃

暗号を直接的に復号することは行わず、クライアントから送信された暗号文自体を細工してサーバに送りサーバ側での処理結果を確認するという手法

SSL v3が有効かどうかの確認

要するに、POODLE攻撃が実行されると、SSL v3で通信しているクライアント→サーバー間の暗号通信が、解読・改ざんされるということです。

実際に自サーバーが、SSL v3を使用しているかどうか、確認する必要があります。こちらのサイトを参考にして、下記のコマンドを実行。

$ sudo openssl s_client -connect localhost:443 -ssl3

poodle_attack1

やはり、SSL v3を使用していました。脆弱性の対策をしなければなりません。

POODLE攻撃からの脆弱性対策

調べているとやるべきことは、3つくらいあるようです。サーバー側で2つクライアントPC側のブラウザで1つ。

1.open sslの更新

$sudo yum update openssl

2.サーバー側でSSL v3を無効化

$ sudo vi /etc/httpd/conf.d/ssl.conf

を開いて、SSL v3を使わないようにします。

SSLProtocol all -SSLv2 -SSLv3

poodle_attack4

$sudo service httpd restart

1と2の作業が終了したら、再起動をお忘れなく。

poodle_attack2

これでSSL v3での通信は、できなくなった感じです。

3.クライアント側のブラウザソフトでSSL v3を無効化

poodle_attack3

いつも使っているGoogle Chromeでも対策せなあかんと思っていたところ、最新安定版のバージョン39.0.2171.65では、特に何もしなくてもいいことが分かりました。

POODLE脆弱性の悪用につながるSSLv3へのフォールバック機能のサポートは、デフォルトで無効にされているとのこと。

ちなみに…

FirefoxはChromeと同じ対応をしているとのことですが、IEについては、いまいちよく分かりませんので使用を控えます。

追記

この記事を書いたあとに、図書館で借りっぱなしのムック本があることに気が付きました。よく読んでみると、SSLの概要(素数計算、ハンドシェイク、盗聴の具体例など)について説明されています。

ぐぐっても調べられることだとは思いますが、体系的に素早く知識を吸収したい人には良いかもしれません。

〔参考サイト〕