説明
CloudFrontのビューワーセキュリティポリシーがTLS 1.2未満を許可していると、古いプロトコルで接続できます。デフォルトのCloudFront証明書では最小バージョンがTLSv1に固定されているため、それより高い最小バージョンを設定するにはカスタム証明書が必要です。
想定される影響
古いプロトコルを許可すると、古い暗号方式が使われたり、通信のセキュリティ基準を満たせなかったりするおそれがあります。
対処方法
サービスのドメインを含むカスタム証明書と、TLS 1.2以上を最小バージョンとするセキュリティポリシーを設定してください。変更前にクライアントの互換性を確認してください。
例
以下は証明書設定の抜粋です。証明書ARNの変数には、us-east-1で発行またはインポートしたACM証明書を指定してください。
変更前
hcl
resource "aws_cloudfront_distribution" "example" {
origin {
domain_name = aws_s3_bucket.b.bucket_regional_domain_name
origin_id = local.s3_origin_id
s3_origin_config {
origin_access_identity = "origin-access-identity/cloudfront/ABCDEFG1234567"
}
}
enabled = true
comment = "Some comment"
default_root_object = "index.html"
viewer_certificate {
cloudfront_default_certificate = false
acm_certificate_arn = var.acm_certificate_arn
ssl_support_method = "sni-only"
minimum_protocol_version = "TLSv1_2016"
}
}
変更後
hcl
resource "aws_cloudfront_distribution" "example" {
origin {
domain_name = aws_s3_bucket.b.bucket_regional_domain_name
origin_id = local.s3_origin_id
s3_origin_config {
origin_access_identity = "origin-access-identity/cloudfront/ABCDEFG1234567"
}
}
enabled = true
comment = "Some comment"
default_root_object = "index.html"
viewer_certificate {
cloudfront_default_certificate = false
acm_certificate_arn = var.acm_certificate_arn
ssl_support_method = "sni-only"
minimum_protocol_version = "TLSv1.2_2021"
}
}