での大きすぎるウェブリクエストコンポーネントの処理 AWS WAF - AWS WAF、 AWS Firewall Manager、および AWS Shield Advanced

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

での大きすぎるウェブリクエストコンポーネントの処理 AWS WAF

AWS WAF ウェブリクエストコンポーネントの本文、ヘッダー、Cookie の非常に大きなコンテンツの検査はサポートされていません。基盤となるホストサービスには、 AWS WAF 検査のために転送する内容の数とサイズの制限があります。たとえば、ホストサービスはに 200 個を超えるヘッダーを送信しないため AWS WAF、205 個のヘッダーを含むウェブリクエストでは、最後の 5 AWS WAF つのヘッダーを検査することはできません。

AWS WAF 保護されたリソースへのウェブリクエストの処理を許可すると、 AWS WAF 検査できた数とサイズの制限を超えるコンテンツを含め、ウェブリクエスト全体が送信されます。

コンポーネント検査のサイズ制限

コンポーネント検査のサイズ制限は次のとおりです。

  • Bodyおよび JSON Body — Application Load Balancer の場合 AWS AppSync、リクエスト本文の最初の 8 KB AWS WAF を検査できます。 CloudFrontでは、API Gateway、Amazon Cognito、アプリケーションランナー、検証済みアクセスは、デフォルトで最初の 16 KB AWS WAF を検査できますが、ウェブ ACL 設定で制限を最大 64 KB まで増やすことができます。詳細については、「身体検査のサイズ制限の管理」を参照してください。

  • Headers— AWS WAF 検査できるのはリクエストヘッダーの最初の 8 KB (8,192 バイト) で、最大で最初の 200 個のヘッダーを検査できます。 AWS WAF 最初の制限に達するまで、コンテンツを検査できます。

  • Cookies— リクエストクッキーの最初の 8 KB(8,192 バイト)、および最大で最初の 200 AWS WAF 個のクッキーを検査できます。 AWS WAF 最初の制限に達するまで、コンテンツは検査可能になります。

ルールステートメントのオーバーサイズの処理オプション

これらのリクエストコンポーネントタイプのいずれかを検査するルールステートメントを記述するときは、オーバーサイズコンポーネントの処理方法を指定します。オーバーサイズ処理は、ルールが検査するリクエストコンポーネントがサイズ制限を超えている場合に、 AWS WAF ウェブリクエストをどう処理するかを指示します。

オーバーサイズコンポーネントを処理するためのオプションは次のとおりです。

  • Continue— ルール検査基準に従ってリクエストコンポーネントを通常どおり検査します。 AWS WAF サイズ制限内にあるリクエストコンポーネントのコンテンツを検査します。

  • Match— ウェブリクエストをルールステートメントと一致するものとして扱います。 AWS WAF ルールの検査基準と照らし合わせて評価せずに、ルールアクションをリクエストに適用します。

  • No match— ウェブリクエストをルールのインスペクション基準と照らし合わせて評価せずに、ルールステートメントと一致しないものとして処理します。 AWS WAF 一致しないルールの場合と同様に、ウェブ ACL 内の残りのルールを使用してウェブリクエストの検査を継続します。

AWS WAF コンソールでは、これらの処理オプションのいずれかを選択する必要があります。コンソールの外では、デフォルトのオプションは Continue です。

Block に設定されたアクションを含むルールで Match オプションを使用する場合、そのルールは、検査したコンポーネントがオーバーサイズであるリクエストをブロックします。その他の設定では、リクエストの最終的な処理は、ウェブ ACL 内の他のルールの設定や、ウェブ ACL のデフォルトのアクション設定など、さまざまな要因によって異なります。

ユーザーが所有していないルールグループでのオーバーサイズの処理

コンポーネントのサイズと数の制限は、ウェブ ACL で使用するすべてのルールに適用されます。これには、マネージドルールグループ内および別のアカウントと共有しているルールグループ内にある、使用しているが管理されていないルールが含まれます。

ユーザーが管理していないルールグループを使用する場合、ルールグループに制限されたリクエストコンポーネントを検査するルールがあっても、そのルールではオーバーサイズのコンテンツが必要な方法で処理されない場合があります。 AWS マネージドルールが大型コンポーネントを管理する方法については、を参照してくださいAWS マネージドルールルールグループリスト。他のルールグループの詳細については、ルールグループプロバイダーにお問い合わせください。

ウェブ ACL 内のオーバーサイズコンポーネントを管理するためのガイドライン

ウェブ ACL でオーバーサイズのコンポーネントを処理する方法は、リクエストコンポーネントのコンテンツの予想サイズ、ウェブ ACL のデフォルトリクエスト処理、ウェブ ACL 内の他のルールがリクエストと一致して処理する方法など、さまざまな要因によって異なります。

オーバーサイズのウェブリクエストコンポーネントを管理するための一般的なガイドラインは、以下のとおりです。

  • オーバーサイズのコンポーネントコンテンツを含む一部のリクエストを許可する必要がある場合は、可能な場合は、それらのリクエストのみを明示的に許可するルールを追加します。同じコンポーネントタイプを検査するウェブ ACL 内の他のルールより先に実行されるように、これらのルールの優先度を上げます。この方法では、 AWS WAF 保護対象リソースに渡すことが許可されている特大コンポーネントのコンテンツ全体を検査することはできません。

  • 他のすべてのリクエストでは、次のように、制限を超えるリクエストをブロックすることで、余計なバイトが通過するのを防ぐことができます。

    • ルールとルールグループ – サイズ制限のあるコンポーネントを検査するルールで、制限を超過するリクエストをブロックするようにオーバーサイズの処理を設定します。例えば、ルールで特定のヘッダーコンテンツを含むリクエストをブロックする場合、オーバーサイズのヘッダーコンテンツを持つリクエストと一致するようにオーバーサイズの処理を設定できます。別の例として、ウェブ ACL によりデフォルトでリクエストがブロックされ、かつルールで特定のヘッダーコンテンツが許可されている場合、オーバーサイズのヘッダーコンテンツを持つすべてのリクエストと一致しないように、ルールのオーバーサイズ処理を設定できます。

    • 管理していないルールグループ – 管理していないルールグループでオーバーサイズのリクエストコンポーネントを許可しないようにするには、リクエストコンポーネントタイプを検査して制限を超えるリクエストをブロックする別のルールを追加します。ウェブ ACL でそのルールがルールグループより先に実行されるように、ルールの優先度を上げます。例えば、ウェブ ACL で本文検査ルールを実行する前に、オーバーサイズの本文コンテンツを含むリクエストをブロックできます。次の手順では、このタイプのルールを追加する方法について説明します。

オーバーサイズのコンテンツをブロックするルールを追加するには
  1. ウェブ ACL を作成または編集するときは、ルール設定で、[Add rules] (ルールを追加)、[Add my own rules and rule groups] (独自のルールとルールグループを追加)、[Rule builder] (ルールビルダー)、[Rule visual editor] (ルールビジュアルエディタ) の順に選択します。ウェブ ACL の作成または編集に関するガイダンスについては、「ウェブ ACL の使用」を参照してください。

  2. ルールの名前を入力し、[Type] (タイプ) 設定を [Regular rule] (通常のルール) のままにします。

  3. 次の一致設定をデフォルトから変更します。

    1. [Statement] (ステートメント) の [Inspect] (検査) で、ドロップダウンを開き、必要なウェブリクエストコンポーネント ([Body] (本文)、[Headers] (ヘッダー)、[Cookies] (cookie) のいずれか) を選択します。

    2. [Match type] (一致タイプ) で、[Size greater than] (次より大きいサイズ:) を選択します。

    3. [サイズ] で、コンポーネントタイプの最小サイズ以上の数値を入力します。ヘッダーと Cookie には、と入力します。8192[Application Load Balancer] または [ AWS AppSync ウェブ ACL] の body に、と入力します。8192API Gateway CloudFront、Amazon Cognito、App Runner、または検証済みアクセスウェブ ACL のボディに、デフォルトのボディサイズ制限を使用している場合は、と入力します。16384それ以外の場合は、ウェブ ACL に定義した本文サイズ制限を入力します。

    4. [Oversize handling] (オーバーサイズ処理) で、[Match] (一致) を選択します。

  4. [Action] (アクション) で、[Block] (ブロック) を選択します。

  5. [Add Rule] (ルールの追加) を選択します。

  6. ルールを追加したら、[Set rule priority] (ルールの優先度の設定) ページで、同じコンポーネントタイプを検査するウェブ ACL 内のルールまたはルールグループよりも上に移動します。これにより、優先順位の数値が低くなり、最初に評価されます。 AWS WAF 詳細については、「ウェブ ACL でのルールおよびルールグループの処理順序」を参照してください。