本ページは古くなっています。改訂版を作成しました。このページの対策方法では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のままです。
それで検査してみた結果。
主な失点は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が役に立つ。
CipherからはWEAKが消えてます。
ほかにもWEAKポイントを指摘されていますが、とりあえずここまでにしておきました(^^;;
5.参考
診断結果の判定結果の全キャプチャです。
修正前
修正後
以上