昨今「OpenSSL」脆弱性に関する事象が、多くのニュースメディアで取り上げられるようになりました。代表的な事象では、昨年2014年のOpenSSLの脆弱性「HeartBleed」、2015年に入っては、SSL/TLS通信時の脆弱性「FREAK」などです。使用するサーバーのSSL/TLS「脆弱性」有無は、各種チェックツールで診断可能です。(2015/04/19作成)
NeuPaddy / Pixabay
1.各種チェックツール
SSL Server Test
https://www.ssllabs.com/ssltest/index.html
証明書チェックサイト(Check website security)
DigiCert SSL Certificate Checker
Wormly Free SSL Web Server Tester
https://www.wormly.com/test_ssl/
2.脆弱性診断時の設定事例
各種チェックツールで「脆弱性診断」された場合、ディストリビューションの「OpenSSL」パッケージを最新版アップデートを行うことは元より、脆弱性の原因となっている箇所の「OpenSSL」コンフィグレーションを見直す必要があります。以下設定は、Apache(mod_ssl)を例にしています。
対策(1) You have 1 error Intermediate certificate missing. RapidSSL SHA256 CA - G3 | Download certificate 中間CA証明書を最新版にする。
対策(2) Recommendations This server may be vulnerable: SSLv3 is enabled This server uses SSLv3, which is a vulnerable protocol. Disable SSLv3 and use TLS 1.0 or higher. SSLProtocolディレクティブで、SSLv3を無効にする。 (Apache 2.2系) SSLProtocol All -SSLv2 ↓ SSLProtocol All -SSLv2 -SSLv3 (Apache 2.4系) (Apache 2.4系ではデフォルトで「SSLv2」が無効化されている。) ↓ SSLProtocol All -SSLv3
対策(3) 脆弱性のあるcipher suitesは無効にするべきです。 SSLCipherSuite ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS
対策(4) サーバはHTTP Strict-Transport-Securityが有効になっていません。 Header set Strict-Transport-Security "max-age=315360000; includeSubDomains"
以上