ホワイトリスト、カスタム、またはボット管理ルールを設定する際、一致させたいリクエストの特徴を定義するために一致条件を設定する必要があります。この Topic では、一致条件でサポートされているフィールドとその説明について説明します。
一致条件とは
一致条件は、Web Application Firewall (WAF) が検査するリクエストの特徴です。ホワイトリストルール、カスタムルール、または ボット管理 を設定する際、WAF が検査するリクエストの特徴を指定するために [一致条件] を定義します。リクエストがルールの一致条件を満たす場合、そのリクエストはルールにヒットします。WAF はその後、ルールで指定されたアクション (許可、ブロック、チャレンジなど) に基づいてリクエストを処理します。
[一致条件] は、[一致フィールド]、[論理演算子]、および [一致コンテンツ] で構成されます。以下に設定例を示します。
例 1: [一致フィールド] が URI に設定され、[論理演算子] が 含む に設定され、[一致コンテンツ] が
/login.phpに設定されている場合、リクエストされたパスに/login.phpが含まれていると、リクエストはルールにヒットします。例 2: [一致フィールド] が IP に設定され、[論理演算子] が である に設定され、[一致コンテンツ] が
192.XX.XX.1に設定されている場合、IP アドレス192.XX.XX.1を持つクライアントからのリクエストはルールにヒットします。
URL エンコーディング、HTML エンコーディング、Unicode エンコーディングなどの一般的なエンコーディング方式を使用するリクエストのコンテンツは、指定された一致コンテンツと照合される前にデコードされます。
サポートされている一致フィールド
次の表に、一致条件でサポートされている一致フィールドを示します。
一致フィールド | 説明 | サポートされている論理演算子 |
URI | リクエストの Uniform Resource Identifier (URI)。リクエストされたリソースのパスを指定します。ほとんどの場合、[URI] は [URI パス] と [クエリ文字列] の組み合わせです。 パスは |
|
IP | リクエストの送信元 IP アドレス。これは、リクエストを開始したクライアントの IP アドレスです。 一致コンテンツは、次の要件を満たす必要があります。
|
説明 単一の保護ルールには、最大 100 個の IP アドレスまたは IP アドレス CIDR ブロックを含めることができます。たとえば、保護ルールに一致フィールドが IP である 2 つの一致条件が含まれている場合、2 つの一致条件の IP アドレスまたは IP アドレス CIDR ブロックの合計数は 100 を超えることはできません。複数の IP アドレスまたは IP アドレス CIDR ブロックはコンマ (,) で区切ります。 |
Referer | リクエストのソース URL。これは、リクエストがリダイレクトされた元のページを示します。 |
|
User-Agent | リクエストを開始したクライアントブラウザに関する情報 (ブラウザ識別子、レンダリングエンジン、バージョンなど)。 |
|
クエリ文字列 | リクエスト内のクエリ文字列。これは、URL の疑問符 (?) に続く部分を指します。 |
|
Cookie | リクエスト内の Cookie 情報。 |
|
Content-Type | リクエストヘッダーで指定される HTTP リクエストのコンテンツタイプ。これは、Multipurpose Internet Mail Extensions (MIME) タイプを指します。 |
|
Content-Length | リクエストボディのバイト数。有効な値: 0 ~ 2,147,483,648。 |
|
X-Forwarded-For | リクエストを送信するクライアントの送信元 IP アドレス。X-Forwarded-For (XFF) は、HTTP プロキシまたは Server Load Balancer インスタンスを介して Web サーバーに接続するクライアントの送信元 IP アドレスを識別するために使用される HTTP リクエストヘッダーフィールドです。HTTP プロキシまたは Server Load Balancer インスタンスによって転送されたリクエストにのみ、このフィールドが含まれます。 |
|
本文 | リクエストボディのコンテンツ。 重要 この一致フィールドを使用するカスタムルールは高度なルールです。高度なルールと基本ルールの課金基準は異なります。詳細については、「課金」をご参照ください。 |
|
Http-Method | GET、POST、DELETE、PUT、OPTIONS、CONNECT、HEAD、TRACE、PATCH などのリクエストメソッド。 |
|
ヘッダー | リクエスト内のヘッダー。カスタムヘッダーフィールドを指定できます。 |
|
URI パス | リクエストの URI パス。 |
|
クエリ文字列パラメーター | クエリ文字列内のパラメーターの名前。クエリ文字列は、URL の疑問符 (?) に続く部分です。たとえば、 説明 カスタムクエリ文字列パラメーターに入力する値では、大文字と小文字が区別されます。 |
|
Server-Port | サーバーポート。 |
|
ファイル拡張子 | リクエストパス内のファイル拡張子 (.png や .php など)。 |
|
ファイル名 | リクエストパスの末尾にあるファイルの名前。たとえば、 |
|
ホスト | リクエストされたドメイン名。 |
|
Cookie 名 | Cookie キーの名前。たとえば、Cookie 説明 カスタム Cookie 名に入力する値では、大文字と小文字が区別されます。 |
|
ボディパラメーター | リクエストボディ内のパラメーターの名前。たとえば、リクエストボディに文字列 説明 カスタムボディパラメーターに入力する値では、大文字と小文字が区別されます。 重要 この一致フィールドを使用するカスタムルールは高度なルールです。高度なルールと基本ルールの課金基準は異なります。詳細については、「課金」をご参照ください。 |
|