ホワイトリストルール、カスタムルール、またはボット管理ルールを設定する際は、ルール内で一致条件を設定して、一致させるリクエストの特性を指定する必要があります。このトピックでは、ルールの一致条件で使用できるフィールドとその解釈について説明します。
一致条件とは
一致条件とは、Web Application Firewall (WAF) が検査する必要があるリクエストの特性のことです。ホワイトリストルール、カスタムルール、または ボット管理 を設定する際は、検査するリクエストの特性を指定するために、[一致条件] を定義します。リクエストがルールで設定した一致条件を満たす場合、そのリクエストは該当するルールに一致します。その後、WAF はルールに設定したルールアクションを適用し、リクエストを許可、ブロック、または検証するなど、設定に従ってリクエストを処理します。
[一致条件] は [マッチフィールド]、[論理記号]、および [マッチコンテンツ] で構成されます。次の表に設定例を示します:
|
[マッチフィールド] |
[論理記号] |
[マッチコンテンツ] |
説明 |
|
URI パス |
次を含む |
|
リクエストパスに |
|
IP |
次に属する |
|
クライアント IP が |
サポート対象の一致フィールド
次の表に、一致条件で利用可能なフィールドと関連ルールを示します。
-
高度なルールの定義と課金
-
マッチングメカニズム
-
大文字と小文字の区別:特に指定がない限り、すべての一致フィールドの一致する内容は大文字と小文字を区別しません。
-
エンコードの処理:URL エンコード、HTML エンコード、Unicode エンコードなどの一般的なエンコードを含むリクエストコンテンツの場合、システムは照合前にコンテンツを自動的にデコードします。
-
|
一致フィールド |
説明 |
サポート対象の論理演算子 |
|
URI |
リクエストの Uniform Resource Identifier (URI) です。リクエストされたリソースのパスを示します。一般的に、URI = URI パス + クエリ文字列 です。 指定する内容は |
|
|
IP |
リクエストの送信元 IP アドレス、つまりリクエストを開始したクライアントの IP アドレスです。 一致する内容は次の要件を満たす必要があります:
|
次に属する、次に属さない 説明
1つの保護ルールにつき、最大 100 件の IP アドレスまたは IP アドレス範囲を設定できます。たとえば、保護ルールに一致フィールドが IP の一致条件が 2 つ含まれている場合、2 つの一致条件に含まれる IP アドレスまたは IP アドレス範囲の合計数は 100 を超えることはできません。複数の IP アドレスまたは IP アドレス範囲はカンマ (,) で区切ります。 |
|
Referer |
リクエストの送信元 URL、つまりリクエストがリダイレクトされた元のページです。 |
|
|
User-Agent |
リクエストを開始したクライアントのブラウザ情報です。ブラウザ識別子、レンダリングエンジン識別子、バージョン情報が含まれます。 |
|
|
クエリ文字列 |
リクエスト内のクエリ文字列です。具体的には URL の疑問符 (?) の後ろの部分を指します。 |
|
|
Cookie |
リクエスト内の Cookie 情報です。 |
|
|
Content-Type |
リクエストで指定された HTTP コンテンツタイプ、つまり Multipurpose Internet Mail Extensions (MIME) タイプ情報です。 |
|
|
Content-Length |
リクエストコンテンツのバイト数です。有効な値: 0~2,147,483,647。 |
|
|
X-Forwarded-For |
リクエスト内のクライアントの実際の IP アドレスです。X-Forwarded-For (XFF) ヘッダーフィールドは、HTTP プロキシまたはロードバランサー経由で転送されたリクエストにおいて、クライアントの元の IP アドレスを識別するために使用されます。このフィールドは、HTTP プロキシまたはロードバランサーによって転送されたリクエストにのみ含まれます。 |
|
|
Body |
リクエストボディのコンテンツです。 |
|
|
Http-Method |
リクエストメソッドです。GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE, PATCH が含まれます。 |
|
|
ヘッダー |
リクエストのヘッダー情報です。カスタムヘッダーフィールドを指定できます。 |
|
|
URI パス |
リクエストの URI パスです。 |
|
|
クエリ文字列パラメーター |
クエリ文字列内のパラメーター名です。リクエストパラメーターとは、リクエスト URL の疑問符 (?) の後ろの部分を指します。たとえば、 説明
クエリ文字列パラメーターのカスタムパラメーターは大文字と小文字を区別します。 |
|
|
Server-Port |
サーバーポートです。 |
|
|
拡張子 |
リクエストされたファイルの拡張子です。例: .png, .php。 |
|
|
ファイル名 |
リクエストパスの末尾にあるファイル名です。たとえば、 |
|
|
Host |
リクエストされたドメイン名です。 |
|
|
Cookie 名 |
Cookie のキー名です。たとえば、Cookie が 説明
Cookie 名のカスタムパラメーター (Cookie-Exact) は大文字と小文字を区別します。 |
|
|
ボディパラメーター |
|
|
|
Client-ID |
クライアント識別子 (ブラウザやアプリケーションなど) です。User-Agent 情報やトラフィックフィンガープリントなどの特性に基づいて、HTTP リクエストの送信元クライアントを識別します。 説明
モジュールでのみサポートされています。 |
|
|
JA3 フィンガープリント |
TLS ハンドシェイク中の主要パラメーター (TLS バージョン、暗号スイート、圧縮アルゴリズム、TLS 拡張など) を MD5 ハッシュ化して生成される文字列です。この文字列はクライアントの TLS 設定を表し、JA3 フィンガープリントと呼ばれます。 JA3 フィンガープリントは、Web ブラウザ、モバイルアプリケーション、マルウェアなど、異なる種類の TLS クライアントの識別と判別に使用できます。 説明
モジュールでのみサポートされています。 |
|
|
JA4 フィンガープリント |
JA4 フィンガープリントは、JA3 フィンガープリントによって発生する可能性がある重複の問題を軽減するために、ブラウザバージョンやオペレーティングシステムなど、より多くのコンテキスト情報とアルゴリズムを導入しています。 JA4 フィンガープリントは、実ユーザーとなりすましをより正確に識別でき、誤検知率を低減します。 説明
モジュールでのみサポートされています。 |
|
|
HTTP/2 フィンガープリント |
HTTP/2 クライアントの元のフィンガープリントを MD5 アルゴリズムで処理して生成された HTTP 2.0 フィンガープリントです。より安全で効率的な通信を実現するために、異なるクライアントの分析と識別に利用されます。 説明
モジュールでのみサポートされています。 |
|
|
IDC |
送信元 IP の属性データに基づいてトラフィックソースを識別します。クラウドサーバーはコストが低く、攻撃者に悪用されやすい傾向があります。 説明
モジュールでのみサポートされています。 |
複数の値のいずれかと等しい、いずれの値とも等しくない |
|
Web SDK |
Web SDK で収集されたプローブ情報 (Web UMID、キーボード、マウス、タッチスクリーンの押下回数など) に基づいて、異常トラフィックを識別します。 説明
モジュールでのみサポートされています。 |
|
|
App SDK |
App SDK で収集されたプローブ情報に基づいて、きめ細かな制御を行います。 説明
モジュールでのみサポートされています。 |
|