본문 바로가기

AWS

[AWS] API Gateway TLS 보안 정책 구성 가이드

반응형

2025년 11월, API Gateway는 REST API 엔드포인트 및 커스텀 도메인에 대해 강화된 TLS 보안 정책(Enhanced TLS Security Policies)을 지원하기 시작했습니다.
이제 단순 TLS 기본 설정을 넘어서, TLS 1.3 강제, PFS(Perfect Forward Secrecy), FIPS 준수 암호화, 향후 대비 PQC(Post-Quantum Cryptography) 호환 암호화 스위트까지 선택할 수 있어, 금융·공공·헬스케어 등 보안 요구사항이 엄격한 환경에서도 API 보안을 한층 강화할 수 있습니다.

 

TLS 보안 정책이란?

API Gateway에서 “보안 정책(Security Policy)”는 허용할 TLS 버전 + 암호 스위트 집합(cipher suites) 을 미리 정의한 조합입니다. 클라이언트가 API 호출 시 TLS 핸드셰이크를 수행할 때, 이 정책에 맞지 않으면 연결이 거부됩니다.

과거에는 기본 엔드포인트나 커스텀 도메인 모두에서 제한적인 선택지만 가능했지만, 이번 업데이트로 REST API의 모든 엔드포인트 유형(Regional, Edge-optimized, Private) 및 커스텀 도메인에 대해 통일된 강화된 TLS 설정을 적용할 수 있게 되었습니다.

예를 들어:

  • SecurityPolicy_TLS13_1_3_2025_09 — TLS 1.3 전용, 지정된 최신 암호 스위트만 허용
  • SecurityPolicy_TLS13_1_2_PFS_PQ_2025_09, SecurityPolicy_TLS13_1_2_PQ_2025_09 — TLS 1.2/1.3 허용 + PFS / 향후 PQC 호환 암호도 포함한 옵션.

기본(legacy) 정책은 기존 호환성을 위해 여전히 남아 있지만, 보안 수준이 필요한 경우 enhanced policy 사용을 권장합니다.

구성 절차

아래는 새 TLS 보안 정책을 API Gateway REST API 또는 커스텀 도메인에 적용하는 기본 흐름입니다.

1. 적용할 대상 결정

  • 기존 REST API (Regional, Edge-optimized, Private)
  • 또는 커스텀 도메인에 매핑된 REST API

HTTP API 또는 WebSocket API의 경우에는 현재 enhanced TLS 정책 적용이 제한적이며, HTTP API는 기본적으로 TLS_1_2 정책이 적용됨을 문서에서 확인할 수 있습니다.

2. 보안 정책(Security Policy) 선택

AWS 콘솔, CLI, 또는 SDK를 통해 다음과 같이 설정할 수 있습니다.

  • 예: SecurityPolicy_TLS13_1_3_2025_09 (TLS 1.3 + 최신 암호 스위트)
  • 또는 규제/준법 요구사항이 있는 경우 SecurityPolicy_TLS13_1_2_PFS_PQ_2025_09 등

사용 예 (CLI 가상 예시):

aws apigateway update-domain-name \
  --domain-name api.example.com \
  --patch-operations op='replace',path='/securityPolicy',value='SecurityPolicy_TLS13_1_3_2025_09'

 

변경 적용까지 최대 약 15분이 걸릴 수 있습니다.

3. (필요시) Endpoint Access Mode 설정

강화된 security policy를 사용하는 경우, endpoint access mode 설정이 필수입니다.

  • 권장: STRICT — 엔드포인트 유형(Regional / Edge / Private)과 SNI 호스트 매칭 또는 CloudFront 도메인 프론트팅 보호 조건을 엄격히 검사합니다.
  • 초기 전환 시에는 BASIC으로 시작 후, 로그/접속 패턴을 검토한 뒤 STRICT로 변경하는 절차를 추천합니다.

4. 배포 및 정상화 확인

  • 설정 후 약 15분 내에 변경이 전파되고, API 상태가 AVAILABLE로 표시됩니다.
  • HTTPS 요청을 통해 TLS 버전 및 cipher suite가 정상 적용되었는지 확인
    • Access 로그에서 $context.tlsVersion, $context.cipherSuite 값을 확인 가능

운영 시 고려할 점

1. 규제 환경

  • 금융, 공공, 헬스케어, Open Banking, PCI-DSS 등 보안 및 규제 요구사항이 있는 경우
  • SecurityPolicy_TLS13_1_3_2025_09 또는 PQC 포함 정책 사용
  • Endpoint Access Mode는 STRICT

2. 레거시 클라이언트 호환성

  • TLS 1.2 이하만 지원하는 오래된 클라이언트가 있다면 당장 정책 변경 시 연결 실패 가능
  • 변경 전에 충분한 테스트 필요

3. 기존 보안 구성과 병행

  • API Gateway의 인증·권한 부여(IAM, Lambda Authorizer, JWT 등) + TLS 정책을 함께 사용
  • 통신 보안 + 접근 제어 + 로깅/모니터링 체계를 모두 갖추는 것이 좋음

점진적 마이그레이션 절차

  1. 테스트 환경에서 TLS 정책 적용
  2. 접근 로그 확인 ($context.tlsVersion, $context.cipherSuite)
  3. 예상치 못한 연결 실패나 오류 여부 점검
  4. 문제가 없으면 프로덕션 시스템에 배포

요약

  • API Gateway 2025년 11월 업데이트로 REST API 및 커스텀 도메인에 대해 강화된 TLS 보안 정책 적용 가능
  • TLS 1.3, PFS, PQC 준비 암호화 설정을 통해 보안 수준을 대폭 향상할 수 있음
  • 설정은 콘솔·CLI·SDK로 간단하며, endpoint access mode 설정(BASIC → STRICT)과 테스트 과정을 거치는 것이 좋음
  • 기존 인증 및 권한 부여 체계, 로깅/모니터링 체계와 함께 사용하면 엔드투엔드 API 보안 태세 강화 가능
반응형