AWS WAF でのレートベースのルールの集計 - AWS WAF、AWS Firewall Manager、AWS Shield Advanced、および AWS Shield ネットワークセキュリティディレクター

AWS WAF の新しいコンソールエクスペリエンスのご紹介

更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、「更新されたコンソールエクスペリエンスを使用する」を参照してください。

AWS WAF でのレートベースのルールの集計

このセクションでは、リクエストを集約するためのオプションについて説明します。

デフォルトでは、レートベースのルールはリクエスト IP アドレスに基づき、リクエストを集約してレート制限します。他のさまざまな集約キーやキーの組み合わせを使用するようにルールを設定できます。例えば、転送された IP アドレス、HTTP メソッド、またはクエリ引数に基づいて集約できます。IP アドレスと HTTP メソッド、または 2 つの異なる Cookie の値など、集約キーの組み合わせを指定できます。

注記

リクエストを評価したり、ルールによってレート制限したりするには、集約キーで指定するすべてのリクエストコンポーネントがウェブリクエストに含まれている必要があります。

レートベースのルールは、次の集約オプションを使用して設定できます。

  • 送信元 IP アドレス – ウェブリクエストの発信元 IP アドレスのみを使用して集約します。

    送信元 IP アドレスには、発信元クライアントのアドレスが含まれていない場合があります。ウェブリクエストが 1 つ以上のプロキシまたはロードバランサーを経由する場合、これには最後のプロキシのアドレスが含まれます。

  • ヘッダーの IP アドレス – HTTP ヘッダー内のクライアントアドレスのみを使用して集約します。これは転送された IP アドレスとも呼ばれます。

    この設定では、ヘッダーに不正な形式の IP アドレスを持つウェブリクエストに適用するフォールバック動作も指定します。フォールバック動作は、リクエストの一致結果を、一致または不一致のいずれにするかを設定します。不一致の場合、レートベースのルールは、リクエストをカウントまたはレート制限しません。一致の場合、レートベースのルールは、指定されたヘッダーに不正な形式の IP アドレスを持つ他のリクエストとともに、リクエストをグループ化します。

    このオプションでは、プロキシによって一貫性のないヘッダー処理が行われ、検査を回避するように変更される可能性があるため、注意が必要です。追加情報とベストプラクティスについては、「AWS WAF で転送された IP アドレスの使用」を参照してください。

  • ASN – ソース IP アドレスに関連付けられた AS 番号 (ASN) を集約キーとして使用して集約します。これは、発信元クライアントのアドレスでは可能性があります。ウェブリクエストが 1 つ以上のプロキシまたはロードバランサーを経由する場合、これには最後のプロキシのアドレスが含まれます。

    AWS WAF が IP アドレスから ASN を取得できない場合、ASN は ASN 0 としてカウントされます。マッピングされていない ASN にレート制限を適用しない場合は、ASN 0 のリクエストを除外するスコープダウンルールを作成できます。

  • ヘッダーの ASN – HTTP ヘッダー内のクライアント IP アドレスに関連付けられた ASN を使用して集約します。これは転送された IP アドレスとも呼ばれます。この設定では、無効または不正な形式の IP アドレスを持つウェブリクエストに適用するフォールバック動作も指定します。フォールバック動作は、リクエストの一致結果を、一致または不一致のいずれにするかを設定します。転送された IP 設定でフォールバック動作が一致するように設定した場合、AWS WAF は無効な IP アドレスを一致する値として扱います。これにより、AWS WAF はレートベースのルールの複合キーの残りの部分の評価を継続できます。不一致の場合、レートベースのルールは、リクエストをカウントまたはレート制限しません。

    このオプションでは、プロキシによって一貫性のないヘッダー処理が行われ、検査を回避するように変更される可能性があるため、注意が必要です。追加情報とベストプラクティスについては、「AWS WAF で転送された IP アドレスの使用」を参照してください。

  • すべてをカウント – ルールのスコープダウンステートメントに一致するすべてのリクエストをカウントおよびレート制限します。このオプションには、スコープダウンステートメントが必要です。これは通常、特定のラベルが付いた全リクエストや特定の地域からの全リクエストなど、特定のリクエストセットをレート制限するために使用されます。

  • カスタムキー – 1 つ以上のカスタム集約キーを使用して集約します。いずれかの IP アドレスオプションを他の集約キーと組み合わせるには、それらをカスタムキーで定義します。

    カスタム集約キーは、「AWS WAF のリクエストコンポーネント」で説明されているウェブリクエストコンポーネントオプションのサブセットです。

    キーオプションは次のとおりです。特に明記されていない限り、オプションは複数回使用できます。例えば、2 つのヘッダーや 3 つのラベル名前空間などが使用可能です。

    • ラベル名前空間 – ラベル名前空間を集約キーとして使用します。指定されたラベル名前空間を持つ個別の完全修飾ラベル名はそれぞれ、集約インスタンスに影響します。カスタムキーとしてラベル名前空間を 1 つだけ使用する場合、各ラベル名は集約インスタンスを完全に定義します。

      レートベースのルールが使用するラベルは、保護パック (ウェブ ACL) であらかじめ評価されたルールによってリクエストに追加されたものに限ります。

      ラベル名前空間とラベル名の詳細については、「AWS WAF でのラベル構文と命名要件」を参照してください。

    • ヘッダー – 名前付きヘッダーを集約キーとして使用します。ヘッダー内の個別の値はそれぞれ、集約インスタンスに影響します。

      ヘッダーはオプションでテキスト変換を実行します。「AWS WAF でのテキスト変換の使用」を参照してください。

    • Cookie – 名前付き Cookie を集約キーとして使用します。Cookie 内の個別の値はそれぞれ、集約インスタンスに影響します。

      Cookie はオプションでテキスト変換を実行します。「AWS WAF でのテキスト変換の使用」を参照してください。

    • クエリ引数 – リクエスト内で 1 つのクエリ引数を集約キーとして使用します。名前付きクエリ引数の個別の値はそれぞれ、集約インスタンスに影響します。

      クエリ引数はオプションでテキスト変換を実行します。「AWS WAF でのテキスト変換の使用」を参照してください。

    • クエリ文字列 – リクエスト内のクエリ文字列全体を集約キーとして使用します。個別のクエリ文字列はそれぞれ、集約インスタンスに影響します。このキータイプは一度だけ使用できます。

      クエリ文字列はオプションでテキスト変換を実行します。「AWS WAF でのテキスト変換の使用」を参照してください。

    • URI パス — リクエスト内の URI パスを集約キーとして使用します。個別の URI パスはそれぞれ、集約インスタンスに影響します。このキータイプは一度だけ使用できます。

      URI パスはオプションでテキスト変換を実行します。「AWS WAF でのテキスト変換の使用」を参照してください。

    • JA3 フィンガープリント – リクエストで JA3 フィンガープリントを集計キーとして使用します。個別の JA3 フィンガープリントはそれぞれ、集約インスタンスに影響します。このキータイプは一度だけ使用できます。

    • JA4 フィンガープリント – リクエストで JA4 フィンガープリントを集計キーとして使用します。個別の JA4 フィンガープリントはそれぞれ、集約インスタンスに影響します。このキータイプは一度だけ使用できます。

    • HTTP メソッド – リクエストの HTTP メソッドを集約キーとして使用します。個別の HTTP メソッドはそれぞれ、集約インスタンスに影響します。このキータイプは一度だけ使用できます。

    • IP アドレス – ウェブリクエストの発信元 IP アドレスを他のキーと組み合わせて集約します。

      これには、発信元クライアントのアドレスが含まれていない可能性があります。ウェブリクエストが 1 つ以上のプロキシまたはロードバランサーを経由する場合、これには最後のプロキシのアドレスが含まれます。

    • ヘッダーの IP アドレス – HTTP ヘッダー内のクライアントアドレスを他のキーと組み合わせて集約します。これは転送された IP アドレスとも呼ばれます。

      このオプションでは、プロキシによって一貫性のないヘッダー処理が行われ、検査を回避するように変更される可能性があるため、注意が必要です。追加情報とベストプラクティスについては、「AWS WAF で転送された IP アドレスの使用」を参照してください。