説明
CloudFront が古い TLS プロトコルを許可すると、クライアントが組織の暗号化要件より弱い保護で接続する可能性があります。カスタム証明書を使用するディストリビューションでは、viewerCertificate.minimumProtocolVersion で、最小 TLS バージョンと暗号スイートを定めるセキュリティポリシーを選択します。
CloudFront のデフォルト証明書を使用する場合、このフィールドではセキュリティポリシーを変更できません。また、ビューワーに HTTPS を要求する設定と、CloudFront からオリジンへの接続の TLS 設定は別のものです。
想定される影響
- 古い TLS プロトコルや弱い暗号方式が選択され、通信経路の保護が弱まる可能性があります。
- サービスごとに設定が異なると、組織の TLS 要件を一貫して適用することが難しくなります。
対処方法
- カスタム証明書を使用するディストリビューションには、最小バージョンを TLS 1.2 以降とする、対応するセキュリティポリシーを選択してください。例えば
TLSv1.2_2018は TLS 1.2 以上を要求します。 - 証明書、ドメイン名、
sslSupportMethodを併せて構成し、必要なクライアントからの接続を試験してください。 viewerProtocolPolicyで HTTPS のみを許可するか、HTTP を HTTPS にリダイレクトし、オリジン接続の TLS も別途確認してください。
例
以下はカスタム証明書を使用するディストリビューションのセキュリティポリシーを比較する部分的な例です。証明書と sslSupportMethod など、残りの設定は省略しています。
変更前
yaml
apiVersion: cloudfront.aws.crossplane.io/v1alpha1
kind: Distribution
spec:
forProvider:
distributionConfig:
viewerCertificate:
minimumProtocolVersion: TLSv1.1_2016
TLSv1.1_2016 は TLS 1.1 の接続も許可します。
変更後
yaml
apiVersion: cloudfront.aws.crossplane.io/v1alpha1
kind: Distribution
spec:
forProvider:
distributionConfig:
viewerCertificate:
minimumProtocolVersion: TLSv1.2_2018
TLSv1.2_2018 は、ビューワーの TLS 接続に TLS 1.2 以上を要求します。この変更だけでは、HTTP リクエストの拒否やオリジン接続の暗号化は行われません。