

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

更新されたエクスペリエンスを使用して、コンソールの任意の場所で AWS WAF 機能にアクセスできるようになりました。詳細については、[「コンソールの使用](https://docs.aws.amazon.com/waf/latest/developerguide/working-with-console.html)」を参照してください。

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

# AWS WAF ルール
<a name="waf-rules"></a>

このセクションでは、 AWS WAF ルールとその仕組みについて説明します。

 AWS WAF ルールは、HTTP(S) ウェブリクエストを検査する方法と、検査基準に一致するリクエストに対して実行するアクションを定義します。ルールは、ルールグループまたは保護パック (ウェブ ACL) のコンテキストでのみ定義されます。

ルール自体は に存在しません AWS WAF 。これらは AWS リソースではなく、Amazon リソースネーム (ARNs) もありません。ルールが定義されているルールグループまたは保護パック (ウェブ ACL) に含まれる名前を使用してルールにアクセスします。ルールを管理し、他の保護パック (ウェブ ACL) にコピーするには、そのルールが含まれているルールグループまたは保護パック (ウェブ ACL) の JSON ビューを使用します。また、保護パック (ウェブ ACLs) とルールグループで使用できる AWS WAF コンソールルールビルダーを使用して管理することもできます。

**ルール名**  
各ルールには名前が必要です。`AWS` で始まる名前や、他のサービスによって管理されているルールグループまたはルールに使用されている名前は避けてください。「[他のサービスによって提供されるルールグループを識別する](waf-service-owned-rule-groups.md)」を参照してください。

**注記**  
ルールの名前を変更し、ルールのメトリクス名に変更を反映する場合は、メトリクス名も更新する必要があります。ルール名を変更しても、ルールのメトリクス名は自動的に更新 AWS WAF されません。ルールの JSON エディターを使用して、コンソールでルールを編集するときに、メトリック名を変更できます。API や、保護パック (ウェブ ACL) またはルールグループの定義に使用する JSON リストを使用して、両方の名前を変更することもできます。

**ルールステートメント**  
各ルールには、ルールがウェブリクエストを検査する方法を定義するルールステートメントも必要です。ルールステートメントには、ルールとステートメントのタイプに応じて、ネストされたステートメントを任意の深さに含めることができます。一部のルールステートメントは、条件のセットを採用します。例えば、IP セット一致ルールに最大 10,000 個の IP アドレスまたは IP アドレス範囲を指定できます。

次のような基準を検査するルールを定義できます。
+ 悪意のある可能性が高いスクリプト。攻撃者は、ウェブアプリケーションの脆弱性を悪用できるスクリプトを埋め込みます。これはクロスサイトスクリプティング (XSS) と呼ばれます。
+ リクエストの発生元の IP アドレスまたはアドレス範囲。
+ リクエスト送信元の国または地理的場所。
+ クエリ文字列など、リクエストの指定した部分の長さ。
+ 悪意のある可能性が高い SQL コード。攻撃者は、ウェブリクエストに悪意のある SQL コードを埋め込むことで、データベースからデータを抽出しようとします。これは SQL インジェクション と呼ばれます。
+ リクエストに表示される文字列。例えば、`User-Agent` ヘッダーに表示される値、またはクエリ文字列に表示されるテキスト文字列です。正規表現を使用してこれらの文字列を指定することもできます。
+ 保護パック (ウェブ ACL) の以前のルールがリクエストに追加したラベル。

上記のリストにあるようなウェブリクエスト検査基準を持つステートメントに加えて、 は、ルール内のステートメントを組み合わせるために`NOT`使用する `AND`、`OR`、および の論理ステートメント AWS WAF をサポートします。

例えば、攻撃者からの最近のリクエストに基づいて、次のネストされたステートメントを組み合わせた論理 `AND` ステートメントを使用してルールを作成できます。
+ リクエストが 192.0.2.44 から発生した。
+ リクエストの `User-Agent` ヘッダーに `BadBot` 値が含まれる。
+ それらのクエリ文字列には、SQL などのコードが含まれる。

この場合、上位のレベルの `AND` に一致するようにするには、ウェブリクエストはすべてのステートメントに一致する必要があります。

**Topics**
+ [でのルールアクションの使用 AWS WAF](waf-rule-action.md)
+ [でのルールステートメントの使用 AWS WAF](waf-rule-statements.md)
+ [での一致ルールステートメントの使用 AWS WAF](waf-rule-statements-match.md)
+ [での論理ルールステートメントの使用 AWS WAF](waf-rule-statements-logical.md)
+ [でのレートベースのルールステートメントの使用 AWS WAF](waf-rule-statement-type-rate-based.md)
+ [でのルールグループルールステートメントの使用 AWS WAF](waf-rule-statements-rule-group.md)