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