

**에 대한 새로운 콘솔 환경 소개 AWS WAF**

이제 업데이트된 환경을 사용하여 콘솔의 모든 위치에서 AWS WAF 기능에 액세스할 수 있습니다. 자세한 내용은 [콘솔 작업을 참조하세요](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html).

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 에서 규칙 문 설정 조정 AWS WAF
<a name="waf-rule-statement-fields"></a>

이 섹션에서는 웹 요청의 구성 요소를 검사하는 규칙 문에서 지정할 수 있는 설정에 대해 설명합니다. 사용에 대한 자세한 내용은 [에서 일치 규칙 문 사용 AWS WAF](waf-rule-statements-match.md)에서 개별 규칙 문을 참조하세요.

이러한 웹 요청 구성 요소의 일부는 속도 기반 규칙에서 사용자 지정 요청 집계 키로 사용할 수도 있습니다. 자세한 내용은 [에서 속도 기반 규칙 집계 AWS WAF](waf-rule-statement-type-rate-based-aggregation-options.md) 단원을 참조하세요.

요청 구성 요소 설정의 경우 구성 요소 유형 자체를 지정하고 구성 요소 유형에 따라 추가 옵션을 지정합니다. 예를 들어 텍스트가 포함된 구성 요소 유형을 검사할 때 텍스트 변환을 검사하기 전에 적용할 수 있습니다.

**참고**  
달리 명시되지 않는 한, 웹 요청에 규칙 문에 지정된 요청 구성 요소가 없는 경우는 요청을 규칙 기준과 일치하지 않는 것으로 AWS WAF 평가합니다.

**Contents**
+ [에서 구성 요소 요청 AWS WAF](waf-rule-statement-fields-list.md)
  + [HTTP 메서드](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-http-method)
  + [단일 헤더](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-header)
  + [모든 헤더](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-headers)
  + [헤더 순서](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-header-order)
  + [쿠키](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-cookies)
  + [URI 조각](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-fragment)
  + [URI 경로](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-path)
  + [JA3 지문](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja3-fingerprint)
  + [JA4 지문](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-ja4-fingerprint)
  + [쿼리 문자열](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-query-string)
  + [단일 쿼리 파라미터](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-query-param)
  + [모든 쿼리 파라미터](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-all-query-params)
  + [바디](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-body)
  + [JSON 본문](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-json-body)
+ [에서 전달된 IP 주소 사용 AWS WAF](waf-rule-statement-forwarded-ip-address.md)
+ [에서 HTTP/2 의사 헤더 검사 AWS WAF](waf-rule-statement-request-components-for-http2-pseudo-headers.md)
+ [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md)

# 에서 구성 요소 요청 AWS WAF
<a name="waf-rule-statement-fields-list"></a>

이 섹션에서는 검사용으로 지정할 수 있는 웹 요청의 구성 요소를 설명합니다. 웹 요청 내에서 패턴을 찾는 일치 규칙 문에 대해 요청 구성 요소를 지정합니다. 이러한 유형의 문에는 문자열 일치, 정규식 일치, 크기 제약 조건 및 SQL 주입 공격 문이 포함됩니다. 이러한 요청 구성 요소 설정을 사용하는 방법에 대한 자세한 내용은 [에서 일치 규칙 문 사용 AWS WAF](waf-rule-statements-match.md)에서 개별 규칙 문을 참조하세요.

달리 명시되지 않는 한, 웹 요청에 규칙 문에 지정된 요청 구성 요소가 없는 경우는 요청을 규칙 기준과 일치하지 않는 것으로 AWS WAF 평가합니다.

**참고**  
요청 구성 요소가 필요한 각 규칙 문에 대해 단일 요청 구성 요소를 지정합니다. 요청 구성 요소를 두 개 이상 검사하려면 각 구성 요소에 대한 규칙 문을 만듭니다.

 AWS WAF 콘솔 및 API 설명서는 다음 위치의 요청 구성 요소 설정에 대한 지침을 제공합니다.
+ 콘솔의 **규칙 작성기** – 정규 규칙 유형에 대한 **명령문** 설정에서는 **검사** 대화 상자의 **요청 구성 요소**에서 검사할 구성 요소를 선택합니다.
+ **API 문 내용** – `FieldToMatch`

이 섹션의 나머지 부분에서는 검사할 웹 요청의 일부에 대한 옵션을 설명합니다.

**Topics**
+ [HTTP 메서드](#waf-rule-statement-request-component-http-method)
+ [단일 헤더](#waf-rule-statement-request-component-single-header)
+ [모든 헤더](#waf-rule-statement-request-component-headers)
+ [헤더 순서](#waf-rule-statement-request-component-header-order)
+ [쿠키](#waf-rule-statement-request-component-cookies)
+ [URI 조각](#waf-rule-statement-request-component-uri-fragment)
+ [URI 경로](#waf-rule-statement-request-component-uri-path)
+ [JA3 지문](#waf-rule-statement-request-component-ja3-fingerprint)
+ [JA4 지문](#waf-rule-statement-request-component-ja4-fingerprint)
+ [쿼리 문자열](#waf-rule-statement-request-component-query-string)
+ [단일 쿼리 파라미터](#waf-rule-statement-request-component-single-query-param)
+ [모든 쿼리 파라미터](#waf-rule-statement-request-component-all-query-params)
+ [바디](#waf-rule-statement-request-component-body)
+ [JSON 본문](#waf-rule-statement-request-component-json-body)

## HTTP 메서드
<a name="waf-rule-statement-request-component-http-method"></a>

요청의 HTTP 메서드를 검사합니다. HTTP 메서드는 `POST` 또는 `GET` 등 웹 요청이 보호된 리소스에게 수행을 요구하고 있는 작업 유형을 나타냅니다.

## 단일 헤더
<a name="waf-rule-statement-request-component-single-header"></a>

요청에서 이름이 지정된 단일 헤더를 검사합니다.

이 옵션의 경우 헤더 이름(예: `User-Agent` 또는`Referer`)을 지정합니다. 이름의 문자열 일치는 대/소문자를 구분하지 않으며 요청 헤더와 규칙 모두에서 선행 및 후행 공백을 잘라낸 후 수행됩니다.

## 모든 헤더
<a name="waf-rule-statement-request-component-headers"></a>

쿠키를 포함한 모든 요청 헤더를 검사합니다. 필터를 적용하여 모든 헤더 중 일부를 검사할 수 있습니다.

이 옵션에 대해 다음 사양을 제공합니다.
+ **일치 패턴** - inspection. AWS WAF looks용 헤더의 하위 집합을 가져오는 데 사용할 필터로, 헤더 키에서 이러한 패턴을 찾습니다.

  일치 패턴 설정은 다음 중 하나일 수 있습니다.
  + **모두** — 모든 키를 일치시킵니다. 모든 헤더의 규칙 검사 기준을 평가합니다.
  + **제외된 헤더** – 여기에 지정된 문자열과 키가 일치하지 않는 헤더만 검사합니다. 키에 대한 문자열 일치에서는 대/소문자를 구분하지 않습니다. 매칭은 요청 헤더 및 매칭 규칙에서 선행 및 후행 공백을 잘라낸 후에 수행됩니다.
  + **포함된 헤더** – 여기에 지정된 문자열 중 하나와 일치하는 키가 있는 헤더만 검사합니다. 키에 대한 문자열 일치에서는 대/소문자를 구분하지 않습니다. 매칭은 요청 헤더 및 매칭 규칙에서 선행 및 후행 공백을 잘라낸 후에 수행됩니다.
+ **일치 범위** - 규칙 검사 기준으로 검사 AWS WAF 해야 하는 헤더의 부분입니다. **키**, **값** 또는 **모두**를 지정하여 키와 값이 둘 다 일치하는지 검사할 수 있습니다.

  **모두**의 경우 키와 값에 모두 일치 항목을 찾아야 할 필요는 없습니다. 일치하는 키 또는 값을 찾거나 둘 다 일치하는 항목을 찾으면 됩니다. 키와 값이 일치하도록 하려면 논리 `AND` 문을 사용하여 키를 검사하는 규칙 하나와 값을 검사하는 규칙 하나, 이렇게 두 가지 일치 규칙을 결합합니다.
+ **과대 처리** -가에서 검사 AWS WAF 할 수 있는 것보다 큰 헤더 데이터가 있는 요청을 AWS WAF 처리하는 방법.는 요청 헤더의 최대 처음 8KB(8,192바이트)와 최대 처음 200개의 헤더를 AWS WAF 검사할 수 있습니다. 콘텐츠는 첫 번째 한도에 도달할 AWS WAF 때까지 검사할 수 있습니다. 검사를 계속하거나 검사를 건너뛰고 요청을 규칙과 일치하거나 일치하지 않는 것으로 표시할 수 있습니다. 과대 콘텐츠 처리에 대한 자세한 내용은 [에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md) 섹션을 참조하세요.

## 헤더 순서
<a name="waf-rule-statement-request-component-header-order"></a>

가 검사를 위해 AWS WAF 수신하는 웹 요청에 나타나는 순서대로 요청의 헤더 이름 목록이 포함된 문자열을 검사합니다. AWS WAF 는 해당 문자열을 생성한 다음 이를 필드로 사용하여 검사의 구성 요소와 일치시킵니다.는 문자열의 헤더 이름을 콜론으로 AWS WAF 구분하고와 같이 공백을 추가하지 않습니다`host:user-agent:accept:authorization:referer`.

이 옵션에 대해 다음 사양을 제공합니다.
+ **과대 처리** -이 검사 AWS WAF 할 수 있는 것보다 많거나 큰 헤더 데이터가 있는 요청을가 어떻게 처리 AWS WAF 해야 합니까.는 요청 헤더의 최대 처음 8KB(8,192바이트)와 최대 처음 200개의 헤더를 AWS WAF 검사할 수 있습니다. 콘텐츠는 첫 번째 한도에 도달할 AWS WAF 때까지 검사할 수 있습니다. 사용할 수 있는 헤더 검사를 계속하거나 검사를 건너뛰고 요청을 규칙과 일치하거나 일치하지 않는 것으로 표시할 수 있습니다. 과대 콘텐츠 처리에 대한 자세한 내용은 [에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md) 섹션을 참조하세요.

## 쿠키
<a name="waf-rule-statement-request-component-cookies"></a>

모든 요청 쿠키를 검사합니다. 필터를 적용하여 모든 쿠키의 하위 집합을 검사할 수 있습니다.

이 옵션에 대해 다음 사양을 제공합니다.
+ **일치 패턴** - 검사할 쿠키의 하위 집합을 가져오는 데 사용하는 필터입니다. AWS WAF 는 쿠키 키에서 이러한 패턴을 찾습니다.

  일치 패턴 설정은 다음 중 하나일 수 있습니다.
  + **모두** — 모든 키를 일치시킵니다. 모든 쿠키의 규칙 검사 기준을 평가합니다.
  + **제외된 쿠키** – 여기에 지정된 문자열과 키가 일치하지 않는 쿠키만 검사합니다. 키의 문자열 일치는 대소문자를 구분하며 정확해야 합니다.
  + **포함된 쿠키** – 여기에 지정된 문자열 중 하나와 일치하는 키가 있는 쿠키만 검사합니다. 키의 문자열 일치는 대소문자를 구분하며 정확해야 합니다.
+ **일치 범위** - 규칙 검사 기준에 따라 검사 AWS WAF 해야 하는 쿠키의 부분입니다. 키와 값 둘 다에 대해 **키**, **값** 또는 **모두**를 지정할 수 있습니다.

  **모두**의 경우 키와 값에 모두 일치 항목을 찾아야 할 필요는 없습니다. 일치하는 키 또는 값을 찾거나 둘 다 일치하는 항목을 찾으면 됩니다. 키와 값이 일치하도록 하려면 논리 `AND` 문을 사용하여 키를 검사하는 규칙 하나와 값을 검사하는 규칙 하나, 이렇게 두 가지 일치 규칙을 결합합니다.
+ **과대 처리** - AWS WAF 가에서 검사 AWS WAF 할 수 있는 것보다 큰 쿠키 데이터가 있는 요청을 처리하는 방법.는 요청 쿠키의 최대 처음 8KB(8,192바이트)와 최대 처음 200개의 쿠키를 AWS WAF 검사할 수 있습니다. 콘텐츠는 첫 번째 한도에 도달할 AWS WAF 때까지 검사할 수 있습니다. 검사를 계속하거나 검사를 건너뛰고 요청을 규칙과 일치하거나 일치하지 않는 것으로 표시할 수 있습니다. 과대 콘텐츠 처리에 대한 자세한 내용은 [에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md) 섹션을 참조하세요.

## URI 조각
<a name="waf-rule-statement-request-component-uri-fragment"></a>

**참고**  
URI 조각 검사는 CloudFront 배포 및 Application Load Balancer에서만 사용할 수 있습니다.

“\$1” 기호 뒤에 오는 URL의 부분을 검사하여 \$1section2와 같은 리소스에 대한 추가 정보를 제공합니다. 자세한 내용은 [Uniform Resource Identifier(URI): Generic Syntax](https://tools.ietf.org/html/rfc3986#section-3) 섹션을 참조하세요.

이 옵션과 함께 텍스트 변환을 사용하지 않는 경우 AWS WAF 는 URI 조각을 정규화하지 않고 요청에서 클라이언트로부터 수신하는 그대로 검사합니다. 텍스트 변환에 대한 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 섹션을 참조하세요.

**규칙 문 요구 사항**  
이 규칙 문에 대한 폴백 동작을 제공해야 합니다. 폴백 동작은 URI에 조각이 없거나 연결된 서비스가 Application Load Balancer 또는 CloudFront가 아닌 경우 웹 요청에 할당 AWS WAF 하려는 일치 상태입니다. 일치하도록 선택하면는 요청을 규칙 문과 일치하는 것으로 AWS WAF 처리하고 요청에 규칙 작업을 적용합니다. 일치하지 않도록 선택하면는 요청을 규칙 문과 일치하지 않는 것으로 AWS WAF 처리합니다.

## URI 경로
<a name="waf-rule-statement-request-component-uri-path"></a>

리소스를 식별하는 URL의 부분을 검사합니다(예: `/images/daily-ad.jpg`). 자세한 내용은 [Uniform Resource Identifier(URI): Generic Syntax](https://tools.ietf.org/html/rfc3986#section-3) 섹션을 참조하세요.

이 옵션과 함께 텍스트 변환을 사용하지 않는 경우 AWS WAF 는 URI를 정규화하지 않고 요청에서 클라이언트로부터 수신하는 그대로 검사합니다. 텍스트 변환에 대한 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 섹션을 참조하세요.

## JA3 지문
<a name="waf-rule-statement-request-component-ja3-fingerprint"></a>

요청의 JA3 지문을 검사합니다.

**참고**  
JA3 지문 검사는 Amazon CloudFront 배포 및 Application Load Balancer에서만 사용할 수 있습니다.

JA3 자문은 수신 요청의 TLS 클라이언트 Hello에서 파생된 32자 해시입니다. 이 지문은 클라이언트의 TLS 구성에 대한 고유 식별자 역할을 합니다.는 AWS WAF 계산에 충분한 TLS 클라이언트 Hello 정보가 있는 각 요청에 대해이 지문을 계산하고 기록합니다. 거의 모든 웹 요청에는 이 정보가 포함됩니다.

**클라이언트용 JA3 지문을 가져오는 방법**  
보호 팩(웹 ACL) 로그에서 클라이언트 요청에 대한 JA3 지문을 얻을 수 있습니다. AWS WAF 가 지문을 계산할 수 있는 경우 로그에 포함됩니다. 로깅 필드에 대한 자세한 내용은 [보호 팩(웹 ACL) 트래픽에 대한 로그 필드](logging-fields.md) 섹션을 참조하세요.

**규칙 문 요구 사항**  
제공하는 문자열과 정확히 일치하도록 설정된 문자열 일치 문 내에서만 JA3 지문을 검사할 수 있습니다. 문자열 일치 문 사양의 로그에서 JA3 지문 문자열을 제공하여 동일한 TLS 구성을 갖는 향후 요청과 일치시킵니다. 문자열 일치 문에 대한 자세한 내용은 [문자열 일치 규칙 문](waf-rule-statement-type-string-match.md) 섹션을 참조하세요.

이 규칙 문에 대한 폴백 동작을 제공해야 합니다. 폴백 동작은가 JA3 지문을 계산할 수 없는 경우 AWS WAF 웹 요청에 할당 AWS WAF 하려는 일치 상태입니다. 일치시키도록 선택하면 AWS WAF 에서 요청을 규칙 문과 일치하는 것으로 처리하며 규칙 동작을 요청에 적용합니다. 일치하지 않도록 선택하면는 요청을 규칙 문과 일치하지 않는 것으로 AWS WAF 처리합니다.

이 일치 옵션을 사용하려면 보호 팩(웹 ACL) 트래픽을 기록해야 합니다. 자세한 내용은 [AWS WAF 보호 팩(웹 ACL) 트래픽 로깅](logging.md) 단원을 참조하세요.

## JA4 지문
<a name="waf-rule-statement-request-component-ja4-fingerprint"></a>

요청의 JA4 지문을 검사합니다.

**참고**  
JA4 지문 검사는 Amazon CloudFront 배포 및 Application Load Balancer에서만 사용할 수 있습니다.

JA4 지문은 수신 요청의 TLS 클라이언트 Hello에서 파생된 36자 해시입니다. 이 지문은 클라이언트의 TLS 구성에 대한 고유 식별자 역할을 합니다. JA4 지문은 일부 브라우저의 고유 지문을 줄일 수 있는 JA3 지문의 확장입니다. AWS WAF 는 계산에 충분한 TLS Client Hello 정보가 있는 각 요청에 대해 이 지문을 계산하고 로깅합니다. 거의 모든 웹 요청에는 이 정보가 포함됩니다.

**클라이언트의 JA4 지문을 가져오는 방법**  
보호 팩(웹 ACL) 로그에서 클라이언트 요청에 대한 JA4 지문을 얻을 수 있습니다. AWS WAF 가 지문을 계산할 수 있는 경우 로그에 포함됩니다. 로깅 필드에 대한 자세한 내용은 [보호 팩(웹 ACL) 트래픽에 대한 로그 필드](logging-fields.md) 섹션을 참조하세요.

**규칙 문 요구 사항**  
제공한 문자열과 정확히 일치하도록 설정된 문자열 일치 문 내에서만 JA4 지문을 검사할 수 있습니다. 문자열 일치 문 사양의 로그에서 JA4 지문 문자열을 제공하여 TLS 구성이 동일한 향후 요청과 일치시킵니다. 문자열 일치 문에 대한 자세한 내용은 [문자열 일치 규칙 문](waf-rule-statement-type-string-match.md) 섹션을 참조하세요.

이 규칙 문에 대한 폴백 동작을 제공해야 합니다. 폴백 동작은가 JA4 지문을 계산할 수 없는 경우 AWS WAF 웹 요청에 할당 AWS WAF 하려는 일치 상태입니다. 일치시키도록 선택하면 AWS WAF 에서 요청을 규칙 문과 일치하는 것으로 처리하며 규칙 동작을 요청에 적용합니다. 일치하지 않도록 선택하면는 요청을 규칙 문과 일치하지 않는 것으로 AWS WAF 처리합니다.

이 일치 옵션을 사용하려면 보호 팩(웹 ACL) 트래픽을 기록해야 합니다. 자세한 내용은 [AWS WAF 보호 팩(웹 ACL) 트래픽 로깅](logging.md) 단원을 참조하세요.

## 쿼리 문자열
<a name="waf-rule-statement-request-component-query-string"></a>

`?` 문자(있는 경우) 뒤에 나타나는 URL의 부분을 검사합니다.

**참고**  
사이트 간 스크립팅 일치 명령문의 경우 **쿼리 문자열** 대신 **모든 쿼리 파라미터**를 선택하는 것이 좋습니다. **모든 쿼리 파라미터**를 선택하면 기본 비용에 WCU 10개가 추가됩니다.

## 단일 쿼리 파라미터
<a name="waf-rule-statement-request-component-single-query-param"></a>

쿼리 문자열의 일부로 정의한 단일 쿼리 파라미터를 검사합니다. 지정한 파라미터의 값을 AWS WAF 검사합니다.

이 옵션의 경우 **쿼리 인수**도 지정합니다. 예를 들어 URL이 `www.xyz.com?UserName=abc&SalesRegion=seattle`인 경우 쿼리 인수로 `UserName` 또는 `SalesRegion`를 지정할 수 있습니다. 인수의 최대 길이는 30자입니다. 이름은 대소문자를 구분하지 않으므로 `UserName`을 지정하면 AWS WAF 는 `username` 및 `UsERName`을 포함한 `UserName`의 모든 변형과 일치합니다.

쿼리 문자열에 지정한 쿼리 인수의 인스턴스가 두 개 이상 포함된 경우 OR는 로직을 사용하여 일치하는 모든 값을 AWS WAF 검사합니다. 예를 들어 URL `www.xyz.com?SalesRegion=boston&SalesRegion=seattle`에서 AWS WAF 은 `boston` 및 `seattle`에 대해 지정한 이름을 평가합니다. 둘 중 하나가 일치하는 경우 검사는 일치입니다.

## 모든 쿼리 파라미터
<a name="waf-rule-statement-request-component-all-query-params"></a>

ㅌ요청의 모든 쿼리 파라미터를 검사합니다. 이는 단일 쿼리 파라미터 구성 요소 선택과 유사하지만 쿼리 문자열 내의 모든 인수 값을 AWS WAF 검사합니다. 예를 들어, URL이 `www.xyz.com?UserName=abc&SalesRegion=seattle`인 경우 AWS WAF 는 `UserName` 또는 `SalesRegion`의 값이 검사 기준과 일치하는 경우 일치를 트리거합니다.

이 옵션을 선택하면 기본 비용에 WCU 10개가 추가됩니다.

## 바디
<a name="waf-rule-statement-request-component-body"></a>

요청 본문을 일반 텍스트로 평가해 검사합니다. JSON 콘텐츠 유형을 사용하여 본문을 JSON으로 평가할 수도 있습니다.

요청 본문은 요청 헤더 바로 뒤에 오는 요청 부분입니다. 여기에는 웹 요청에 필요한 추가 데이터(예: 양식의 데이터)가 포함됩니다.
+ 콘솔의 **콘텐츠 유형** 옵션에서 **일반 텍스트**를 선택하여 **요청 옵션**에서 **본문**을 선택합니다.
+ API의 규칙 `FieldToMatch` 사양에서 요청 본문을 일반 텍스트로 검사하도록 `Body`를 지정합니다.

Application Load Balancer 및의 경우 요청 본문의 처음 8KB를 검사할 수 AWS AppSync AWS WAF 있습니다. CloudFront, API Gateway, Amazon Cognito, App Runner 및 Verified Access의 경우 기본적으로 AWS WAF 는 처음 16KB를 검사할 수 있으며, 보호 팩(웹 ACL) 구성에서 제한을 최대 64KB까지 늘릴 수 있습니다. 자세한 내용은 [에서 본문 검사 관리에 대한 고려 사항 AWS WAF](web-acl-setting-body-inspection-limit.md) 단원을 참조하십시오.

이 구성 요소 유형에 대한 과대 처리를 지정해야 합니다. 과대 처리는가 검사할 AWS WAF 수 있는 것보다 큰 본문 데이터가 있는 요청을가 AWS WAF 처리하는 방법을 정의합니다. 검사를 계속하거나 검사를 건너뛰고 요청을 규칙과 일치하거나 일치하지 않는 것으로 표시할 수 있습니다. 과대 콘텐츠 처리에 대한 자세한 내용은 [에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md) 섹션을 참조하세요.

또한 본문을 구문 분석된 JSON으로 평가할 수도 있습니다. 자세한 내용은 이어지는 섹션을 참조하세요.

## JSON 본문
<a name="waf-rule-statement-request-component-json-body"></a>

JSON으로 평가된 요청 본문을 검사합니다. 본문을 일반 텍스트로 평가할 수도 있습니다.

요청 본문은 요청 헤더 바로 뒤에 오는 요청 부분입니다. 여기에는 웹 요청에 필요한 추가 데이터(예: 양식의 데이터)가 포함됩니다.
+ 콘솔의 **콘텐츠 유형** 옵션에서 **JSON**을 선택하여 **요청 옵션**에서 **본문**을 선택합니다.
+ API의 규칙 `FieldToMatch` 사양에서 `JsonBody`를 지정합니다.

Application Load Balancer 및의 경우 요청 본문의 처음 8KB를 검사할 수 AWS AppSync AWS WAF 있습니다. CloudFront, API Gateway, Amazon Cognito, App Runner 및 Verified Access의 경우 기본적으로 AWS WAF 는 처음 16KB를 검사할 수 있으며, 보호 팩(웹 ACL) 구성에서 제한을 최대 64KB까지 늘릴 수 있습니다. 자세한 내용은 [에서 본문 검사 관리에 대한 고려 사항 AWS WAF](web-acl-setting-body-inspection-limit.md) 단원을 참조하십시오.

이 구성 요소 유형에 대한 과대 처리를 지정해야 합니다. 과대 처리는가 검사할 AWS WAF 수 있는 것보다 큰 본문 데이터가 있는 요청을가 AWS WAF 처리하는 방법을 정의합니다. 검사를 계속하거나 검사를 건너뛰고 요청을 규칙과 일치하거나 일치하지 않는 것으로 표시할 수 있습니다. 과대 콘텐츠 처리에 대한 자세한 내용은 [에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md) 섹션을 참조하세요.

이 옵션을 선택하면 일치 문의 기본 비용 WCU가 두 배로 늘어납니다. 예를 들어 JSON 구문 분석을 사용하지 않는 일치 문 기본 비용이 5WCU인 경우 JSON 구문 분석을 사용하면 비용이 두 배가 되어 10WCU로 됩니다.

이 옵션의 경우 다음 섹션에 설명된 대로 추가 사양을 제공합니다.

**가 JSON 본문 검사를 AWS WAF 처리하는 방법**  
는 웹 요청 본문을 JSON으로 AWS WAF 검사할 때 본문을 구문 분석하고 검사를 위해 JSON 요소를 추출하는 단계를 수행합니다.는 구성 선택에 따라 이러한 단계를 AWS WAF 수행합니다.

다음은가 AWS WAF 수행하는 단계입니다.

1. **본문 콘텐츠 구문 분석** - AWS WAF 는 검사를 위해 JSON 요소를 추출하기 위해 웹 요청 본문의 콘텐츠를 구문 분석합니다.는 본문의 전체 콘텐츠를 구문 분석하는 데 최선을 AWS WAF 다하지만 콘텐츠의 다양한 오류 상태에 대해서는 구문 분석이 실패할 수 있습니다. 예시에는 잘못된 문자, 중복 키, 잘림 및 루트 노드가 객체 또는 배열이 아닌 콘텐츠가 있습니다.

   **본문 구문 분석 대체 동작** 옵션은 JSON 본문을 완전히 구문 분석하지 못하는 경우 수행할 AWS WAF 작업을 결정합니다.
   + **없음(기본 동작)** - 구문 분석 오류가 발생한 시점까지만 콘텐츠를 AWS WAF 평가합니다.
   + **문자열로 평가** - 본문을 일반 텍스트로 검사합니다.는 JSON 검사에 대해 정의한 텍스트 변환 및 검사 기준을 본문 텍스트 문자열에 AWS WAF 적용합니다.
   + **일치** - 웹 요청을 규칙 문과 일치하는 것으로 처리합니다.는 규칙 작업을 요청에 AWS WAF 적용합니다.
   + **일치하지 않음** - 웹 요청을 규칙 문과 일치하지 않는 것으로 처리합니다.
**참고**  
이 폴백 동작은에서 JSON 문자열을 구문 분석하는 동안 오류가 AWS WAF 발생할 때만 트리거됩니다.

**구문 분석으로 JSON이 완전히 검증되지 않음**  
AWS WAF 구문 분석은 입력 JSON 문자열을 완전히 검증하지 않으므로 잘못된 JSON에 대해서도 구문 분석이 성공할 수 있습니다.

   예를 들어,는 오류 없이 다음과 같은 잘못된 JSON을 AWS WAF 구문 분석합니다.
   + 쉼표 누락: `{"key1":"value1""key2":"value2"}`
   + 콜론 누락: `{"key1":"value1","key2""value2"}`
   + 추가 콜론: `{"key1"::"value1","key2""value2"}`

   구문 분석이 성공했지만 결과가 완전히 유효한 JSON이 아닌 것과 같은 경우 평가의 후속 단계의 결과가 달라질 수 있습니다. 추출에 일부 요소가 누락되거나 규칙 평가에서 예상치 못한 결과가 있을 수 있습니다. 애플리케이션에서 수신하는 JSON을 검증하고 필요에 따라 잘못된 JSON을 처리하는 것이 좋습니다.

1. **JSON 요소 추출** - 설정에 따라 검사할 JSON 요소의 하위 집합을 AWS WAF 식별합니다.
   + 옵션 **JSON 일치 범위는**가 검사 AWS WAF 해야 하는 JSON의 요소 유형을 지정합니다.

     키와 값 둘 다에 대해 **키**, **값** 또는 **모두**를 지정할 수 있습니다.

     **모두**의 경우 키와 값에 모두 일치 항목을 찾아야 할 필요는 없습니다. 일치하는 키 또는 값을 찾거나 둘 다 일치하는 항목을 찾으면 됩니다. 키와 값이 일치하도록 하려면 논리 `AND` 문을 사용하여 키를 검사하는 규칙 하나와 값을 검사하는 규칙 하나, 이렇게 두 가지 일치 규칙을 결합합니다.
   + **검사할 콘텐츠** 옵션은 요소 세트를 검사 AWS WAF 하려는 하위 집합으로 필터링하는 방법을 지정합니다.

     다음 중 하나를 지정해야 합니다.
     + **전체 JSON 콘텐츠** - 모든 요소를 평가합니다.
     + **포함된 요소만** - 제공한 JSON 포인터 기준과 경로가 일치하는 요소만 평가합니다. JSON에 *모든* 경로를 포함하려면 이 옵션을 사용하지 마세요. 대신 **전체 JSON 콘텐츠**를 사용합니다.

       JSON 포인터 구문에 대한 자세한 내용을 알아보려면 Internet Engineering Task Force(IETF) 설명서 [JavaScript Object Notation (JSON) Pointer](https://tools.ietf.org/html/rfc6901)(JavaScript 객체 표기법(JSON) 포인터)를 참조하세요.

       예를 들어, 콘솔에서 다음을 제공할 수 있습니다.

       ```
       /dogs/0/name
       /dogs/1/name
       ```

       API 또는 CLI에서 다음을 제공할 수 있습니다.

       ```
       "IncludedPaths": ["/dogs/0/name", "/dogs/1/name"]
       ```

   예를 들어 **검사할 콘텐츠** 설정이 **요소만 포함**되고 포함된 요소 설정이 `/a/b`이라고 가정해 보겠습니다.

   다음 예시 JSON 본문의 경우: 

   ```
   { 
     "a":{
       "c":"d",
       "b":{
         "e":{
           "f":"g"
         }
       }
     }
   }
   ```

   각 **JSON 일치 범위** 설정을 AWS WAF 검사할 요소 세트는 아래에 나열되어 있습니다. 포함된 요소 경로의 일부인 `b` 키는 평가되지 않는다는 점에 유의하세요.
   + **모두**: `e`, `f,`, `g`.
   + **키**: `e` 및 `f`.
   + **값**: `g`.

1. **JSON 요소 세트 검사** - 추출된 JSON 요소에 지정한 텍스트 변환을 AWS WAF 적용한 다음 결과 요소 세트를 규칙 문의 일치 기준과 일치시킵니다. 이는 다른 웹 요청 구성 요소와 동일한 변환 및 평가 동작입니다. 추출된 JSON 요소 중 하나라도 일치하면 웹 요청이 규칙과 일치하는 것입니다.

# 에서 전달된 IP 주소 사용 AWS WAF
<a name="waf-rule-statement-forwarded-ip-address"></a>

이 섹션은 웹 요청의 IP 주소를 사용하는 규칙 설명에 적용됩니다. 기본적으로는 웹 요청 오리진의 IP 주소를 AWS WAF 사용합니다. 웹 요청이 하나 이상의 프록시 또는 로드 밸런서를 통과할 경우 웹 요청 오리진에는 클라이언트의 최초 주소가 아닌 마지막 프록시의 주소가 포함됩니다. 이 경우 발신 클라이언트 주소는 일반적으로 다른 HTTP 헤더를 통해 전달됩니다. 이 헤더는 일반적으로 `X-Forwarded-For`(XFF)지만 다른 헤더일 수도 있습니다.

**IP 주소를 사용하는 규칙 문**  
IP 주소를 사용하는 규칙 문은 다음과 같습니다.
+ [IP 집합 일치](waf-rule-statement-type-ipset-match.md) - IP 주소가 IP 집합에 정의된 주소와 일치하는지 검사합니다.
+ [지리적 일치](waf-rule-statement-type-geo-match.md)- IP 주소를 사용하여 오리진 국가 및 리전을 결정하고 오리진 국가를 국가 목록과 비교합니다.
+ [ASN 일치](waf-rule-statement-type-asn-match.md) - IP 주소를 사용하여 Autonomous System Number(ASN)를 확인하고 ASN을 ASN의 목록과 일치시킵니다
+ [속도 기반 규칙 문 사용](waf-rule-statement-type-rate-based.md) - 개별 IP 주소가 너무 높은 속도로 요청을 보내지 않도록 IP 주소별로 요청을 집계할 수 있습니다. IP 주소 집계를 단독으로 사용하거나 다른 집계 키와 함께 사용할 수 있습니다.

웹 요청의 오 AWS WAF 리진을 사용하는 대신 헤더 또는 다른 HTTP `X-Forwarded-For` 헤더에서 이러한 규칙 문에 전달된 IP 주소를 사용하도록에 지시할 수 있습니다. 사양을 제공하는 방법에 대한 자세한 내용은 개별 규칙 문 유형에 대한 지침을 참조하세요.

**참고**  
헤더가 누락된 경우는 해당 헤더를 "일치 없음"으로 사용하는 문을 AWS WAF 평가합니다. "일치 없음" 결과가 있는 NOT 문을 사용하는 경우는 평가를 "일치"로 AWS WAF 변환합니다. 누락된 헤더는 대체 동작을 트리거하지 않으며 잘못된 헤더 값만 트리거합니다.

**폴백 동작**  
전달된 IP 주소를 사용하는 경우 요청에 지정된 위치에 유효한 IP 주소가 없는 경우가 웹 요청에 AWS WAF 할당할의 일치 상태를 나타냅니다.
+ **일치** - 웹 요청을 규칙 문과 일치하는 것으로 처리합니다.는 규칙 작업을 요청에 AWS WAF 적용합니다.
+ **일치하지 않음** - 웹 요청을 규칙 문과 일치하지 않는 것으로 처리합니다.

**AWS WAF Bot Control에 사용되는 IP 주소**  
Bot Control 관리형 규칙 그룹은의 IP 주소를 사용하여 봇을 확인합니다 AWS WAF. Bot Control을 사용하고 프록시나 로드 밸런서를 통해 라우팅되는 봇을 확인한 경우 사용자 지정 규칙을 사용하여 봇을 명시적으로 허용해야 합니다. 예를 들어, 전달된 IP 주소를 사용하여 확인된 봇을 탐지하고 허용하는 사용자 지정 IP 집합 일치 규칙을 구성할 수 있습니다. 규칙을 사용하여 다양한 방식으로 봇 관리를 사용자 지정할 수 있습니다. 자세한 내용 및 예제는 [AWS WAF 봇 제어](waf-bot-control.md) 섹션을 참조하세요.

**전달된 IP 주소 사용에 대한 일반 고려 사항**  
전달된 IP 주소를 사용하기 전에 다음과 같은 일반적인 주의 사항을 참고하십시오.
+ 헤더는 과정 중에 프록시를 통해 수정될 수 있으며, 프록시는 다양한 방식으로 헤더를 처리할 수 있습니다.
+ 공격자가 AWS WAF 검사를 우회하기 위해 헤더의 내용을 변경할 수 있습니다.
+ 헤더 내 IP 주소는 형식이 잘못되었거나 유효하지 않을 수 있습니다.
+ 지정한 헤더가 요청에 전혀 없을 수도 있습니다.

**에서 전달된 IP 주소 사용 시 고려 사항 AWS WAF**  
다음 목록은 AWS WAF에서 전달된 IP 주소를 사용하기 위한 요구 사항 및 주의 사항을 설명합니다.
+ 단일 규칙의 경우 전달된 IP 주소에 헤더 하나를 지정할 수 있습니다. 헤더 사양은 대/소문자를 구분하지 않습니다.
+ 속도 기반 규칙 문의 경우 중첩된 범위 지정 문이 전달된 IP 구성을 상속하지 않습니다. 전달된 IP 주소를 사용하는 각 명령문의 구성을 지정하십시오.
+ 지리적 일치, ASN 일치 및 속도 기반 규칙의 경우 헤더의 첫 번째 주소를 AWS WAF 사용합니다. 예를 들어 헤더에이 포함된 경우 `10.1.1.1, 127.0.0.0, 10.10.10.10` AWS WAF 는 `10.1.1.1`
+ IP 집합 일치의 경우, 헤더의 첫 번째 주소, 마지막 주소 또는 임의 주소와 일치시킬지 여부를 지정합니다. 지정한 경우는 헤더의 모든 주소를 AWS WAF 검사하여 일치하는 주소를 최대 10개까지 검사합니다. 헤더에 10개 이상의 주소가 포함된 경우는 마지막 10개를 AWS WAF 검사합니다.
+ 주소가 여러 개 포함된 헤더는 주소 사이에 쉼표 구분 기호를 사용해야 합니다. 요청에 쉼표 이외의 구분자를 사용하는 경우 AWS WAF 는 헤더의 IP 주소 형식을 잘못된 것으로 간주합니다.
+ 헤더 내의 IP 주소 형식이 잘못되었거나 유효하지 않은 경우 AWS WAF 는 사용자가 전달된 IP 구성에 지정하는 폴백 동작에 따라 웹 요청을 규칙과 일치하거나 일치하지 않는 것으로 지정합니다.
+ 지정한 헤더가 요청에 없는 경우 AWS WAF 는 요청에 규칙을 전혀 적용하지 않습니다. 즉, AWS WAF 는 규칙 작업을 적용하지 않고 대체 동작을 적용하지 않습니다.
+ IP 주소에 대해 전달된 IP 헤더를 사용하는 규칙 문은 웹 요청 오리진에서 보고하는 IP 주소를 사용하지 않습니다.

**에서 전달된 IP 주소를 사용하는 모범 사례 AWS WAF**  
전달된 IP 주소를 사용하는 경우 다음 모범 사례를 따르십시오.
+ 전달된 IP 구성을 활성화하기 전에 요청 헤더의 가능한 모든 상태를 신중하게 고려하십시오. 원하는 동작을 얻기 위해 둘 이상의 규칙을 사용해야 할 수도 있습니다.
+ 여러 개의 전달된 IP 헤더를 검사하거나 웹 요청 오리진 및 전달된 IP 헤더를 검사하려면 각 IP 주소 소스에 대해 하나의 규칙을 사용하십시오.
+ 유효하지 않은 헤더를 포함하는 웹 요청을 차단하려면 규칙 작업을 차단으로 설정하고 전달된 IP 구성의 폴백 동작을 일치시키도록 설정하십시오.

**전달된 IP 주소에 대한 JSON 예제**  
다음 지역 일치문은 오리진 국가가 `US`인 IP만 `X-Forwarded-For` 헤더에 포함되는 경우에 일치합니다.

```
{
  "Name": "XFFTestGeo",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "XFFTestGeo"
  },
  "Statement": {
    "GeoMatchStatement": {
      "CountryCodes": [
        "US"
      ],
      "ForwardedIPConfig": {
        "HeaderName": "x-forwarded-for",
        "FallbackBehavior": "MATCH"
      }
    }
  }
}
```

다음 속도 기반 규칙은 `X-Forwarded-For` 헤더의 첫 번째 IP를 기준으로 요청을 집계합니다. 규칙은 중첩된 지역 일치 문과 일치하는 요청 수만 계산하고 리전 일치 문과 일치하는 요청만 차단합니다. 또한 중첩된 지역 일치문은 `X-Forwarded-For` 헤더를 사용하여 IP 주소에 오리진 국가로 `US`가 표시되는지 여부를 결정합니다. 이 경우 또는 헤더가 있지만 형식이 잘못된 경우 지역 일치 문에서 일치하는 항목을 반환합니다.

```
{
  "Name": "XFFTestRateGeo",
  "Priority": 0,
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "XFFTestRateGeo"
  },
  "Statement": {
    "RateBasedStatement": {
      "Limit": "100",
      "AggregateKeyType": "FORWARDED_IP",
      "ScopeDownStatement": {
        "GeoMatchStatement": {
          "CountryCodes": [
            "US"
          ],
          "ForwardedIPConfig": {
            "HeaderName": "x-forwarded-for",
            "FallbackBehavior": "MATCH"
          }
        }
      },
      "ForwardedIPConfig": {
        "HeaderName": "x-forwarded-for",
        "FallbackBehavior": "MATCH"
      }
    }
  }
}
```

# 에서 HTTP/2 의사 헤더 검사 AWS WAF
<a name="waf-rule-statement-request-components-for-http2-pseudo-headers"></a>

이 섹션에서는 AWS WAF 를 사용하여 HTTP/2 의사 헤더를 검사하는 방법을 설명합니다.

HTTP/2 트래픽을 지원하는 보호된 AWS 리소스는 검사를 AWS WAF 위해 HTTP/2 의사 헤더를에 전달하지 않지만가 AWS WAF 검사하는 웹 요청 구성 요소에 의사 헤더의 콘텐츠를 제공합니다.

 AWS WAF 를 사용하여 다음 표에 나열된 의사 헤더만 검사할 수 있습니다.


**웹 요청 구성 요소로 매핑된 HTTP/2 의사 헤더 콘텐츠**  

| HTTP/2 의사 헤더 | 검사할 웹 요청 구성 요소 | 설명서 | 
| --- | --- | --- | 
|  `:method`  |  HTTP 메서드   |  [HTTP 메서드](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-http-method)  | 
|  `:authority`  |  `Host` 헤더   |  [단일 헤더](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-header)  [모든 헤더](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-headers)  | 
|  `:path` URI 경로  | URI 경로  | [URI 경로](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-uri-path) | 
|  `:path` 쿼리  |  쿼리 문자열  |  [쿼리 문자열](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-query-string) [단일 쿼리 파라미터](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-single-query-param) [모든 쿼리 파라미터](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-all-query-params)  | 

# 에서 텍스트 변환 사용 AWS WAF
<a name="waf-rule-statement-transformation"></a>

이 섹션에서는 요청을 검사하기 전에 AWS WAF 가 적용할 변환을 제공하는 방법을 설명합니다.

패턴을 찾거나 제약 조건을 설정하는 문에서 요청을 검사하기 전에 AWS WAF 가 적용할 변환을 제공할 수 있습니다. 변환은 공격자가 AWS WAF를 우회하기 위해 사용하는 일부 비정상적인 서식을 제거하기 위해 웹 요청을 다시 포맷합니다.

이 옵션을 JSON 본문 요청 구성 요소 선택과 함께 사용하는 경우 AWS WAF 는 JSON에서 검사할 요소를 구문 분석하고 추출한 후 변환을 적용합니다. 자세한 내용은 [JSON 본문](waf-rule-statement-fields-list.md#waf-rule-statement-request-component-json-body) 단원을 참조하십시오.

하나 이상의 변환을 제공하는 경우 AWS WAF 에서 변환을 적용하는 순서도 설정합니다.

**WCU** – 각 텍스트 변환은 10WCU입니다.

 AWS WAF 콘솔 및 API 설명서는 다음 위치에서 이러한 설정에 대한 지침도 제공합니다.
+ 콘솔의 **규칙 빌더** - **텍스트 변환**. 이 옵션은 요청 구성 요소를 사용할 때 제공됩니다.
+ **API 문 내용** – `TextTransformations`텍스트 변환을 위한 옵션

각 변환 목록에는 콘솔 및 API 사양과 뒤 이어 설명이 표시됩니다.

Base64 decode – `BASE64_DECODE`  
AWS WAF 는 Base64-encoded 문자열을 디코딩합니다.

Base64 decode extension – `BASE64_DECODE_EXT`  
AWS WAF 는 Base64-encoded 문자열을 디코딩하지만 유효하지 않은 문자를 무시하는 관대한 구현을 사용합니다.

Command line – `CMD_LINE`  
이 옵션은 공격자가 운영 체제 명령줄 명령을 삽입하고 명령의 일부 또는 전부를 위장하기 위해 비정상적인 형식을 사용하는 상황을 완화합니다.  
이 옵션을 사용하여 다음 변환을 수행합니다.  
+ 다음 문자 삭제: `\ " ' ^`
+ 다음 문자 앞에 있는 공백 삭제: `/ (`
+ 다음 문자를 공백으로 바꿈: `, ;`
+ 여러 개의 공백을 하나의 공백으로 바꿈
+ 대문자 `A-Z`을 소문자 `a-z`로 변환

Compress whitespace – `COMPRESS_WHITE_SPACE`  
AWS WAF 는 여러 공백을 하나의 공백으로 바꾸고 다음 문자를 공백 문자(ASCII 32)로 바꾸어 공백을 압축합니다.  
+ 폼피드(ASCII 12)
+ 탭(ASCII 9)
+ 새줄(ASCII 10)
+ 캐리지 리턴(ASCII 13)
+ 세로 탭(ASCII 11)
+ 줄 바꿈하지 않는 공백(ASCII 160)

CSS decode – `CSS_DECODE`  
AWS WAF 는 CSS 2.x 이스케이프 규칙를 사용하여 인코딩된 문자를 디코딩합니다`syndata.html#characters`. 이 함수는 디코딩 프로세스에서 최대 2바이트를 사용하므로 일반적으로 인코딩되지 않는 CSS 인코딩을 사용하여 인코딩된 ASCII 문자를 찾는 데 도움이 될 수 있습니다. 또한 백슬래시와 16진수가 아닌 문자의 조합인 회피를 방지하는 데 유용합니다. 예를 들어 `javascript`의 경우 `ja\vascript`입니다.

Escape sequences decode – `ESCAPE_SEQ_DECODE`  
AWS WAF 는 ANSI C 이스케이프 시퀀스 `\a`, , `\b`, `\f`, `\n`, `\r`, `\t`, `\\`, `\v``\?`, `\'`, `\"`, `\xHH` (16진수), `\0OOO` (8진수)를 디코딩합니다. 유효하지 않은 인코딩은 출력에 남아 있습니다.

Hex decode – `HEX_DECODE`  
AWS WAF 는 16진수 문자의 문자열을 바이너리로 디코딩합니다.

HTML entity decode – `HTML_ENTITY_DECODE`  
AWS WAF 는 16진수 형식 `&#xhhhh;` 또는 10진수 형식으로 표시되는 문자를 해당 문자`&#nnnn;`로 바꿉니다.  
AWS WAF 는 다음 HTML 인코딩 문자를 인코딩되지 않은 문자로 바꿉니다. 이 목록은 `&QuOt;` 예시처럼 소문자 HTML 인코딩을 사용하지만 처리는 대소문자를 구분하지 않으며 `&quot;`는 동일하게 처리됩니다.      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/waf/latest/developerguide/waf-rule-statement-transformation.html)

JS decode – `JS_DECODE`  
AWS WAF 는 JavaScript 이스케이프 시퀀스를 디코딩합니다. `\uHHHH` 코드가 `FF01-FF5E`의 전폭 ASCII 코드 범위에 있으면 상위 바이트를 사용하여 하위 바이트를 감지하고 조정합니다. 그렇지 않으면 하위 바이트만 사용되고 상위 바이트는 0이 되어 정보가 손실될 수 있습니다.

Lowercase – `LOWERCASE`  
AWS WAF 는 대문자(A\$1Z)를 소문자(a\$1z)로 변환합니다.

MD5 – `MD5`  
AWS WAF 는 입력의 데이터에서 MD5 해시를 계산합니다. 계산된 해시는 원시 이진 형식입니다.

None – `NONE`  
AWS WAF 는 텍스트 변환 없이 수신된 웹 요청을 검사합니다.

Normalize path – `NORMALIZE_PATH`  
AWS WAF 는 입력 시작 부분에 없는 여러 슬래시, 디렉터리 자체 참조 및 디렉터리 역참조를 제거하여 입력 문자열을 정규화합니다.

Normalize path Windows – `NORMALIZE_PATH_WIN`  
AWS WAF 는 백슬래시 문자를 슬래시로 변환한 다음 `NORMALIZE_PATH` 변환을 사용하여 결과 문자열을 처리합니다.

Remove nulls – `REMOVE_NULLS`  
AWS WAF 는 입력에서 모든 `NULL`바이트를 제거합니다.

Replace comments – `REPLACE_COMMENTS`  
AWS WAF 는 C 스타일 설명(/\$1 ... \$1/)의 각 발생을 단일 공백으로 바꿉니다. 연속으로 여러 번 나타나는 주석은 압축하지 않습니다. 종료되지 않은 주석도 공백(ASCII 0x20)으로 대체합니다. 주석(\$1/)의 독립형 종료는 변경되지 않습니다.

Replace nulls – `REPLACE_NULLS`  
AWS WAF 는 입력의 각 `NULL` 바이트를 공백 문자(ASCII 0x20)로 바꿉니다.

SQL hex decode – `SQL_HEX_DECODE`  
AWS WAF 는 SQL 16진수 데이터를 디코딩합니다. 예를 들어 (`0x414243`)를 ()로 AWS WAF 디코딩합니다`ABC`.

URL decode – `URL_DECODE`  
AWS WAF 는 URL로 인코딩된 값을 디코딩합니다.

URL decode Unicode – `URL_DECODE_UNI`  
`URL_DECODE`와 비슷하지만 Microsoft 고유의 `%u` 인코딩을 지원합니다. 코드가 `FF01-FF5E`의 전폭 ASCII 코드 범위에 있으면 상위 바이트를 사용하여 하위 바이트를 감지하고 조정합니다. 그렇지 않으면 하위 바이트만 사용되며 상위 바이트는 0이 됩니다.

UTF8 to Unicode – `UTF8_TO_UNICODE`  
AWS WAF 는 모든 UTF-8 문자 시퀀스를 유니코드로 변환합니다. 이는 입력을 정규화하고 영어가 아닌 언어에 대한 거짓 긍정 및 거짓 부정 최소화하는데 도움이 됩니다.