웹 ACL 테스트 - AWS WAF, AWS Firewall Manager 및 AWS Shield Advanced

웹 ACL 테스트

주의

AWS WAF Classic 지원은 2025년 9월 30일에 종료됩니다.

참고

이것은 AWS WAF Classic 설명서입니다. 2019년 11월 이전에 AWS WAF에서 규칙, 웹 ACL 등의 AWS WAF 리소스를 생성했으며 아직 최신 버전으로 마이그레이션하지 않은 경우, 이 버전만 사용해야 합니다. 웹 ACL 마이그레이션하려면 AWS WAF Classic 리소스를 AWS WAF로 마이그레이션 섹션을 참조하세요.

AWS WAF의 최신 버전은 AWS WAF(을)를 참조하세요.

허용할 웹 요청을 차단하거나 차단할 요청을 허용하도록 AWS WAF Classic을 실수로 구성하지 않았는지 확인하기 위해 웹 사이트나 웹 애플리케이션에서 사용하기 전에 웹 ACL을 철저하게 테스트하는 것이 좋습니다.

웹 ACL에서 규칙과 일치하는 웹 요청 계산

규칙을 웹 ACL에 추가할 때 AWS WAF Classic에서 해당 규칙의 모든 조건과 일치하는 웹 요청을 허용할지, 차단할지 또는 계수할지를 지정합니다. 다음 구성으로 시작하는 것이 좋습니다.

  • 웹 요청을 계산하도록 웹 ACL의 모든 규칙 구성

  • 요청을 허용하도록 웹 ACL에 대한 기본 작업 설정

이 구성에서 AWS WAF Classic은 첫 번째 규칙의 조건을 기반으로 각 웹 요청을 검사합니다. 웹 요청이 해당 규칙의 모든 조건과 일치하는 경우 AWS WAF Classic은 해당 규칙에 대한 카운터를 증가시킵니다. 그런 다음 AWS WAF Classic은 다음 규칙의 조건을 기반으로 웹 요청을 검사합니다. 요청이 해당 규칙의 모든 조건과 일치하는 경우 AWS WAF Classic은 규칙에 대한 카운터를 증가시킵니다. AWS WAF Classic에서 모든 규칙의 조건을 기반으로 요청을 검사할 때까지 이 작업이 계속됩니다.

요청 수를 계산하도록 웹 ACL의 모든 규칙을 구성하고 웹 ACL을 Amazon API Gateway API, CloudFront 배포 또는 Application Load Balancer와 연결한 후에는 Amazon CloudWatch 그래프에서 계수 결과를 볼 수 있습니다. 웹 ACL의 각 규칙과 API Gateway, CloudFront 또는 Application Load Balancer가 웹 ACL용으로 AWS WAF Classic에 전달하는 모든 요청에 대해 CloudWatch에서 다음을 수행할 수 있습니다.

  • 이전 한 시간 또는 이전 세 시간 동안의 데이터 보기

  • 데이터 요소 간의 간격 변경

  • CloudWatch에서 데이터에 대해 수행할 계산 변경(예: 최대, 최소, 평균 또는 합계)

참고

CloudFront가 포함된 AWS WAF Classic은 글로벌 서비스이며 AWS Management Console에서 미국 동부(버지니아 북부) 리전을 선택한 경우에만 지표를 사용할 수 있습니다. 다른 리전을 선택한 경우 비 AWS WAF Classic 지표가 CloudWatch 콘솔에 표시됩니다.

웹 ACL에서 규칙에 대한 데이터를 보려면
  1. AWS Management Console에 로그인하고 https://console.aws.amazon.com/cloudwatch/에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창의 [Metrics]에서 [WAF]를 선택합니다.

  3. 데이터를 보려는 웹 ACL의 확인란을 선택합니다.

  4. 해당되는 설정을 변경합니다.

    통계

    CloudWatch가 데이터에 대해 수행하는 계산을 선택합니다.

    시간 범위

    이전 한 시간 동안의 데이터를 볼지 또는 이전 세 시간 동안의 데이터를 볼지를 선택합니다.

    기간

    그래프에서 데이터 요소 간의 간격을 선택합니다.

    규칙

    데이터를 보려는 규칙을 선택합니다.

    유의할 사항:

    • 웹 ACL을 API Gateway API, CloudFront 배포 또는 Application Load Balancer와 연결한 경우 그래프에 데이터가 나타나고 사용 가능한 지표 목록에 웹 ACL에 대한 지표가 나타날 때까지 몇 분 간 기다려야 할 수 있습니다.

    • 두 개 이상의 API Gateway API, CloudFront 배포 또는 Application Load Balancer를 웹 ACL과 연결하면 웹 ACL과 연결된 모든 배포에 대한 모든 요청이 CloudWatch 데이터에 포함됩니다.

    • 데이터 요소 위에 마우스 커서를 놓으면 추가 정보를 볼 수 있습니다.

    • 그래프는 자동으로 새로 고침되지 않습니다. 표시 내용을 업데이트하려면 새로 고침( Icon to refresh the Amazon CloudWatch graph ) 아이콘을 선택합니다.

  5. (선택 사항) API Gateway CloudFront 또는 Application Load Balancer가 AWS WAF Classic으로 전달한 개별 요청에 대한 세부 정보를 봅니다. 자세한 내용은 API Gateway CloudFront 또는 Application Load Balancer가 AWS WAF Classic에 전달한 웹 요청 샘플 보기 섹션을 참조하세요.

  6. 가로채지 않아야 할 요청을 규칙이 가로채는 것으로 확인되면 해당 설정을 변경합니다. 자세한 내용은 웹 ACL(웹 액세스 제어 목록) 생성 및 구성 섹션을 참조하세요.

    모든 규칙이 올바른 요청만 가로채는 것으로 확인되는 경우 각 규칙에 대한 작업을 [Allow] 또는 [Block]으로 변경합니다. 자세한 내용은 웹 ACL 편집 섹션을 참조하세요.

API Gateway CloudFront 또는 Application Load Balancer가 AWS WAF Classic에 전달한 웹 요청 샘플 보기

AWS WAF Classic 콘솔에서 API Gateway CloudFront 또는 Application Load Balancer가 검사를 위해 AWS WAF Classic에 전달한 요청 샘플을 볼 수 있습니다. 샘플링된 각 요청에 대해 요청에 대한 세부 데이터를 볼 수 있습니다(예: 요청이 시작되는 IP 주소 및 요청에 포함된 헤더). 요청이 어떤 규칙과 일치하는지, 규칙이 요청을 허용하도록 구성되어 있는지 또는 차단하도록 구성되어 있는지도 볼 수 있습니다.

요청 샘플에는 각 규칙의 모든 조건과 일치하는 최대 100개의 요청과 특정 규칙의 모든 조건과 일치하는 않는 규칙에 적용되는 기본 작업에 대한 다른 100개의 요청이 포함되어 있습니다. 샘플의 요청은 모든 API Gateway APIs, CloudFront 엣지 로케이션 또는 이전 15분 동안 콘텐츠에 대해 요청을 수신한 Application Load Balancer에서 나옵니다.

API Gateway; CloudFront 또는 Application Load Balancer가 AWS WAF Classic으로 전달한 웹 요청 샘플을 보려면
  1. AWS Management Console에 로그인하여 https://console.aws.amazon.com/wafv2/에서 AWS WAF 콘솔을 엽니다.

    탐색 창에 AWS WAF Classic으로 전환이 표시되면 그것을 선택하십시오.

  2. 탐색 창에서 요청을 보려는 웹 ACL을 선택합니다.

  3. 오른쪽 창에서 [Requests] 탭을 선택합니다.

    [Sampled requests] 테이블에는 각 요청에 대해 다음과 같은 값이 표시됩니다.

    소스 IP

    요청이 시작된 IP 주소 또는 최종 사용자가 HTTP 프록시나 Application Load Balancer를 사용하여 요청을 전송한 경우 프록시 또는 Application Load Balancer의 IP 주소입니다.

    URI

    리소스를 식별하는 요청의 URI 경로(예: /images/daily-ad.jpg). 여기에는 URI의 쿼리 문자열 또는 조각 구성 요소는 포함되지 않습니다. 자세한 내용은 Uniform Resource Identifier(URI): Generic Syntax 섹션을 참조하세요.

    일치 규칙

    웹 요청이 모든 조건과 일치하는 웹 ACL의 첫 번째 규칙을 식별합니다. 웹 요청이 웹 ACL의 한 규칙이 있는 모든 조건과 일치하지 않는 경우 [Matches rule]의 값은 [Default]입니다.

    웹 요청이 규칙의 모든 조건과 일치하고 해당 규칙에 대한 작업이 개수이면 AWS WAF Classic은 웹 ACL의 이후 규칙을 기반으로 웹 요청을 계속 검사합니다. 이 경우 샘플링된 요청 목록에 웹 요청이 두 번 나타날 수 있습니다. [Count] 작업이 있는 규칙에 대해 한 번 나타나고 후속 규칙 또는 기본 작업에 대해 다시 한 번 나타납니다.

    작업

    해당 규칙에 대한 작업이 [Allow]인지, [Block]인지 또는 [Count]인지를 나타냅니다.

    시간

    AWS WAF Classic이 API Gateway, CloudFront 또는 Application Load Balancer로부터 요청을 전달받은 시간

  4. 요청에 대한 추가 정보를 표시하려면 해당 요청에 대한 IP 주소 왼쪽의 화살표를 선택합니다. AWS WAF Classic에는 다음과 같은 정보가 표시됩니다.

    소스 IP

    테이블의 [Source IP] 열에 있는 값과 동일한 IP 주소입니다.

    국가

    요청이 시작되는 국가의 2자 국가 코드입니다. 최종 사용자가 HTTP 프록시 또는 Application Load Balancer를 사용하여 요청을 전송한 경우 이 값은 HTTP 프록시 또는 Application Load Balancer가 있는 국가의 2자 국가 코드입니다.

    2자 국가 코드 및 해당 국가 이름의 목록은 Wikipedia 항목 ISO 3166-1 alpha-2를 참조하세요.

    메서드

    요청에 대한 HTTP 요청 메서드입니다. GET, HEAD, OPTIONS, PUT, POST, PATCH 또는 DELETE를 선택할 수 있습니다.

    URI

    테이블의 [URI] 열에 있는 값과 동일한 URI입니다.

    요청 헤더

    요청 헤더 및 요청의 헤더 값입니다.

  5. 샘플 요청의 목록을 새고 고치려면 [Get new samples]를 선택합니다.