OpenSSL:SSL/TLSの脆弱性対策

昨今「OpenSSL」脆弱性に関する事象が、多くのニュースメディアで取り上げられるようになりました。代表的な事象では、昨年2014年のOpenSSLの脆弱性「HeartBleed」、2015年に入っては、SSL/TLS通信時の脆弱性「FREAK」などです。使用するサーバーのSSL/TLS「脆弱性」有無は、各種チェックツールで診断可能です。(2015/04/19作成)

Vulnerability 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"

以上

About yoshimasa

埼玉県さいたま市在住、2男3女のパパです。Linux系の技術情報を中心にまとめています。1978年2月生まれ。