Open10
Apache * mod_sslのセキュアな設定のすゝめ
対象環境は以下を想定する。
- Apache: 2.4.54
- OpenSSL: 1.0.2k(TLS 1.2まで)、1.1.1s(TLS 1.3)
暗号スイートについて
Apache(+mod_ssl)では暗号スイートをがSSLCipherSuiteディレクティブに対して、自分が適用したいものを設定することで機能する。
IPAが公開しているTLS暗号設定ガイドラインについて
ガイドラインにおいて、3段階の設定基準を設けている。
- 高セキュリティ型
- 名前の通り現状で最も安全性が高いとしている設定
- 推奨セキュリティ型
- 標準的な安全性の水準を実現している設定
- セキュリティ例外型
- 標準的な安全基準を満たさないプロトコル、暗号スイートが利用される可能性がある
TLS暗号設定ガイドライン本体PDF
推奨セキュリティ型について
高セキュリティ型について
TLS 1.2以前のプロトコルでは脆弱性が報告されており、そもそもブラウザ自体も使用を禁止している。このスレッドに添付してるガイドラインでもあるように、現状ではTLS1.2以降のプロトコルのみを推奨としている。また、鍵のビット長、常時HTTPS化などセキュリティ要求はだんだん複雑化している。
ここで対象ホスト名を入力しテストできる。
IPA、TLS暗号設定ガイドラインに書いてある暗号スイートの設定例
- TLS 1.3
# 推奨セキュリティ型
TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_SHA256:TLS_AES_128_CCM_8_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256
# 高セキュリティ型
TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256:TLS_AES_128_CCM_SHA256:TLS_AES_128_CCM_8_SHA256
- TLS 1.2以前
# 推奨セキュリティ型
ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES128-CCM8:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES256-CCM8:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-CCM:DHE-RSA-AES128-CCM8:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-CCM:DHE-RSA-AES256-CCM8:DHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-CAMELLIA128-SHA256:ECDHE-RSA-CAMELLIA128-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-CAMELLIA256-SHA384:ECDHE-RSA-CAMELLIA256-SHA384:ECDHEECDSA-AES128-SHA:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-CAMELLIA128-SHA256:DHE-RSA-AES256-SHA256:DHE-RSA-CAMELLIA256-SHA256:DHE-RSA-AES128-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-RSA-AES256-SHA:DHE-RSA-CAMELLIA256-SHA
# 高セキュリティ型
ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES256-CCM8:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES128-CCM8:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-CCM:DHE-RSA-AES256-CCM8:DHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128-CCM:DHE-RSA-AES128-CCM8
Webサーバーの設定についてもまとめてくれている。
- 証明書、鍵などの設定
- 暗号スイートの設定
- プロトコルバージョンの設定
- 暗号スイートの優先順序の設定
- HTTP Strict Transport Security(HSTS)の設定
- OCSP staplingの設定
OCSP staplingの設定(Apache)
mod_sslディレクティブ