説明
CloudFront で古い TLS バージョンや弱い暗号スイートを許可すると、閲覧者との接続の保護が弱まるおそれがあります。SSLv3 などの古いプロトコルは本番環境で使用しないでください。
カスタムドメインの ViewerCertificate.MinimumProtocolVersion は、最小プロトコルと許可する暗号スイートを定めるセキュリティポリシーです。デフォルトの CloudFront 証明書ではポリシーが TLSv1 に固定されるため、その証明書だけでは TLS 1.2 以上を必須にできません。
想定される影響
- 古いプロトコルや弱い暗号スイートを使用する接続は、既知の弱点の影響を受けるおそれがあります。
- 最小バージョンを上げると古いクライアントが接続できなくなる場合があり、互換性の確認が必要です。
対処方法
要件に合う TLS 1.2 以上のセキュリティポリシーを選び、カスタムドメインを含む証明書を関連付けてください。CloudFront 用の ACM 証明書を us-east-1 に用意し、SslSupportMethod も適切に指定してください。実際のクライアント接続を確認し、HTTPS の強制とオリジン接続の暗号化は別途構成してください。
例
DistributionConfig 内の証明書設定だけを比較する抜粋です。ドメインのエイリアス、オリジン、キャッシュ動作は省略しています。変更前には証明書とサポート方式も必要です。変更後の ViewerCertificateArn には、対象ドメインを含む us-east-1 の ACM 証明書 ARN を渡してください。
変更前
Resources:
CloudFrontDistribution:
Type: AWS::CloudFront::Distribution
Properties:
DistributionConfig:
ViewerCertificate:
MinimumProtocolVersion: SSLv3
最小値を SSLv3 にした過去の構成です。省略した証明書設定を補っても、古いプロトコルを許可するポリシーは残さないでください。
変更後
Resources:
CloudFrontDistribution:
Type: AWS::CloudFront::Distribution
Properties:
DistributionConfig:
ViewerCertificate:
AcmCertificateArn: !Ref ViewerCertificateArn
MinimumProtocolVersion: TLSv1.2_2021
SslSupportMethod: sni-only
カスタム証明書と TLSv1.2_2021 ポリシーを使用します。クライアントは SNI に対応する必要があります。また、この設定自体が HTTP リクエストを拒否するわけではありません。