ルールステートメントリスト
このセクションでは、ルールに追加できるステートメントについて説明し、それぞれのウェブ ACL キャパシティーユニット (WCU) 使用量を計算するためのガイドラインを提供します。WCU の詳細については、「AWS WAF ウェブ ACL キャパシティーユニット (WCU)」を参照してください。
このページでは、ルールステートメントをカテゴリ別にグループ化し、それぞれの概要を説明し、ステートメントタイプの詳細情報を含むセクションへのリンクを提供します。
一致ステートメント
一致ステートメントは、ウェブリクエストまたはその送信元を、指定された基準と比較します。このタイプの多くのステートメントで、AWS WAF はリクエストの特定のコンポーネントを比較して、コンテンツの一致を判別します。
一致ステートメントはネスト可能です。論理ルールステートメント内にネストして、スコープダウンステートメントで使用できます。
一致ステートメント |
説明 |
WCU |
---|---|---|
リクエストの送信元の国を検査します。 |
1 |
|
リクエストを一連の IP アドレスおよびアドレス範囲と照合します。 |
ほとんどの場合 1。転送された IP アドレスを持つヘッダーを使用するようにステートメントを設定し、 |
|
同じウェブ ACL 内の他のルールによって追加されたラベルのリクエストを検査します。 |
1 |
|
正規表現パターンを指定されたリクエストコンポーネントと比較します。 |
3 (基本コストとして)。 [All query parameters] (すべてのクエリパラメータ) のリクエストコンポーネントを使用する場合、10 WCU を追加します。[JSON body] (JSON 本文) のリクエストコンポーネントを使用する場合、基本コストの WCU を倍増させます。適用する各テキスト変換について、10 WCU を追加します。 |
|
正規表現パターンを指定されたリクエストコンポーネントと比較します。 |
パターンセットあたり 25 (基本コストとして)。 [All query parameters] (すべてのクエリパラメータ) のリクエストコンポーネントを使用する場合、10 WCU を追加します。[JSON body] (JSON 本文) のリクエストコンポーネントを使用する場合、基本コストの WCU を倍増させます。適用する各テキスト変換について、10 WCU を追加します。 |
|
指定されたリクエストコンポーネントに対してサイズ制約をチェックします。 |
1 (基本コストとして)。 [All query parameters] (すべてのクエリパラメータ) のリクエストコンポーネントを使用する場合、10 WCU を追加します。[JSON body] (JSON 本文) のリクエストコンポーネントを使用する場合、基本コストの WCU を倍増させます。適用する各テキスト変換について、10 WCU を追加します。 |
|
指定されたリクエストコンポーネント内の悪意のある SQL コードを検査します。 |
20 (基本コストとして)。 [All query parameters] (すべてのクエリパラメータ) のリクエストコンポーネントを使用する場合、10 WCU を追加します。[JSON body] (JSON 本文) のリクエストコンポーネントを使用する場合、基本コストの WCU を倍増させます。適用する各テキスト変換について、10 WCU を追加します。 |
|
指定されたリクエストコンポーネントと文字列を比較します。 |
基本コストは、文字列の一致のタイプによって異なり、1 ~ 10 の範囲です。 [All query parameters] (すべてのクエリパラメータ) のリクエストコンポーネントを使用する場合、10 WCU を追加します。[JSON body] (JSON 本文) のリクエストコンポーネントを使用する場合、基本コストの WCU を倍増させます。適用する各テキスト変換について、10 WCU を追加します。 |
|
指定されたリクエストコンポーネントでのクロスサイトスクリプティング攻撃を検査します。 |
40 (基本コストとして)。 [All query parameters] (すべてのクエリパラメータ) のリクエストコンポーネントを使用する場合、10 WCU を追加します。[JSON body] (JSON 本文) のリクエストコンポーネントを使用する場合、基本コストの WCU を倍増させます。適用する各テキスト変換について、10 WCU を追加します。 |
論理ルールステートメント
論理ルールステートメントを使用すると、他のステートメントを組み合わせたり、結果を否定したりすることができます。すべての論理ルールステートメントに、1 つ以上のネストされたステートメントが必要です。
ルールステートメントの結果を論理的に結合または否定するには、ステートメントを論理ルールステートメントの下にネストします。
コンソールのビジュアルエディタは、1 レベルのルールステートメントのネストをサポートしており、多くのニーズに対応しています。より多くのレベルをネストするには、コンソールでルールの JSON 表現を編集するか、API を使用します。
論理ルールステートメントはネスト可能です。他の論理ルールステートメント内にネストして、スコープダウンステートメントで使用できます。スコープダウンステートメントの詳細については、「スコープダウンステートメント」を参照してください。
複雑なステートメント
AWS WAF は、レートベースステートメントとルールグループステートメントをサポートします。これらのステートメントタイプは、他のルールステートメント内にネストすることはできません。これらのステートメントの一部では、スコープダウンステートメントを追加することで、検査するリクエストのスコープを絞り込むことができます。
ステートメント |
説明 |
WCU |
---|---|---|
指定されたマネージドルールグループで定義されているルールを実行します。 スコープダウンステートメントを追加することで、ルールグループで評価するリクエストの範囲を絞り込むことができます。 マネージドルールグループステートメントは、他のステートメントタイプ内にネストできません。 |
ルールグループと、スコープダウンステートメント用の追加の WCU によって定義されます。 |
|
管理するルールグループで定義されているルールを実行します。 ルールグループステートメントは、他のステートメントタイプ内にネストできません。 |
WCU の制限は、ルールグループを作成するときに定義します。 |
|
個々の IP アドレスからのリクエストのレートを追跡し、送信するリクエストが多すぎる間はアドレスを一時的にブロックします。 スコープダウンステートメントを追加することで、レートベースのステートメントで評価するリクエストの範囲を絞り込むことができます。 レートベースのステートメントは、ルールステートメントの下にネストできません。レートベースのステートメントは、管理するルールグループ内で定義できます。 |
2、およびスコープダウンステートメント用の追加の WCU。 |