転送された IP アドレス - AWS WAF、AWS Firewall Manager、および AWS Shield Advanced

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

転送された IP アドレス

このセクションは、Web 要求の IP アドレスを使用する規則文に適用されます。デフォルトでは、AWS WAFは、ウェブリクエストオリジンからの IP アドレスを使用します。ただし、Web リクエストが 1 つ以上のプロキシまたはロードバランサーを通過する場合、Web リクエストオリジンには、クライアントの送信元アドレスではなく、最後のプロキシのアドレスが含まれます。この場合、発信元のクライアントアドレスは通常、別の HTTP ヘッダーで転送されます。通常、このヘッダーはX-Forwarded-For(XFF) と同じですが、別のものでもかまいません。

IP アドレスを使用するルールステートメント

IP アドレスを使用する規則文は、次のとおりです。

  • IP セット一致-IP セットで定義されているアドレスと一致する IP アドレスを検査します。

  • 地理的一致-IP アドレスを使用して発信国を特定し、それを国のリストと照合します。

  • レートベース-リクエストを IP アドレス別に集約し、個々の IP アドレスが高すぎるレートでリクエストを送信しないようにします。

あなたは指示することができますAWS WAFを使用して、これらの規則文のいずれかに転送された IP アドレスを使用します。X-Forwarded-Forヘッダーまたは別の HTTP ヘッダーから Web リクエストのオリジンを使用する代わりに、仕様を指定する方法の詳細については、個々の規則文タイプのガイダンスを参照してください。

で使用される IP アドレスAWS WAFボットコントロール

ボット制御管理ルールグループは、AWS WAF。Bot Control を使用し、プロキシまたはロードバランサー経由でルーティングするボットを検証した場合は、カスタムルールを使用して明示的に許可する必要があります。たとえば、転送された IP アドレスを使用して検証済みボットを検出して許可するカスタム IP セットマッチルールを設定できます。ルールを使用して、さまざまな方法でボット管理をカスタマイズできます。説明と例については、「AWS WAFボットコントロール」を参照してください。

転送された IP アドレスの使用に関する一般的な考慮事項

転送された IP アドレスを使用する前に、次の一般的な注意点に注意してください。

  • ヘッダーは、途中でプロキシによって変更することができ、プロキシは異なる方法でヘッダーを処理する可能性があります。

  • 攻撃者は、ヘッダーの内容を変更し、AWS WAF検査

  • ヘッダー内の IP アドレスは、形式が正しくないか、無効である可能性があります。

  • 指定したヘッダーがリクエストにまったく存在しない可能性があります。

転送された IP アドレスをで使用する場合の考慮事項AWS WAF

転送された IP アドレスを使用するための要件と注意事項を以下に示します。AWS WAF:

  • どの規則でも、転送された IP アドレスに 1 つのヘッダーを指定できます。ヘッダーの仕様では、大文字と小文字が区別されません。

  • レートベースの規則文の場合、ネストされたスコープ文は転送された 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 設定で指定されたフォールバック動作に従って、Web 要求がルールに一致するか一致しないかを指定します。

  • 指定したヘッダーがリクエストに存在しない場合、AWS WAFはリクエストにルールをまったく適用しません。これにより、AWS WAFはルールのアクションを適用せず、フォールバック動作を適用しません。

  • IP アドレスに転送された IP ヘッダーを使用するルールステートメントでは、Web リクエストのオリジンによって報告された IP アドレスは使用されません。

で転送された IP アドレス使用のベストプラクティス。AWS WAF

転送された IP アドレスを使用する場合は、以下のベストプラクティスを使用してください。

  • 転送された IP 設定を有効にする前に、要求ヘッダーの可能なすべての状態を慎重に検討してください。必要な動作を取得するには、複数のルールを使用する必要がある場合があります。

  • 複数の転送された IP ヘッダーを検査したり、Web 要求の発信元と転送された IP ヘッダーを調べたりするには、IP アドレスソースごとに 1 つのルールを使用します。

  • 無効なヘッダーを持つ Web 要求をブロックするには、ルールのアクションをブロックに設定し、転送された IP 設定のフォールバック動作を一致するように設定します。

転送された IP アドレスの JSON の例

次の geo match ステートメントは、X-Forwarded-Forヘッダーには、原産国がUS:

{ "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ヘッダー。ルールは、ネストされた geo match ステートメントの一致を要求するだけを数えます。ネストされた geo match ステートメントは、X-Forwarded-Forヘッダーを使用して、IP アドレスがUS。存在する場合、またはヘッダーが存在するが、形式が正しくない場合、geo match ステートメントは一致を返します。

{ "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" } } } }