기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
이 섹션은 웹 요청의 IP 주소를 사용하는 규칙 설명에 적용됩니다. 기본적으로는 웹 요청 오리진의 IP 주소를 AWS WAF 사용합니다. 웹 요청이 하나 이상의 프록시 또는 로드 밸런서를 통과할 경우 웹 요청 오리진에는 클라이언트의 최초 주소가 아닌 마지막 프록시의 주소가 포함됩니다. 이 경우 발신 클라이언트 주소는 일반적으로 다른 HTTP 헤더를 통해 전달됩니다. 이 헤더는 일반적으로 X-Forwarded-For
(XFF)지만 다른 헤더일 수도 있습니다.
IP 주소를 사용하는 규칙 문
IP 주소를 사용하는 규칙 문은 다음과 같습니다.
-
IP 집합 일치 - IP 주소가 IP 집합에 정의된 주소와 일치하는지 검사합니다.
-
지리적 일치- IP 주소를 사용하여 오리진 국가 및 리전을 결정하고 오리진 국가를 국가 목록과 비교합니다.
-
속도 기반 규칙 문 사용 - 개별 IP 주소가 너무 높은 속도로 요청을 보내지 않도록 IP 주소별로 요청을 집계할 수 있습니다. IP 주소 집계를 단독으로 사용하거나 다른 집계 키와 함께 사용할 수 있습니다.
웹 요청의 오 AWS WAF 리진을 사용하는 대신 X-Forwarded-For
헤더 또는 다른 HTTP 헤더에서 이러한 규칙 문에 전달된 IP 주소를 사용하도록에 지시할 수 있습니다. 사양을 제공하는 방법에 대한 자세한 내용은 개별 규칙 문 유형에 대한 지침을 참조하세요.
참고
지정한 헤더가 요청에 없는 경우 AWS WAF 는 웹 요청에 규칙을 전혀 적용하지 않습니다.
폴백 동작
전달된 IP 주소를 사용하는 경우 요청에 지정된 위치에 유효한 IP 주소가 없는 경우가 웹 요청에 AWS WAF 할당할의 일치 상태를 나타냅니다.
-
일치 - 웹 요청을 규칙 문과 일치하는 것으로 처리합니다.는 규칙 작업을 요청에 AWS WAF 적용합니다.
-
일치하지 않음 - 웹 요청을 규칙 문과 일치하지 않는 것으로 처리합니다.
AWS WAF Bot Control에 사용되는 IP 주소
Bot Control 관리형 규칙 그룹은의 IP 주소를 사용하여 봇을 확인합니다 AWS WAF. Bot Control을 사용하고 프록시나 로드 밸런서를 통해 라우팅되는 봇을 확인한 경우 사용자 지정 규칙을 사용하여 봇을 명시적으로 허용해야 합니다. 예를 들어, 전달된 IP 주소를 사용하여 확인된 봇을 탐지하고 허용하는 사용자 지정 IP 집합 일치 규칙을 구성할 수 있습니다. 규칙을 사용하여 다양한 방식으로 봇 관리를 사용자 지정할 수 있습니다. 자세한 내용 및 예제는 AWS WAF 봇 제어 섹션을 참조하세요.
전달된 IP 주소 사용에 대한 일반 고려 사항
전달된 IP 주소를 사용하기 전에 다음과 같은 일반적인 주의 사항을 참고하십시오.
-
헤더는 과정 중에 프록시를 통해 수정될 수 있으며, 프록시는 다양한 방식으로 헤더를 처리할 수 있습니다.
-
공격자가 AWS WAF 검사를 우회하기 위해 헤더의 내용을 변경할 수 있습니다.
-
헤더 내 IP 주소는 형식이 잘못되었거나 유효하지 않을 수 있습니다.
-
지정한 헤더가 요청에 전혀 없을 수도 있습니다.
에서 전달된 IP 주소 사용 시 고려 사항 AWS WAF
다음 목록은에서 전달된 IP 주소를 사용하기 위한 요구 사항 및 주의 사항을 설명합니다 AWS WAF.
-
단일 규칙의 경우 전달된 IP 주소에 헤더 하나를 지정할 수 있습니다. 헤더 사양은 대/소문자를 구분하지 않습니다.
-
속도 기반 규칙 문의 경우 중첩된 범위 지정 문이 전달된 IP 구성을 상속하지 않습니다. 전달된 IP 주소를 사용하는 각 명령문의 구성을 지정하십시오.
-
지리적 일치 및 속도 기반 규칙의 경우 헤더의 첫 번째 주소를 AWS WAF 사용합니다. 예를 들어 헤더에가 포함된 경우는를
10.1.1.1, 127.0.0.0, 10.10.10.10
AWS WAF 사용합니다.10.1.1.1
-
IP 집합 일치의 경우, 헤더의 첫 번째 주소, 마지막 주소 또는 임의 주소와 일치시킬지 여부를 지정합니다. 지정한 경우는 헤더의 모든 주소를 검사하여 일치하는 주소를 최대 10개까지 AWS WAF 검사합니다. 헤더에 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"
}
}
}
}