

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

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

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

# 에서 일치 규칙 문 사용 AWS WAF
<a name="waf-rule-statements-match"></a>

이 섹션에서는 일치 문이 무엇이고 어떻게 작동하는지 설명합니다.

일치 문은 웹 요청이나 그 출처를 사용자가 제공하는 기준과 비교합니다. 이 유형의 많은 문에 대해는 일치하는 콘텐츠에 대한 요청의 특정 구성 요소를 AWS WAF 비교합니다.

일치 문은 중첩할 수 있습니다. 이러한 명령문을 논리적 규칙 문 안에 중첩하여 범위 축소 문에서 사용할 수 있습니다. 논리적 규칙 문에 대한 자세한 내용은 [에서 논리적 규칙 문 사용 AWS WAF](waf-rule-statements-logical.md) 섹션을 참조하세요. 범위 축소 문에 대한 자세한 내용은 [에서 범위 축소 문 사용 AWS WAF](waf-rule-scope-down-statements.md) 섹션을 참조하세요.

이 표에서는 규칙에 추가할 수 있는 정규식 일치 문에 대해 설명하고 각각에 대한 보호 팩(웹 ACL) 용량 단위(WCU) 사용량을 계산하기 위한 몇 가지 지침을 제공합니다. WCU에 대한 자세한 내용은 [의 웹 ACL 용량 단위(WCUs) AWS WAF](aws-waf-capacity-units.md) 단원을 참조하세요.


| 일치 문 | 설명 | WCU | 
| --- | --- | --- | 
| [지리적 일치](waf-rule-statement-type-geo-match.md) | 요청의 오리진을 검사하고 오리진의 국가 및 리전에 대해 레이블을 적용합니다. | 1 | 
|  [ASN 일치](waf-rule-statement-type-asn-match.md)  |  IP 주소 및 주소 범위와 연결된 ASN에 대해 요청을 검사합니다.  |  1  | 
|  [IP 집합 일치](waf-rule-statement-type-ipset-match.md)  |  IP 주소 및 주소 범위 집합에 대해 요청을 검사합니다.  |  대부분의 경우 1입니다. 전달된 IP 주소가 있는 헤더를 사용하도록 명령문을 구성하고 Any의 헤더에 위치를 지정하는 경우 WCU를 4만큼 늘리십시오.  | 
|  [레이블 일치 규칙 문](waf-rule-statement-type-label-match.md)  |  동일한 보호 팩(웹 ACL) 내 다른 규칙에 의해 추가된 레이블에 대한 요청을 검사합니다.  |  1   | 
| [정규식 일치 규칙 문](waf-rule-statement-type-regex-match.md) | 정규식 패턴을 지정된 요청 구성 요소와 비교합니다. | 3, 기본 비용으로. 요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.  | 
|  [정규식 패턴 집합](waf-rule-statement-type-regex-pattern-set-match.md)  |  정규식 패턴을 지정된 요청 구성 요소와 비교합니다.  |  패턴 집합당 25, 기본 비용으로. 요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.  | 
| [크기 제약 조건](waf-rule-statement-type-size-constraint-match.md) | 지정된 요청 구성 요소에 대해 크기 제약 조건을 검사합니다. | 1, 기본 비용으로. 요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.  | 
| [SQL 주입 공격](waf-rule-statement-type-sqli-match.md) | 지정된 요청 구성 요소에서 악성 SQL 코드를 검사합니다. | 20, 기본 비용으로.요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오. | 
| [문자열 일치](waf-rule-statement-type-string-match.md) | 문자열을 지정된 요청 구성 요소와 비교합니다. |  기본 비용은 1\$110으로, 문자열 일치 유형에 따라 달라집니다.요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.  | 
| [XSS 스크팁팅 공격](waf-rule-statement-type-xss-match.md) | 지정된 요청 구성 요소에서 사이트 간 스크립팅 공격을 검사합니다. | 40, 기본 비용으로.요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오. | 

# 지리적 일치 규칙 문
<a name="waf-rule-statement-type-geo-match"></a>

이 섹션에서는 지리적 일치 문이 무엇이고 어떻게 작동하는지를 설명합니다.

지리적 또는 지역 일치 문을 사용하여 오리진 국가 및 리전을 기반으로 웹 요청을 관리할 수 있습니다. 지역 일치 문은 웹 요청에 오리진 국가 및 리전을 나타내는 레이블을 추가합니다. 명령문 기준이 요청과 일치하는지 여부에 관계없이 이러한 레이블을 추가합니다. 또한 지역 일치 문은 요청의 오리진을 기준으로 일치를 수행합니다.

## 지역 일치 문 사용 방법
<a name="waf-rule-statement-geo-how-to-use"></a>

다음과 같이 국가 또는 리전 일치에 지역 일치 문을 사용할 수 있습니다.
+ **국가** - 지역 일치 규칙을 단독으로 사용하면 오리진 국가만을 기준으로 하여 요청을 관리할 수 있습니다. 규칙 문을 국가 코드와 비교하여 일치시킵니다. 오리진 국가 레이블과 일치하는 레이블 일치 규칙을 사용하여 지역 일치 규칙을 따를 수도 있습니다.
**참고**  
홍콩의 트래픽을 필터링하려면 지역 일치 문에서 ISO 3166-1 alpha-2 국가 코드 `HK`를 사용합니다.
+ **리전** - 지역 일치 규칙 다음에 레이블 일치 규칙을 사용하여 오리진 리전을 기준으로 요청을 관리합니다. 지역 일치 규칙만으로는 리전 코드와 일치시킬 수 없습니다.

레이블 일치 규칙 사용에 대한 자세한 내용은 [레이블 일치 규칙 문](waf-rule-statement-type-label-match.md) 및 [의 웹 요청 레이블 지정 AWS WAF](waf-labels.md) 섹션을 참조하세요.

## 지역 일치 문 작동 방식
<a name="waf-rule-statement-geo-how-it-works"></a>

지역 일치 문을 사용하여는 다음과 같이 각 웹 요청을 AWS WAF 관리합니다.

1. **요청의 국가 및 리전 코드 결정 **- IP 주소를 기반으로 요청의 국가 및 리전을 AWS WAF 결정합니다. 기본적으로는 웹 요청 오리진의 IP 주소를 AWS WAF 사용합니다. 규칙 문 설정에서 전달된 IP 구성을 활성화`X-Forwarded-For`하여 AWS WAF 와 같은 대체 요청 헤더의 IP 주소를 사용하도록에 지시할 수 있습니다.

   AWS WAF 는 MaxMind GeoIP 데이터베이스를 사용하는 요청의 위치를 결정합니다. MaxMind는 국가 수준에서 매우 높은 데이터 정확도를 보고하지만, 정확도는 국가 및 IP 유형과 같은 요인에 따라 다릅니다. MaxMind에 대한 자세한 내용은 [MaxMind IP 지리적 위치](https://support.maxmind.com/hc/en-us/sections/4407519834267-IP-Geolocation)를 참조하세요. GeoIP 데이터가 잘못되었다고 생각되면 Maxmind([MaxMind Correct GeoIP2 Data](https://support.maxmind.com/hc/en-us/articles/4408252036123-GeoIP-Correction))에 정정 요청을 제출할 수 있습니다.

   AWS WAF 는 ISO(International Organization for Standardization) 3166 표준의 alpha-2 국가 및 리전 코드를 사용합니다. 다음 위치에서 코드를 찾을 수 있습니다.
   + ISO 웹사이트의 [ISO 온라인 브라우징 플랫폼(OBP)](https://www.iso.org/obp/ui#home)에서 국가 코드를 검색할 수 있습니다.
   + 위키백과에서는 [ISO 3166-2](https://en.wikipedia.org/wiki/ISO_3166-2)에 국가 코드가 나열되어 있습니다.

     국가의 리전 코드는 URL `https://en.wikipedia.org/wiki/ISO_3166-2:<ISO country code>`에 나열되어 있습니다. 예를 들어 미국의 리전은 [ISO 3166-2:US](https://en.wikipedia.org/wiki/ISO_3166-2:US)이고 우크라이나의 경우 [ISO 3166-2:UA](https://en.wikipedia.org/wiki/ISO_3166-2:UA)입니다.

1. **요청에 추가할 국가 레이블 및 리전 레이블 결정** - 레이블은 지역 일치 문에서 원본 IP를 사용하는지 아니면 전달된 IP 구성을 사용하는지를 나타냅니다.
   + **오리진 IP** 

     국가 레이블은 `awswaf:clientip:geo:country:<ISO country code>`입니다. 예를 들어, 미국의 경우 `awswaf:clientip:geo:country:US`입니다.

     리전 라벨은 `awswaf:clientip:geo:region:<ISO country code>-<ISO region code>`입니다. 예를 들어, 미국의 오리건인 경우 `awswaf:clientip:geo:region:US-OR`입니다.
   + **전달된 IP** 

     국가 레이블은 `awswaf:forwardedip:geo:country:<ISO country code>`입니다. 예를 들어, 미국의 경우 `awswaf:forwardedip:geo:country:US`입니다.

     리전 라벨은 `awswaf:forwardedip:geo:region:<ISO country code>-<ISO region code>`입니다. 예를 들어, 미국의 오리건인 경우 `awswaf:forwardedip:geo:region:US-OR`입니다.

   요청의 지정된 IP 주소에 해당 국가 또는 리전 코드를 사용할 수 없는 경우 AWS WAF 는 레이블에서 값 대신 `XX`를 사용합니다. 예를 들어, 레이블 `awswaf:clientip:geo:country:XX`는 국가 코드를 사용할 수 없는 클라이언트 IP용이고, `awswaf:forwardedip:geo:region:US-XX`는 국가는 미국이지만 리전 코드를 사용할 수 없는 전달된 IP용입니다.

1. **규칙 기준에 따라 요청 국가 코드 평가** 

지역 일치 문은 일치하는 항목을 찾았는지 여부와 관계없이 검사하는 모든 요청에 국가 및 리전 레이블을 추가합니다.

**참고**  
AWS WAF 는 규칙의 웹 요청 평가 끝에 레이블을 추가합니다. 따라서 지역 일치 명령문의 레이블에 사용하는 모든 레이블 일치는 지역 일치 문이 포함된 규칙과는 별도의 규칙에 정의되어야 합니다.

리전 값만 검사하려는 경우 Count 작업과 단일 국가 코드 일치, 리전 레이블에 대한 레이블 일치 규칙을 포함하는 지역 일치 규칙을 작성할 수 있습니다. 이 접근 방식에서도 지역 일치 규칙을 평가하려면 국가 코드를 입력해야 합니다. 사이트에 대한 트래픽 소스가 될 것 같지 않은 국가를 지정하여 로깅과 계수 지표를 줄일 수 있습니다.

## CloudFront 배포 및 CloudFront 지역 제한 기능
<a name="cloudfront-distributions-geo-restriction"></a>

CloudFront 배포의 경우 CloudFront 지역 제한 기능을 사용하는 경우 이 기능은 차단된 요청을 AWS WAF로 전달하지 않습니다. 허용된 요청을에 전달합니다 AWS WAF. 지리 및 지정할 수 있는 기타 기준에 따라 요청을 차단하려면 AWS WAF 지역 일치 문을 AWS WAF사용하고 CloudFront 지역 제한 기능을 사용하지 마십시오.

## 규칙 문 특성
<a name="geo-match-statement-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** – 1WCU.

**설정** - 이 명령문은 다음 설정을 사용합니다.
+ **국가 코드** — 지역 일치 여부를 확인하기 위해 비교할 국가 코드 배열. 이러한 코드는 ISO 3166 국제 표준의 alpha-2 국가 ISO 코드에서 나온 2자리 국가 코드(예: `["US","CN"]`)여야 합니다.
+ **(선택 사항) 전달된 IP 구성** - 기본적으로 웹 요청 오리진의 IP 주소를 AWS WAF 사용하여 오리진 국가를 결정합니다. 또는 `X-Forwarded-For` 대신 같은 HTTP 헤더에서 전달된 IP를 사용하도록 규칙을 구성할 수 있습니다.는 헤더의 첫 번째 IP 주소를 AWS WAF 사용합니다. 이 구성을 사용하면 헤더에 잘못된 형식의 IP 주소가 있는 웹 요청에 적용할 폴백 동작도 지정할 수 있습니다. 폴백 동작은 요청에 대한 일치 결과를 일치하거나 일치하지 않음으로 설정합니다. 자세한 내용은 [전달된 IP 주소 사용](waf-rule-statement-forwarded-ip-address.md) 단원을 참조하십시오.

## 이 규칙 문을 찾을 수 있는 위치
<a name="geo-match-statement-where-to-find"></a>
+ 콘솔의 **규칙 빌더** – **요청 옵션**에서 **출처 국가**를 선택합니다.
+ **API** – [GeoMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_GeoMatchStatement.html)

## 예제
<a name="waf-rule-statement-geo-examples"></a>

지리적 일치 문을 사용하여 특정 국가 또는 리전의 요청을 관리할 수 있습니다. 예를 들어 특정 국가를 차단하되 해당 국가의 특정 IP 주소 집합에서 요청을 허용하려면 유사 코드에 나와 있는 대로 작업을 Block로 설정하고 다음과 같은 중첩된 문을 사용하여 규칙을 생성할 수 있습니다.
+ AND 명령문
  + 차단하려는 국가를 나열하는 지역 일치 문
  + NOT 명령문 
    + 다음을 통해 허용하려는 IP 주소를 지정하는 IP 집합 문

또는 특정 국가의 일부 리전을 차단하면서도 해당 국가의 다른 리전에서 들어오는 요청은 계속 허용하려는 경우 먼저 작업을 Count로 설정한 상태로 지역 일치 규칙을 정의할 수 있습니다. 그런 다음 추가된 지역 일치 레이블과 일치하는 레이블 일치 규칙을 정의하고 필요에 따라 요청을 처리합니다.

다음 의사 코드는 이 접근 방식의 예를 설명합니다.

1. 차단하려는 리전이 있지만 작업이 계산으로 설정된 국가를 나열하는 지역 일치 문. 이 문은 일치 상태에 관계없이 모든 웹 요청에 레이블을 지정하고 관심 국가의 개수 지표도 제공합니다.

1. 차단 작업을 포함하는 `AND` 문
   + 차단하려는 국가에 대해 레이블을 지정하는 레이블 일치 문
   + `NOT` 명령문 
     + 허용하려는 국가에 대해 레이블을 지정하는 레이블 일치 문

다음 JSON 목록에는 이전 의사 코드에 설명된 두 규칙의 구현이 나와 있습니다. 이들 규칙은 오레곤 및 워싱턴에서 들어오는 트래픽을 제외하고 미국에서 들어오는 모든 트래픽을 차단합니다. 지역 일치 문은 검사하는 모든 요청에 국가 및 리전 레이블을 추가합니다. 레이블 일치 규칙은 지역 일치 규칙 이후에 실행되므로 지역 일치 규칙이 방금 추가한 국가 및 리전 레이블과 일치시킬 수 있습니다. 지역 일치 문은 전달된 IP 주소를 사용하므로 레이블 일치에서 전달된 IP 레이블도 지정합니다.

```
{
   "Name": "geoMatchForLabels",
   "Priority": 10,
   "Statement": {
     "GeoMatchStatement": {
       "CountryCodes": [
         "US"
       ],
       "ForwardedIPConfig": {
           "HeaderName": "X-Forwarded-For",
           "FallbackBehavior": "MATCH"
       }
     }
   },
   "Action": {
     "Count": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "geoMatchForLabels"
   }
},
{
   "Name": "blockUSButNotOROrWA",
   "Priority": 11,
   "Statement": {
     "AndStatement": {
       "Statements": [
         {
           "LabelMatchStatement": {
             "Scope": "LABEL",
             "Key": "awswaf:forwardedip:geo:country:US"
           }
         },
         {
           "NotStatement": {
             "Statement": {
                "OrStatement": {
                  "Statements": [
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-OR"
                       }
                    },
                    {
                       "LabelMatchStatement": {
                         "Scope": "LABEL",
                         "Key": "awswaf:forwardedip:geo:region:US-WA"
                       }
                    }
                 ]
               }
             }
           }
         }
       ]
     }
   },
   "Action": {
     "Block": {}
   },
   "VisibilityConfig": {
     "SampledRequestsEnabled": true,
     "CloudWatchMetricsEnabled": true,
     "MetricName": "blockUSButNotOROrWA"
   }
}
```

또 다른 예로 특정 국가 또는 리전의 사용자에게 리소스를 우선적으로 할당하려면, 속도 기반 규칙에 지역 일치 조건을 결합하면 됩니다. 사용자를 차별화하는 데 사용하는 각 지역 일치 또는 레이블 일치 문에 대해 서로 다른 속도 기반 문을 생성합니다. 선호하는 국가 또는 리전의 사용자에게는 요청률 한도를 더 높게 설정하고, 기타 사용자에게는 요청률 한도를 더 낮게 설정합니다.

다음 JSON 목록은 지역 일치 규칙과 미국에서 들어오는 트래픽 속도를 제한하는 속도 기반 규칙을 보여줍니다. 이러한 규칙을 사용하면 오리건 주에서 들어오는 트래픽이 미국 내 다른 리전에서 들어오는 트래픽보다 더 높은 속도로 유입될 수 있습니다.

```
{
  "Name": "geoMatchForLabels",
  "Priority": 190,
  "Statement": {
    "GeoMatchStatement": {
      "CountryCodes": [
        "US"
      ]
    }
  },
  "Action": {
    "Count": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "geoMatchForLabels"
  }
},
{
  "Name": "rateLimitOregon",
  "Priority": 195,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 3000,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "LabelMatchStatement": {
          "Scope": "LABEL",
          "Key": "awswaf:clientip:geo:region:US-OR"
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitOregon"
  }
},
{
  "Name": "rateLimitUSNotOR",
  "Priority": 200,
  "Statement": {
    "RateBasedStatement": {
      "Limit": 100,
      "AggregateKeyType": "IP",
      "ScopeDownStatement": {
        "AndStatement": {
          "Statements": [
            {
              "LabelMatchStatement": {
                "Scope": "LABEL",
                "Key": "awswaf:clientip:geo:country:US"
              }
            },
            {
              "NotStatement": {
                "Statement": {
                  "LabelMatchStatement": {
                    "Scope": "LABEL",
                    "Key": "awswaf:clientip:geo:region:US-OR"
                  }
                }
              }
            }
          ]
        }
      }
    }
  },
  "Action": {
    "Block": {}
  },
  "VisibilityConfig": {
    "SampledRequestsEnabled": true,
    "CloudWatchMetricsEnabled": true,
    "MetricName": "rateLimitUSNotOR"
  }
}
```

# IP 집합 일치 규칙 문
<a name="waf-rule-statement-type-ipset-match"></a>

이 섹션에서는 IP 집합 일치 문이 무엇이고 어떻게 작동하는지 설명합니다.

IP 집합 일치 문은 IP 주소 및 주소 범위의 집합에 대한 웹 요청의 IP 주소를 검사합니다. 요청이 시작된 IP 주소를 기반으로 웹 요청을 허용하거나 차단하려면 이 옵션을 사용합니다. 기본적으로 AWS WAF 는 웹 요청 오리진의 IP 주소를 사용하지만 대신에 `X-Forwarded-For`와 같은 HTTP 헤더를 사용하도록 규칙을 구성할 수 있습니다.



AWS WAF 는를 제외한 모든 IPv4 및 IPv6 CIDR 범위를 지원합니다`/0`. CIDR 표기법에 대한 자세한 내용은 [클래스 없는 도메인 간 라우팅](https://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing)에 대한 Wikipedia 항목을 참조하세요. IP 집합에서는 최대 10,000개의 IP 주소 또는 IP 주소 범위를 확인할 수 있습니다.

**참고**  
각 IP 집합 일치 규칙은 규칙과 관계 없이 생성 및 유지 관리하는 IP 집합을 참조합니다. 여러 규칙에서 단일 IP 세트를 사용할 수 있으며 참조된 세트를 업데이트할 때는 이를 참조하는 모든 규칙을 AWS WAF 자동으로 업데이트합니다.  
IP 집합의 생성 및 관리 방법에 대한 자세한 내용은 [에서 IP 세트 생성 및 관리 AWS WAF](waf-ip-set-managing.md) 섹션을 참조하세요.

규칙 그룹 또는 보호 팩(웹 ACL)에서 규칙을 추가하거나 업데이트할 때 **IP 세트** 옵션을 선택하고 사용할 IP 세트의 이름을 선택합니다.

## 규칙 문 특성
<a name="ipset-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** - 대부분의 경우 1WCU입니다. 전달된 IP 주소를 사용하도록 문을 구성하고 ANY의 위치를 지정하는 경우 WCU 사용을 4만큼 늘리세요.

이 문은 다음 설정을 사용합니다.
+ **IP 집합 사양** – 목록에서 사용할 IP 집합을 선택하거나 새 IP 집합을 생성합니다.
+ **(선택 사항) 전달된 IP 구성** - 요청 오리진 대신 사용할 대체 전달 IP 헤더 이름입니다. 헤더의 첫 번째 주소, 마지막 주소 또는 임의 주소와 일치시킬지 여부를 지정합니다. 지정된 헤더에 잘못된 형식의 IP 주소가 있는 웹 요청에 적용할 폴백 동작도 지정할 수 있습니다. 폴백 동작은 요청에 대한 일치 결과를 일치하거나 일치하지 않음으로 설정합니다. 자세한 내용은 [전달된 IP 주소 사용](waf-rule-statement-forwarded-ip-address.md) 단원을 참조하십시오.

## 이 규칙 문을 찾을 수 있는 위치
<a name="ipset-match-where-to-find"></a>

**이 규칙 문을 찾을 수 있는 위치**
+ 콘솔의 **규칙 빌더** – **요청 옵션**에서 **출처 IP 주소**를 선택합니다.
+ 콘솔의 **자체 규칙 및 규칙 그룹 추가** 페이지 - **IP 집합** 옵션을 선택합니다.
+ **API** – [IPSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_IPSetReferenceStatement.html)

# Autonomous System Number(ASN) 일치 규칙 문
<a name="waf-rule-statement-type-asn-match"></a>

의 ASN 일치 규칙 문 AWS WAF 을 사용하면 요청의 IP 주소와 연결된 ASN(자율 시스템 번호)을 기반으로 웹 트래픽을 검사할 수 있습니다. ASN은 인터넷 서비스 제공업체, 엔터프라이즈, 대학 또는 정부 기관과 같은 조직에서 관리하는 대규모 인터넷 네트워크에 할당된 고유 식별자입니다. ASN 일치 문을 사용하면 개별 IP 주소를 관리할 필요 없이 특정 네트워크 조직의 트래픽을 허용하거나 차단할 수 있습니다. 이 접근 방식은 ASN이 IP 범위보다 덜 자주 변경되므로 IP 기반 규칙에 비해 액세스를 제어하는 보다 안정적이고 효율적인 방법을 제공합니다.

ASN 일치는 알려진 문제가 있는 네트워크의 트래픽을 차단하거나 신뢰할 수 있는 파트너 네트워크에서만 액세스를 허용하는 등의 시나리오에 특히 유용합니다. ASN 일치 문은 전달된 IP 구성 옵션을 통해 클라이언트 IP 주소를 유연하게 결정할 수 있으므로 콘텐츠 전송 네트워크(CDN) 또는 역방향 프록시를 사용하는 설정 등 다양한 네트워크 설정과 호환됩니다.

**참고**  
ASN 일치는 표준 인증 및 권한 부여 제어를 보완하지만 대체하지는 않습니다. 애플리케이션에서 모든 요청의 ID를 확인하려면 IAM과 같은 인증 및 권한 부여 메커니즘을 구현하는 것이 좋습니다.

## ASN 일치 문 작동 방식
<a name="waf-rule-statement-type-asn-match-how-it-works"></a>

AWS WAF 는 IP 주소를 기반으로 요청의 ASN을 결정합니다. 기본적으로는 웹 요청 오리진의 IP 주소를 AWS WAF 사용합니다. 규칙 문 설정에서 전달된 IP 구성을 활성화`X-Forwarded-For`하여와 같은 대체 요청 헤더의 IP 주소를 AWS WAF 사용하도록를 구성할 수 있습니다.

ASN 일치 문은 요청의 ASN을 규칙에 지정된 ASN 목록과 비교합니다. ASN이 목록의 ASN과 일치하면 문이 true로 평가되고 관련 규칙 작업이 적용됩니다.

### 매핑되지 않은 ASN 처리
<a name="waf-rule-statement-type-asn-match-unmapped"></a>

가 유효한 IP 주소에 대한 ASN을 확인할 AWS WAF 수 없는 경우 ASN 0을 할당합니다. 이러한 사례를 명시적으로 처리하기 위해 규칙에 ASN 0을 포함할 수 있습니다.

### 잘못된 IP 주소에 대한 폴백 동작
<a name="waf-rule-statement-type-asn-match-fallback"></a>

전달된 IP 주소를 사용하도록 ASN 일치 문을 구성할 때 지정된 헤더에 유효하지 않거나 누락된 IP 주소가 있는 요청에 대해 *일치* 또는 *일치하지 않음*의 폴백 동작을 지정할 수 있습니다.

## 규칙 문 특성
<a name="waf-rule-statement-type-asn-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCUs** – 1WCU

이 문은 다음 설정을 사용합니다.
+ **ASN 목록** - ASN 일치 항목과 비교할 ASN 번호 배열입니다. 유효한 값의 범위는 0\$14294967295입니다. 각 규칙에 최대 100개의 ASN을 지정할 수 있습니다.
+ **(선택 사항) 전달된 IP 구성** - 기본적으로 웹 요청 오리진의 IP 주소를 AWS WAF 사용하여 ASN을 결정합니다. 또는 `X-Forwarded-For`와 같이 HTTP 헤더에 전달된 IP를 대신 사용하도록 규칙을 구성할 수도 있습니다. 헤더의 첫 번째 주소, 마지막 주소 또는 임의 주소를 사용할지 여부를 지정합니다. 이 구성을 사용하면 헤더에 잘못된 형식의 IP 주소가 있는 웹 요청에 적용할 폴백 동작도 지정할 수 있습니다. 폴백 동작은 요청에 대한 일치 결과를 일치하거나 일치하지 않음으로 설정합니다. 자세한 내용은 [전달된 IP 주소 사용](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-statement-forwarded-ip-address.html)을 참조하세요.

## 이 규칙 문을 찾을 수 있는 위치
<a name="waf-rule-statement-type-asn-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** – **요청 옵션**에서 **출처 ASN**을 선택합니다.
+ **API** - [AsnMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_AsnMatchStatement.html)

## 예제
<a name="waf-rule-statement-type-asn-match-examples"></a>

이 예제에서는 `X-Forwarded-For` 헤더에서 파생된 두 개의 특정 ASN에서 발생하는 요청을 차단합니다. 헤더의 IP 주소 형식이 잘못된 경우 구성된 폴백 동작은 `NO_MATCH`입니다.

```
{
  "Action": {
    "Block": {}
  },
  "Name": "AsnMatchStatementRule",
  "Priority": 1,
  "Statement": {
    "AsnMatchStatement": {
      "AsnList": [64496, 64500]
    },
    "ForwardedIPConfig": {
      "FallbackBehavior": "NO_MATCH",
      "HeaderName": "X-Forwarded-For"
    }
  },
  "VisibilityConfig": {
    "CloudWatchMetricsEnabled": true,
    "MetricName": "AsnMatchRuleMetrics",
    "SampledRequestsEnabled": true
  }
},
"VisibilityConfig": {
  "CloudWatchMetricsEnabled": true,
  "MetricName": "WebAclMetrics",
  "SampledRequestsEnabled": true
}
}
```

# 레이블 일치 규칙 문
<a name="waf-rule-statement-type-label-match"></a>

이 섹션에서는 레이블 일치 문이 무엇이고 어떻게 작동하는지를 설명합니다.

레이블 일치 문은 문자열 사양을 기준으로 웹 요청의 레이블을 검사합니다. 규칙에서 검사할 수 있는 레이블은 동일한 보호 팩(웹 ACL) 평가의 다른 규칙에 의해 웹 요청에 이미 추가된 레이블입니다.

레이블은 보호 팩(웹 ACL) 평가 외부에서는 유지되지 않지만 CloudWatch에서 레이블 지표에 액세스할 수 있으며 AWS WAF 콘솔에서 모든 보호 팩(웹 ACL)에 대한 레이블 정보 요약을 볼 수 있습니다. 자세한 내용은 [레이블 지표 및 차원](waf-metrics.md#waf-metrics-label) 및 [AWS WAF 보호 모니터링 및 튜닝](web-acl-testing-activities.md) 섹션을 참조하세요. 로그에서 레이블을 확인할 수도 있습니다. 자세한 내용은 [보호 팩(웹 ACL) 트래픽에 대한 로그 필드](logging-fields.md) 단원을 참조하세요.

**참고**  
레이블 일치 문은 보호 팩(웹 ACL)에서 이전에 평가된 규칙의 레이블만 볼 수 있습니다. 가 보호 팩(웹 ACL)에서 규칙 및 규칙 그룹을 AWS WAF 평가하는 방법에 대한 자세한 내용은 섹션을 참조하세요[규칙 우선 순위 설정](web-acl-processing-order.md).

레이블 추가 및 일치에 대한 자세한 정보는 [의 웹 요청 레이블 지정 AWS WAF](waf-labels.md) 섹션을 참조하세요.

## 규칙 문 특성
<a name="label-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCUs** – 1WCU

이 문은 다음 설정을 사용합니다.
+ **범위 일치** — 레이블 이름 및 필요에 따라 이전 네임스페이스 및 접두사와 일치시키려면 이 값을 **레이블**로 설정합니다. 일부 또는 모든 네임스페이스 사양 그리고 필요에 따라 이전 접두사와 일치시키려면 이 값을 **네임스페이스**로 설정합니다.
+ **키** — 일치시키려는 문자열입니다. 네임스페이스 일치 범위를 지정하는 경우 네임스페이스와 접두사(필요 시) 및 콜론 구분 기호만 지정하면 됩니다. 레이블 일치 범위를 지정하는 경우 레이블 이름이 포함해야 하며 필요 시 이전 네임스페이스와 접두사를 포함할 수 있습니다.

이러한 설정에 대한 자세한 내용은 [AWS WAF 레이블과 일치하는 규칙](waf-rule-label-match.md) 및 [AWS WAF 레이블 일치 예제](waf-rule-label-match-examples.md) 섹션을 참조하세요.

## 이 규칙 문을 찾을 수 있는 위치
<a name="label-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** - **요청 옵션**에서 **레이블 있음**을 선택합니다.
+ **API** – [LabelMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_LabelMatchStatement.html)

# 정규식 일치 규칙 문
<a name="waf-rule-statement-type-regex-match"></a>

이 섹션에서는 정규식 일치 문이 무엇이고 어떻게 작동하는지 설명합니다.

정규식 일치 문은 요청 구성 요소를 단일 정규식(정규식)과 일치 AWS WAF 시키도록에 지시합니다. 지정하는 정규식과 요청 구성 요소가 일치하면 웹 요청이 해당 문을 일치시킵니다.

이 명령문 유형은 수학 논리를 사용하여 일치 기준을 결합하려는 경우 [정규식 패턴 집합 일치 규칙 문](waf-rule-statement-type-regex-pattern-set-match.md)에 대한 좋은 대안입니다. 예를 들어 요청 구성 요소를 일부 정규식 패턴과 일치시키고 다른 패턴과는 일치되지 않도록 하려는 경우 [AND 규칙 문](waf-rule-statement-type-and.md) 및 [NOT 규칙 문](waf-rule-statement-type-not.md)를 사용하여 정규식 일치 문을 결합할 수 있습니다.

AWS WAF 는 일부 예외를 `libpcre` 제외하고 PCRE 라이브러리에서 사용하는 패턴 구문을 지원합니다. 이 라이브러리는 [PCRE - Perl 호환 정규식](http://www.pcre.org/)에 문서화되어 있습니다. AWS WAF 지원에 대한 자세한 내용은 섹션을 참조하세요[에서 지원되는 정규식 구문 AWS WAF](waf-regex-pattern-support.md).

## 규칙 문 특성
<a name="regex-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** - 3WCU(기본 비용). 요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.

이 문은 웹 요청 구성 요소에서 작동하며 작동을 위해선 다음과 같은 요청 구성 요소 설정이 필요합니다.
+ **요청 구성 요소** – 검사할 웹 요청 부분(예: 쿼리 문자열 또는 본문).
**주의**  
요청 구성 요소 **본문**, **JSON 본문**, **헤더** 또는 **쿠키를** 검사하는 경우에서 검사 AWS WAF 할 수 있는 콘텐츠의 양에 대한 제한 사항에 대해 읽어보세요[에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md).

  웹 요청 구성 요소에 대한 자세한 내용은 [에서 규칙 문 설정 조정 AWS WAF](waf-rule-statement-fields.md) 섹션을 참조하세요.
+ **선택적 텍스트 변환** - 요청 구성 요소를 검사 AWS WAF 하기 전에 요청 구성 요소에 대해 수행하려는 변환입니다. 예를 들어, 소문자로 변환하거나 공백을 정규화할 수 있습니다. 둘 이상의 변환을 지정하는 경우는 나열된 순서대로 변환을 AWS WAF 처리합니다. 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 단원을 참조하세요.

## 이 규칙 문을 찾을 수 있는 위치
<a name="regex-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** - **일치 유형**의 경우 **정규식과 일치**를 선택합니다.
+ **API** – [RegexMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexMatchStatement.html)

# 정규식 패턴 집합 일치 규칙 문
<a name="waf-rule-statement-type-regex-pattern-set-match"></a>

이 섹션에서는 정규식 패턴 집합 일치 문이 무엇이고 어떻게 작동하는지 설명합니다.

정규식 패턴 집합 일치는 정규식 패턴 집합 내에서 지정한 정규 표현식 패턴에 대해 지정한 웹 요청 부분을 검사합니다.

AWS WAF 는 일부 예외를 `libpcre` 제외하고 PCRE 라이브러리에서 사용하는 패턴 구문을 지원합니다. 이 라이브러리는 [PCRE - Perl 호환 정규식](http://www.pcre.org/)에 문서화되어 있습니다. AWS WAF 지원에 대한 자세한 내용은 섹션을 참조하세요[에서 지원되는 정규식 구문 AWS WAF](waf-regex-pattern-support.md).

**참고**  
각 정규식 패턴 집합 일치 규칙은 규칙과 관계 없이 생성 및 유지 관리하는 정규식 패턴 집합을 참조합니다. 여러 규칙에서 단일 정규식 패턴 세트를 사용할 수 있으며 참조된 세트를 업데이트할 때는 이를 참조하는 모든 규칙을 AWS WAF 자동으로 업데이트합니다.  
정규식 패턴 집합을 생성 및 관리하는 방법은 [에서 정규식 패턴 세트 생성 및 관리 AWS WAF](waf-regex-pattern-set-managing.md) 단원을 참조하세요.

정규식 패턴 세트 일치 문은가 선택한 요청 구성 요소 내에서 세트의 패턴을 검색 AWS WAF 하도록 지시합니다. 요청 구성 요소가 집합의 패턴 중 하나와 일치하는 경우 웹 요청은 패턴 집합 규칙 문과 일치하게 됩니다.

로직을 사용하여 정규식 패턴 일치를 결합하려는 경우(예: 일부 정규식과 일치시키고 다른 정규식과는 일치하지 않도록 하려는 경우) [정규식 일치 규칙 문](waf-rule-statement-type-regex-match.md)의 사용을 고려해 보십시오.

## 규칙 문 특성
<a name="regex-pattern-set-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** - 25WCU(기본 비용). 요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.

이 문은 웹 요청 구성 요소에서 작동하며 작동을 위해선 다음과 같은 요청 구성 요소 설정이 필요합니다.
+ **요청 구성 요소** – 검사할 웹 요청 부분(예: 쿼리 문자열 또는 본문).
**주의**  
요청 구성 요소 **본문**, **JSON 본문**, **헤더** 또는 **쿠키를** 검사하는 경우에서 검사 AWS WAF 할 수 있는 콘텐츠의 양에 대한 제한 사항에 대해 읽어보세요[에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md).

  웹 요청 구성 요소에 대한 자세한 내용은 [에서 규칙 문 설정 조정 AWS WAF](waf-rule-statement-fields.md) 섹션을 참조하세요.
+ **선택적 텍스트 변환** - 요청 구성 요소를 검사 AWS WAF 하기 전에 요청 구성 요소에 대해 수행하려는 변환입니다. 예를 들어, 소문자로 변환하거나 공백을 정규화할 수 있습니다. 둘 이상의 변환을 지정하는 경우는 나열된 순서대로 변환을 AWS WAF 처리합니다. 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 단원을 참조하세요.

이 문에는 다음 설정이 필요합니다.
+ 정규식 패턴 집합 사양 - 사용할 정규식 패턴 집합을 선택하거나 새 정규식 패턴 집합을 생성합니다.

## 이 규칙 문을 찾을 수 있는 위치
<a name="regex-pattern-set-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** - **일치 유형**에서 **문자열 일치 조건** > **정규 표현식 집합에서 패턴 일치**를 선택합니다.
+ **API** – [RegexPatternSetReferenceStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_RegexPatternSetReferenceStatement.html)

# 크기 제약 조건 규칙 문
<a name="waf-rule-statement-type-size-constraint-match"></a>

이 섹션에서는 크기 제한 문이 무엇이고 어떻게 작동하는지 설명합니다.

크기 제약 문은가 웹 요청 구성 요소에 대해 AWS WAF 수신하는 바이트 수를 사용자가 제공한 숫자와 비교하고 비교 기준에 따라 일치시킵니다.

비교 기준은 보다 큼(>) 또는 보다 작음(<) 과 같은 연산자입니다. 예를 들어 크기가 100바이트보다 큰 쿼리 문자열이 있는 요청을 일치시킬 수 있습니다.

URI 경로를 검사하면 경로에 있는 모든 `/`가 1자로 계산됩니다. 예컨대, URI 경로 `/logo.jpg`는 9자 길이입니다.

**참고**  
이 명령문은 웹 요청 구성 요소의 크기만 검사합니다. 구성 요소의 콘텐츠는 검사하지 않습니다.

## 규칙 문 특성
<a name="size-constraint-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** - 1WCU(기본 비용). 요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.

이 문은 웹 요청 구성 요소에서 작동하며 작동을 위해선 다음과 같은 요청 구성 요소 설정이 필요합니다.
+ **요청 구성 요소** – 검사할 웹 요청 부분(예: 쿼리 문자열 또는 본문). 웹 요청 구성 요소에 대한 자세한 내용은 [에서 규칙 문 설정 조정 AWS WAF](waf-rule-statement-fields.md) 섹션을 참조하세요.

  크기 제약 문은 변환이 적용된 후 구성 요소의 크기만 검사합니다. 구성 요소의 내용은 검사하지 않습니다.
+ **선택적 텍스트 변환** - 크기를 검사 AWS WAF 하기 전에 요청 구성 요소에 대해 수행하려는 변환입니다. 예를 들어, 공백을 압축하거나 HTML 엔티티를 디코딩할 수 있습니다. 둘 이상의 변환을 지정하는 경우는 나열된 순서대로 변환을 AWS WAF 처리합니다. 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 단원을 참조하세요.

또한 이 문에는 다음 설정이 필요합니다.
+ **크기 일치 조건** - 선택한 요청 구성 요소에 제공하는 크기를 비교하는 데 사용할 수치 비교 연산자를 나타냅니다. 목록에서 연산자를 선택합니다.
+ **크기** – 비교에 사용할 크기 설정(바이트)입니다.

## 이 규칙 문을 찾을 수 있는 위치
<a name="size-constraint-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** – **일치 유형**의 **크기 일치 조건**에서 사용할 조건을 선택합니다.
+ **API** – [SizeConstraintStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SizeConstraintStatement.html)

# SQL 주입 공격 규칙 문
<a name="waf-rule-statement-type-sqli-match"></a>

이 섹션에서는 SQL 명령어 삽입 문이 무엇인지, 어떻게 작동하는지 설명합니다.

SQL 명령어 삽입 규칙 문은 악성 SQL 코드를 검사합니다. 공격자는 웹 요청에 악성 SQL 코드를 삽입하여 데이터베이스를 수정하거나 데이터베이스에서 데이터를 추출하는 등의 작업을 수행합니다.

## 규칙 문 특성
<a name="sqli-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** - 기본 비용은 규칙 문의 민감도 수준 설정에 따라 달라집니다(Low 비용 20, High 비용 30).

요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.

이 문은 웹 요청 구성 요소에서 작동하며 작동을 위해선 다음과 같은 요청 구성 요소 설정이 필요합니다.
+ **요청 구성 요소** – 검사할 웹 요청 부분(예: 쿼리 문자열 또는 본문).
**주의**  
요청 구성 요소 **본문**, **JSON 본문**, **헤더** 또는 **쿠키를** 검사하는 경우에서 검사 AWS WAF 할 수 있는 콘텐츠의 양에 대한 제한 사항에 대해 읽어보세요[에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md).

  웹 요청 구성 요소에 대한 자세한 내용은 [에서 규칙 문 설정 조정 AWS WAF](waf-rule-statement-fields.md) 섹션을 참조하세요.
+ **선택적 텍스트 변환** - 요청 구성 요소를 검사 AWS WAF 하기 전에 요청 구성 요소에 대해 수행하려는 변환입니다. 예를 들어, 소문자로 변환하거나 공백을 정규화할 수 있습니다. 둘 이상의 변환을 지정하는 경우는 나열된 순서대로 변환을 AWS WAF 처리합니다. 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 단원을 참조하세요.

또한 이 문에는 다음 설정이 필요합니다.
+ **민감도 수준** - 이 설정은 SQL 명령어 삽입 일치 조건의 민감도를 조정합니다. 옵션은 LOW 및 HIGH입니다. 기본 설정은 LOW입니다.

  이 HIGH 설정은 더 많은 SQL 명령어 삽입 공격을 탐지하므로 이 설정은 권장 설정입니다. 이 설정은 민감도가 더 높기 때문에 특히 웹 요청에 일반적으로 비정상적인 문자열이 포함되어 있는 경우 거짓 긍정이 더 많이 발생합니다. 보호 팩(웹 ACL) 테스트 및 조정 중에 거짓 긍정을 완화하기 위한 노력이 더 많이 필요할 수 있습니다. 자세한 내용은 [AWS WAF 보호 기능 테스트 및 튜닝](web-acl-testing.md) 단원을 참조하세요.

  설정이 낮을수록 덜 엄격한 SQL 명령어 삽입 탐지가 제공되므로 거짓 긍정도 그만큼 감소합니다. LOW는 SQL 명령어 삽입 공격에 대한 다른 보호 기능이 있거나 거짓 긍정에 대한 허용 오차가 낮은 리소스에 더 적합합니다.

## 이 규칙 문을 찾을 수 있는 위치
<a name="sqli-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** – **일치 유형**에서 **공격 일치 조건** > **SQL 명령어 삽입 공격 포함**을 선택합니다.
+ **API** – [SqliMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_SqliMatchStatement.html)

# 문자열 일치 규칙 문
<a name="waf-rule-statement-type-string-match"></a>

이 섹션에서는 문자열 일치 문이 무엇인지와 작동 방식을 설명합니다.

문자열 일치 문은 요청에서 AWS WAF 검색할 문자열, 검색할 요청의 위치 및 방법을 나타냅니다. 예를 들어 요청의 쿼리 문자열의 시작 부분에서 특정 문자열을 찾거나 요청의 `User-agent` 헤더와 정확히 일치하는 문자열을 찾을 수 있습니다. 일반적으로 문자열은 인쇄 가능한 ASCII 문자로 구성되지만, 16진수 0x00에서 0xFF(10진수 0\$1255) 사이의 어떤 문자든지 사용할 수 있습니다.

## 규칙 문 특성
<a name="string-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** – 기본 비용은 사용하는 일치 유형에 따라 다릅니다.
+ **정확히 문자열과 일치** – 2 
+ **문자열로 시작** – 2 
+ **문자열로 끝** – 2 
+ **문자열 포함** – 10 
+ **단어 포함** – 10 

요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.

이 문은 웹 요청 구성 요소에서 작동하며 작동을 위해선 다음과 같은 요청 구성 요소 설정이 필요합니다.
+ **요청 구성 요소** – 검사할 웹 요청 부분(예: 쿼리 문자열 또는 본문).
**주의**  
요청 구성 요소 **본문**, **JSON 본문**, **헤더** 또는 **쿠키를** 검사하는 경우에서 검사 AWS WAF 할 수 있는 콘텐츠의 양에 대한 제한 사항에 대해 읽어보세요[에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md).

  웹 요청 구성 요소에 대한 자세한 내용은 [에서 규칙 문 설정 조정 AWS WAF](waf-rule-statement-fields.md) 섹션을 참조하세요.
+ **선택적 텍스트 변환** - 요청 구성 요소를 검사 AWS WAF 하기 전에 요청 구성 요소에 대해 수행하려는 변환입니다. 예를 들어, 소문자로 변환하거나 공백을 정규화할 수 있습니다. 둘 이상의 변환을 지정하는 경우는 나열된 순서대로 변환을 AWS WAF 처리합니다. 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 단원을 참조하세요.

또한 이 문에는 다음 설정이 필요합니다.
+ **일치시킬 문자열** - 지정된 요청 구성 요소와 비교 AWS WAF 하려는 문자열입니다. 일반적으로 문자열은 인쇄 가능한 ASCII 문자로 구성되지만, 16진수 0x00에서 0xFF(10진수 0\$1255) 사이의 어떤 문자든지 사용할 수 있습니다.
+ **문자열 일치 조건** - 수행 AWS WAF 하려는 검색 유형을 나타냅니다.
  + **정확히 문자열과 일치)** – 문자열과 요청 구성 요소의 값이 동일합니다.
  + **문자열로 시작** – 문자열이 요청 구성 요소의 시작 부분에 나타납니다.
  + **문자열로 끝** – 문자열이 요청 구성 요소의 끝에 나타납니다.
  + **문자열 포함** – 문자열이 요청 구성 요소의 아무 곳이나 나타납니다.
  + **단어 포함** – 지정한 문자열은 요청 구성 요소에 나타나야 합니다.

    이 옵션의 경우 지정하는 문자열에는 영숫자 또는 밑줄(A-Z, a-z, 0-9 또는 \$1)만 포함해야 합니다.

    요청이 일치하려면 다음 중 하나가 true여야 합니다.
    + 문자열은 헤더의 값 같은 요청 구성 요소의 값과 정확히 일치합니다.
    + 문자열이 요청 구성 요소의 시작 부분에 있고 그 뒤에 영숫자 또는 밑줄(\$1)을 제외한 다른 문자(예: `BadBot;`)가 있습니다.
    + 문자열이 요청 구성 요소의 끝에 있고 그 앞에 영숫자 또는 밑줄(\$1)을 제외한 다른 문자(예: `;BadBot`)가 있습니다.
    + 문자열이 요청 구성 요소의 중간에 있고 그 앞과 뒤에 영숫자 또는 밑줄(\$1)을 제외한 다른 문자(예: `-BadBot;`)이 있습니다.

## 이 규칙 문을 찾을 수 있는 위치
<a name="string-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** – **일치 유형**에서 **문자열 일치 조건**을 선택한 다음, 일치시킬 문자열을 입력합니다.
+ **API** – [ByteMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_ByteMatchStatement.html)

# 교차 사이트 스크립팅 공격 규칙 문
<a name="waf-rule-statement-type-xss-match"></a>

이 섹션에서는 XSS(크로스 사이트 스크립팅) 공격 문이 무엇인지, 어떻게 작동하는지를 설명합니다.

XSS 공격 문은 웹 요청 구성 요소의 악성 스크립트를 검사합니다. XSS 공격에서 공격자는 악성 클라이언트 사이트 스크립트를 다른 합법적 웹 브라우저에 삽입하는 수단으로 양성 웹 사이트의 취약점을 이용합니다.

## 규칙 문 특성
<a name="xss-match-characteristics"></a>

**중첩 가능** – 이러한 문 유형을 중첩할 수 있습니다.

**WCU** - 40WCU(기본 비용). 요청 구성 요소 **모든 쿼리 파라미터**를 사용하는 경우 10WCU를 추가하십시오. 요청 구성 요소 **JSON 본문**을 사용하는 경우 기본 비용 WCU를 두 배로 늘리십시오. 적용하는 각 **텍스트 변환**에 대해 10WCU를 추가하십시오.

이 문은 웹 요청 구성 요소에서 작동하며 작동을 위해선 다음과 같은 요청 구성 요소 설정이 필요합니다.
+ **요청 구성 요소** – 검사할 웹 요청 부분(예: 쿼리 문자열 또는 본문).
**주의**  
요청 구성 요소 **본문**, **JSON 본문**, **헤더** 또는 **쿠키를** 검사하는 경우에서 검사 AWS WAF 할 수 있는 콘텐츠의 양에 대한 제한 사항에 대해 읽어보세요[에서 웹 요청 구성 요소 크기 초과 AWS WAF](waf-oversize-request-components.md).

  웹 요청 구성 요소에 대한 자세한 내용은 [에서 규칙 문 설정 조정 AWS WAF](waf-rule-statement-fields.md) 섹션을 참조하세요.
+ **선택적 텍스트 변환** - 요청 구성 요소를 검사 AWS WAF 하기 전에 요청 구성 요소에 대해 수행하려는 변환입니다. 예를 들어, 소문자로 변환하거나 공백을 정규화할 수 있습니다. 둘 이상의 변환을 지정하는 경우는 나열된 순서대로 변환을 AWS WAF 처리합니다. 자세한 내용은 [에서 텍스트 변환 사용 AWS WAF](waf-rule-statement-transformation.md) 단원을 참조하세요.

## 이 규칙 문을 찾을 수 있는 위치
<a name="xss-match-where-to-find"></a>
+ 콘솔의 **규칙 빌더** – **일치 유형**에서 **공격 일치 조건** > **XSS 주입 공격 포함**을 선택합니다.
+ **API** – [XssMatchStatement](https://docs.aws.amazon.com/waf/latest/APIReference/API_XssMatchStatement.html)