AWS WAF 규칙 - AWS WAF, AWS Firewall Manager, 및 AWS Shield Advanced

AWS WAF 규칙

모든 규칙 그룹과 모든 웹 ACL에서 규칙은 웹 요청을 검사하는 방법과 웹 요청이 검사 기준과 일치할 때 수행할 작업을 정의합니다. 각 규칙에는 규칙 및 문 유형에 따라 모든 깊이에 중첩된 문이 포함될 수 있는 최상위 수준 문이 하나씩 필요합니다.

검사 지침은 JSON 형식의 규칙 문과 규칙 작업의 작업으로 포함됩니다.

웹 ACL의 규칙을 사용하여 다음과 같은 기준에 따라 웹 요청을 차단하거나 허용합니다.

  • 악성일 가능성이 있는 스크립트입니다. 공격자는 웹 애플리케이션의 취약성을 악용할 수 있는 스크립트를 포함시킵니다. 이것은 XXS(교차 사이트 스크립팅)이라고 알려져 있습니다.

  • 요청이 시작되는 IP 주소 또는 주소 범위입니다.

  • 요청이 시작되는 국가 또는 지리적 위치입니다.

  • 쿼리 문자열과 같은 요청에서 지정된 부분의 길이입니다.

  • 악성일 가능성이 있는 SQL 코드입니다. 공격자는 악성 SQL 코드를 웹 요청에 포함시켜서 데이터베이스에서 데이터를 추출하려고 시도합니다. 이것은 SQL 명령어 주입이라고 알려져 있습니다.

  • 요청에 나타나는 문자열입니다. 예를 들어 User-Agent 헤더에 나타나는 값 또는 쿼리 문자열에 나타나는 텍스트 문자열입니다. 정규식을 사용하여 이러한 문자열을 지정할 수도 있습니다.

일부 규칙 유형은 여러 값을 사용합니다. 예를 들어, IP 주소 규칙에서 최대 10,000개의 IP 주소 또는 IP 주소 범위를 지정할 수 있습니다.

앞의 목록에 나와 있는 문과 같이 웹 요청 검사 기준을 제공하는 문 외에도, AWS WAF에서는 규칙에서 명령문을 결합하는 데 사용하는 AND, OR 및 NOT에 대한 논리적 문을 지원합니다.

예를 들어 공격자에게서 확인한 최근 요청에 따라 다음과 같은 중첩 문을 결합하는 논리적 AND 문을 사용하여 규칙을 생성할 수 있습니다.

  • 요청이 192.0.2.44에서 나옵니다.

  • 요청의 User-Agent 헤더에 BadBot라는 값이 포함되어 있습니다.

  • 요청의 쿼리 문자열에 유사 SQL 코드가 포함되어 있는 것으로 보입니다.

이 경우 모든 문은 최상위 AND 문이 일치하도록 매치되어야 합니다.

규칙은 AWS WAF에 자체적으로 존재하지 않습니다. 규칙은 AWS 리소스가 아니므로 Amazon 리소스 이름(ARN)이 없습니다. 규칙 그룹 또는 규칙이 정의된 웹 ACL에서 이름으로 규칙에 액세스할 수 있습니다. 규칙 그룹 또는 규칙이 포함된 웹 ACL의 JSON 형식을 사용하여 규칙을 관리하고 다른 웹 ACL로 복사할 수 있습니다. 또는 웹 ACL 및 규칙 그룹에 사용할 수 있는 AWS WAF 콘솔의 규칙 빌더를 통해 이러한 규칙을 관리할 수 있습니다.