CentOS6.6でWebサーバのSSLのセキュリティ対策


本ページは古くなっています。改訂版を作成しました。このページの対策方法ではSSLlabの評価が悪いままです。

https://qiita.com/qiitamatumoto/items/f93286fc82ec9a0cdff7
CentOS6.9/CentOS7.4でWebサーバのSSLのセキュリティ対策

以下古い記事です。

1.はじめに
最近WebサーバのSSL関係のセキュリティ報告が多いのですが、たくさんあってよくわかりませんので、チェックツールを使ってみました。

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

2.管理下のWebサーバを検査してみた。
管理下のサーバは某大学のWebサーバで、OSはCentOS6.6 (RedHatEL6.6互換)で、WebサーバはOS標準のApache、SSLの証明書はUPKI

https://upki-portal.nii.ac.jp/
UPKIイニシアティブ

を用いています。

Webサーバ(OS標準のapache)のSSL周りの設定(/etc/httpd/conf.d/ssl.conf)はUPKIのサーバ証明書の設定のみで、それ以外はOSのdefaultのままです。

それで検査してみた結果。

評価はC。

主な失点はProtocolでSSL3がよくない。CipherでRC4とかいろいろ怒られてます。

3.SSL設定ファイル((/etc/httpd/conf.d/ssl.conf)の修正

SSL3については

SSLProtocol all -SSLv2 -SSLv3

ssl.confに上記の加筆「-SSLv3」

Cipherについては、

TLS_RSA_WITH_DES_CBC_SHA (0x9) WEAK 56
TLS_DHE_RSA_WITH_DES_CBC_SHA (0x15) DH 2048 bits (p: 256, g: 1, Ys: 256) FS WEAK 56

ssl.confのSSLCipherSuiteに「!DES-CBC-SHA:!EDH-RSA-DES-CBC-SHA」追加。

TLS_RSA_WITH_RC4_128_MD5 (0x4) WEAK 128
TLS_RSA_WITH_RC4_128_SHA (0x5) WEAK

ssl.confの SSLCipherSuiteに「!RC4」 追加

上記をまとめるとCentOS6.6のssl.confからの差分は以下の通りです。

$diff ssl.conf.20150719 ssl.conf
95c95
< SSLProtocol all -SSLv2
---
> SSLProtocol all -SSLv2 -SSLv3
100c100
< SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW
---
> SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW:!RC4:!DES-CBC-SHA:!EDH-RSA-DES-CBC-SHA

修正後OSをrebootすると設定が反映されます。

上記の記述例については以下のホームページが参考になります。

http://qiita.com/sion_cojp/items/99fee211ceace3f76cff
セキュリティランクの確認

https://access.redhat.com/ja/node/1232613
httpd における POODLE SSLv3.0 脆弱性問題の解決方法 (CVE-2014-3566)

https://www.jp.websecurity.symantec.com/welcome/pdf/wp_code_algorithm.pdf
ウェブサーバの暗号アルゴリズムの選び方
6ページからの表1が役に立つ。

4.修正後の評定
以下のようにA-評定になりました。

CipherからはWEAKが消えてます。

ほかにもWEAKポイントを指摘されていますが、とりあえずここまでにしておきました(^^;;

5.参考
診断結果の判定結果の全キャプチャです。

修正前

修正後

以上