API Gateway REST API의 WAF 보호 구성 점검

API의 노출 범위와 요구사항에 맞는 웹 요청 필터링을 적용하세요.

설명

API Gateway REST API 스테이지에 필요한 AWS WAF 보호가 없으면 알려진 공격 패턴이나 과도한 요청을 공통 규칙으로 걸러낼 기회를 잃을 수 있습니다. 실제 보호 수준은 연결한 Web ACL의 규칙과 동작에 달려 있습니다.

WAF는 인증·인가나 애플리케이션의 입력 검증을 대신하지 않습니다. API의 공개 범위와 처리 데이터에 맞춰 필요한 관리형·사용자 정의·요청 빈도 규칙을 선택하세요.

잠재적 영향

  • 악성 요청이 애플리케이션까지 도달해 취약점을 악용할 수 있습니다.
  • 과도한 요청으로 처리 비용이 늘거나 서비스 가용성이 떨어질 수 있습니다.

해결 방법

보호할 REST API 스테이지에 같은 리전의 REGIONAL Web ACL을 연결하세요. 필요한 규칙을 구성하고 정상 요청에 미치는 영향을 시험한 뒤 차단 동작을 적용하세요. WAF 로그와 지표를 확인하고 API 인증·인가 및 입력 검증도 유지하세요.

예시

첫 작업은 API 배포, 두 번째는 WAF 연결을 보여 주는 별도 발췌입니다. 두 번째 작업이 API 배포를 대신하지 않습니다. string03 Web ACL과 규칙은 미리 준비하고 리전·API ID·스테이지를 실제 값으로 바꾸세요.

변경 전

yaml
- name: Setup AWS API Gateway
  community.aws.aws_api_gateway:
    swagger_file: my_api.yml
    stage: production
    endpoint_type: EDGE
    state: present

production 스테이지를 배포합니다. 이 발췌에는 WAF 연결 작업이 없으므로 별도로 구성한 보호도 확인해야 합니다.

변경 후

yaml
- name: Associate API Gateway stage with WAF
  community.aws.wafv2_resources:
    name: string03
    scope: REGIONAL
    state: present
    arn: "arn:aws:apigateway:region::/restapis/api-id/stages/production"

지정한 REST API 스테이지를 REGIONAL Web ACL과 연결합니다. 실제 요청 처리 방식은 Web ACL 규칙과 동작에 따라 달라집니다.

참조