API Gateway 사용자 지정 도메인 TLS 정책 점검

지원되는 TLS 정책으로 오래된 프로토콜을 제한하고 클라이언트 호환성을 확인하세요.

설명

API Gateway 사용자 지정 도메인이 오래된 TLS 버전이나 요구사항에 맞지 않는 암호군을 허용하면 전송 구간의 보호 수준이 낮아질 수 있습니다. SecurityPolicy는 허용할 최소 TLS 버전과 암호군을 정하며, 설정이 생략되었다고 HTTPS 자체가 없는 것은 아닙니다.

도메인의 엔드포인트 유형과 API 유형에 따라 지원되는 정책이 다릅니다. 사용자 지정 도메인에 적용한 정책은 백엔드 인증이나 모든 다른 호출 엔드포인트의 정책을 대신하지 않습니다.

잠재적 영향

  • 오래된 프로토콜을 계속 허용하면 요구되는 전송 보안 기준을 충족하지 못할 수 있습니다.
  • 클라이언트 지원 여부를 확인하지 않고 정책을 강화하면 필요한 연결이 실패할 수 있습니다.

해결 방법

해당 엔드포인트가 지원하는 SecurityPolicy 중 최소 TLS 1.2 이상과 필요한 암호군을 제공하는 정책을 선택하세요. 인증서와 클라이언트 호환성을 확인하고 실제 TLS 협상을 시험하세요. 강화된 정책을 선택할 때는 추가적인 엔드포인트 설정 요건도 적용하세요.

예시

EDGE 사용자 지정 도메인의 기존 TLS 정책을 비교합니다. CertificateArn에는 도메인 이름에 맞는 us-east-1의 ACM 인증서 ARN을 제공하세요. DNS와 API 매핑은 생략했습니다.

변경 전

yaml
Resources:
  ApiDomain:
    Type: AWS::ApiGateway::DomainName
    Properties:
      DomainName: api.example.com
      CertificateArn: !Ref CertificateArn
      EndpointConfiguration:
        Types:
          - EDGE
      SecurityPolicy: TLS_1_0

TLS_1_0 정책은 TLS 1.0과 1.1을 포함한 연결을 허용합니다. 정책 이름이 해당 버전만 사용한다는 뜻은 아닙니다.

변경 후

yaml
Resources:
  ApiDomain:
    Type: AWS::ApiGateway::DomainName
    Properties:
      DomainName: api.example.com
      CertificateArn: !Ref CertificateArn
      EndpointConfiguration:
        Types:
          - EDGE
      SecurityPolicy: TLS_1_2

TLS_1_2로 최소 TLS 버전을 높입니다. 지원되는 더 강한 정책의 필요성과 실제 클라이언트 연결을 함께 검토하세요.

참조