

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

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

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

# 에서 텍스트 변환 사용 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 문자 시퀀스를 유니코드로 변환합니다. 이는 입력을 정규화하고 영어가 아닌 언어에 대한 거짓 긍정 및 거짓 부정 최소화하는데 도움이 됩니다.