SSL3.0の脆弱性「POODLE」のサーバ対策設定「Apache+mod_ssl」と「Nginx」での対策の場合




投稿日:

SSL3.0の脆弱性「POODLE」の影響と各サービス・企業の対応 | 田舎に住みたいエンジニアの日記

こちらの記事のように、SSL3.0の脆弱性「POODLE」が発表されました。WEBサービスを提供するWEBサーバ側でも対応が必要になります。対応内容は SSL3.0の無効化 となります。 この対応をする場合の注意としては、SSL3.0までしか対応していないIE6などの旧式のブラウザを見捨てることになるということです。

設定の前にサーバで運営しているサイトをチェックにかけてみましょう。

SSL Server Test
https://www.ssllabs.com/ssltest/index.html

※ チェック時には、Domain Name の所に対象のサイトを入れます。ここで、「Do not show the results on the boards」にチェックを入れないと、履歴がサイトに載ってしまうので、基本チェックを入れた方がいいと思います。

こちらのチェックをすると、そのサイトのサーバ側が対応するSSLプロトコルに加えて、そのサイトに接続するブラウザ毎にどのプロトコルや暗号方式で通信をするかまでチェックすることが可能です。

特にスマートフォンまでチェック出来るというのはありがたいです。

以下のように対応しているSSLプロトコルのチェックが出来ます。こちらの場合は既にSSL3.0は無効になっていますね。

1

以下は、各ブラウザで表示させたと仮定した場合です。IE6 は既に利用できなくなっているのが分かります。
2

では、実際にSSL3.0の無効化の設定方法を見てみます。

【Apache+mod_sslの場合】

■ Apahce 2.4以前の場合

httpd.conf に下記の設定をします。

SSLProtocol All -SSLv2 -SSLv3

Allにて、すべて有効にして -SSLv2 -SSLv3 で SSL 2.0、SSL 3.0 を無効にしています。



こちらもでも意味は同じ設定になります。

SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2

-Allにて、すべて無効にして +TLSv1 +TLSv1.1 +TLSv1.2 で TLS 1.0 以降を有効にしています。

■ Apahce 2.4以降の場合

Apache 2.4 では SSL 2.0 が最初から非サポートなので、-SSLv2 は不要となります。よって以下のような設定でOKです。

SSLProtocol All -SSLv3



【Nginx の場合】

対象の設定ファイルにてTLS以降の設定にします。

ssl_protocols TLSv1 TLSv1.1 TLSv1.2;



以上です。設定はシンプルなものです。しっかりと対応しましょう。

ユーザ側の対応は以下を参照ください。
SSL3.0の脆弱性「POODLE」の自分のブラウザでの対応チェック と Internet Explorer にてSSL3.0の無効化設定を入れる手順 | 田舎に住みたいエンジニアの日記