CloudFront TLS 보안 정책 점검

CloudFront 사용자 연결에 필요한 최소 TLS 버전과 암호군을 확인하세요.

설명

CloudFront가 오래된 TLS 버전이나 약한 암호군을 허용하면 사용자와 CloudFront 사이 연결의 보호 수준이 낮아질 수 있습니다. 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을 제공하세요.

변경 전

yaml
Resources:
  CloudFrontDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        ViewerCertificate:
          MinimumProtocolVersion: SSLv3

SSLv3를 최소값으로 두는 과거 구성입니다. 누락된 인증서 설정을 채우더라도 구식 프로토콜을 허용하는 정책은 유지하지 마세요.

변경 후

yaml
Resources:
  CloudFrontDistribution:
    Type: AWS::CloudFront::Distribution
    Properties:
      DistributionConfig:
        ViewerCertificate:
          AcmCertificateArn: !Ref ViewerCertificateArn
          MinimumProtocolVersion: TLSv1.2_2021
          SslSupportMethod: sni-only

사용자 지정 인증서와 TLSv1.2_2021 정책을 사용합니다. SNI를 지원하는 클라이언트가 필요하며, 이 설정 자체가 HTTP 요청을 차단하는 것은 아닙니다.

참조