すべてのプロダクト
Search
ドキュメントセンター

Web Application Firewall:マッチ条件

最終更新日:Jul 04, 2026

ホワイトリストルール、カスタムルール、またはボット管理ルールを設定する際は、ルール内で一致条件を設定して、一致させるリクエストの特性を指定する必要があります。このトピックでは、ルールの一致条件で使用できるフィールドとその解釈について説明します。

一致条件とは

一致条件とは、Web Application Firewall (WAF) が検査する必要があるリクエストの特性のことです。ホワイトリストルールカスタムルール、または ボット管理 を設定する際は、検査するリクエストの特性を指定するために、[一致条件] を定義します。リクエストがルールで設定した一致条件を満たす場合、そのリクエストは該当するルールに一致します。その後、WAF はルールに設定したルールアクションを適用し、リクエストを許可、ブロック、または検証するなど、設定に従ってリクエストを処理します。Match conditions

[一致条件] は [マッチフィールド]、[論理記号]、および [マッチコンテンツ] で構成されます。次の表に設定例を示します:

[マッチフィールド]

[論理記号]

[マッチコンテンツ]

説明

URI パス

次を含む

/login.php

リクエストパスに /login.php が含まれる場合、リクエストはこのルールに一致します。

IP

次に属する

192.1.XX.XX

クライアント IP が 192.1.XX.XX の場合、リクエストはこのルールに一致します。

サポート対象の一致フィールド

次の表に、一致条件で利用可能なフィールドと関連ルールを示します。

  1. 高度なルールの定義と課金

    • 定義:ルールが次のいずれかの条件を満たす場合、そのルールは高度なルールです:

      • 一致フィールドが Body または ボディパラメーター である場合。

      • 論理演算子が 正規表現一致 または 正規表現不一致 である場合。

    • 従量課金 WAF: 高度なルールと基本ルールでは課金基準が異なります。具体的な料金については、課金の詳細をご参照ください。

    • サブスクリプション WAF: 高度なルールは Enterprise edition 以上でのみサポートされています。各エディションの機能差分については、エディションをご参照ください。

  2. マッチングメカニズム

    • 大文字と小文字の区別:特に指定がない限り、すべての一致フィールドの一致する内容は大文字と小文字を区別しません。

    • エンコードの処理:URL エンコード、HTML エンコード、Unicode エンコードなどの一般的なエンコードを含むリクエストコンテンツの場合、システムは照合前にコンテンツを自動的にデコードします。

一致フィールド

説明

サポート対象の論理演算子

URI

リクエストの Uniform Resource Identifier (URI) です。リクエストされたリソースのパスを示します。一般的に、URI = URI パス + クエリ文字列 です。

指定する内容は / で始まり、ドメイン名は含まれません。例: /login.php

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

IP

リクエストの送信元 IP アドレス、つまりリクエストを開始したクライアントの IP アドレスです。

一致する内容は次の要件を満たす必要があります:

  • IPv4 アドレス (例: 1.XX.XX.1) と IPv6 アドレス (例: 2001:db8:ffff:ffff:ffff:ffff:ffff:ffff) をサポートしています。

  • IP アドレス範囲 (例: 1.XX.XX.1/16) をサポートしています。

  • 複数の IP アドレスや IP アドレス範囲を入力する場合、カンマ (,) で区切ります。

  • 最大 100 件の IP アドレスを指定できます。

次に属する、次に属さない

説明

1つの保護ルールにつき、最大 100 件の IP アドレスまたは IP アドレス範囲を設定できます。たとえば、保護ルールに一致フィールドが IP の一致条件が 2 つ含まれている場合、2 つの一致条件に含まれる IP アドレスまたは IP アドレス範囲の合計数は 100 を超えることはできません。複数の IP アドレスまたは IP アドレス範囲はカンマ (,) で区切ります。

Referer

リクエストの送信元 URL、つまりリクエストがリダイレクトされた元のページです。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

User-Agent

リクエストを開始したクライアントのブラウザ情報です。ブラウザ識別子、レンダリングエンジン識別子、バージョン情報が含まれます。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

クエリ文字列

リクエスト内のクエリ文字列です。具体的には URL の疑問符 (?) の後ろの部分を指します。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

Cookie

リクエスト内の Cookie 情報です。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • に等しい長さ、より大きい長さおよび長さより少しより

  • 正規表現一致、正規表現不一致

Content-Type

リクエストで指定された HTTP コンテンツタイプ、つまり Multipurpose Internet Mail Extensions (MIME) タイプ情報です。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • に等しい長さ、より大きい長さおよび長さより少しより

  • 正規表現一致、正規表現不一致

Content-Length

リクエストコンテンツのバイト数です。有効な値: 0~2,147,483,647。

  • 等しい、より大きい値、およびより小さい値

X-Forwarded-For

リクエスト内のクライアントの実際の IP アドレスです。X-Forwarded-For (XFF) ヘッダーフィールドは、HTTP プロキシまたはロードバランサー経由で転送されたリクエストにおいて、クライアントの元の IP アドレスを識別するために使用されます。このフィールドは、HTTP プロキシまたはロードバランサーによって転送されたリクエストにのみ含まれます。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 次を含む、次を含まない

  • 存在しない

  • に等しい長さ、より大きい長さおよび長さより少しより

Body

リクエストボディのコンテンツです。

  • 次と等しい

  • 次を含む

  • 存在しない

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致

Http-Method

リクエストメソッドです。GET, POST, DELETE, PUT, OPTIONS, CONNECT, HEAD, TRACE, PATCH が含まれます。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

ヘッダー

リクエストのヘッダー情報です。カスタムヘッダーフィールドを指定できます。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • に等しい長さ、より大きい長さおよび長さより少しより

  • 正規表現一致、正規表現不一致

URI パス

リクエストの URI パスです。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

クエリ文字列パラメーター

クエリ文字列内のパラメーター名です。リクエストパラメーターとは、リクエスト URL の疑問符 (?) の後ろの部分を指します。たとえば、www.aliyundoc.com/request_path?param1=a&param2=b では、param1param2 の両方がリクエストパラメーターです。

説明

クエリ文字列パラメーターのカスタムパラメーターは大文字と小文字を区別します。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

Server-Port

サーバーポートです。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

拡張子

リクエストされたファイルの拡張子です。例: .png, .php。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

ファイル名

リクエストパスの末尾にあるファイル名です。たとえば、/abc/index.php の場合、index.php がファイル名を示します。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

Host

リクエストされたドメイン名です。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致、正規表現不一致

Cookie 名

Cookie のキー名です。たとえば、Cookie が acw_tc:111 の場合、acw_tc がキー名です。

説明

Cookie 名のカスタムパラメーター (Cookie-Exact) は大文字と小文字を区別します。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致

ボディパラメーター

  • 基本ルール

    • このフィールドは、リクエストボディ内のパラメーター名を指定します。マッチングでは大文字と小文字を区別します。

    • 一致する内容の長さは 4 文字を超える長さにする必要があります。4 文字以下の場合、システムは該当するトラフィックを検出できません。

  • フォーマット仕様

    • 通常のパラメーター: パラメーターのキー名を直接入力します。たとえば、リクエストボディが a=1&b=2 の場合は、a または b を入力します。

    • ネストされた JSONParentKey.ChildKey のようにドット区切りの階層形式を使用します。たとえば、{"userInfo": {"userId": "12345"}} 内の値に一致させる場合は、userInfo.userId を入力します。

  • 等しい、等しくない、複数の値の1つに等しく、任意の値に等しくない

  • 含む、含まない、複数の値のうちの1つを含み、値を含まない

  • 存在し、存在しない

  • Empty

  • に等しい長さ、より大きい長さおよび長さより少しより

  • プレフィックスマッチとサフィックスマッチ

  • 正規表現一致

Client-ID

クライアント識別子 (ブラウザやアプリケーションなど) です。User-Agent 情報やトラフィックフィンガープリントなどの特性に基づいて、HTTP リクエストの送信元クライアントを識別します。

説明

BOT 管理 > 高度なカスタムルールモジュールでのみサポートされています。

  • 次を含む、次を含まない

  • 次と等しい、次と等しくない

  • 複数の値のいずれかと等しい

JA3 フィンガープリント

TLS ハンドシェイク中の主要パラメーター (TLS バージョン、暗号スイート、圧縮アルゴリズム、TLS 拡張など) を MD5 ハッシュ化して生成される文字列です。この文字列はクライアントの TLS 設定を表し、JA3 フィンガープリントと呼ばれます。

JA3 フィンガープリントは、Web ブラウザ、モバイルアプリケーション、マルウェアなど、異なる種類の TLS クライアントの識別と判別に使用できます。

説明

BOT 管理 > 高度なカスタムルールモジュールでのみサポートされています。

  • 次と等しい、次と等しくない

  • 複数の値のいずれかと等しい

JA4 フィンガープリント

JA4 フィンガープリントは、JA3 フィンガープリントによって発生する可能性がある重複の問題を軽減するために、ブラウザバージョンやオペレーティングシステムなど、より多くのコンテキスト情報とアルゴリズムを導入しています。

JA4 フィンガープリントは、実ユーザーとなりすましをより正確に識別でき、誤検知率を低減します。

説明

BOT 管理 > 高度なカスタムルールモジュールでのみサポートされています。

  • 次と等しい、次と等しくない

  • 複数の値のいずれかと等しい

HTTP/2 フィンガープリント

HTTP/2 クライアントの元のフィンガープリントを MD5 アルゴリズムで処理して生成された HTTP 2.0 フィンガープリントです。より安全で効率的な通信を実現するために、異なるクライアントの分析と識別に利用されます。

説明

BOT 管理 > 高度なカスタムルールモジュールでのみサポートされています。

  • 次と等しい、次と等しくない

  • 複数の値のいずれかと等しい

IDC

送信元 IP の属性データに基づいてトラフィックソースを識別します。クラウドサーバーはコストが低く、攻撃者に悪用されやすい傾向があります。

説明

BOT 管理 > 高度なカスタムルールモジュールでのみサポートされています。

複数の値のいずれかと等しい、いずれの値とも等しくない

Web SDK

Web SDK で収集されたプローブ情報 (Web UMID、キーボード、マウス、タッチスクリーンの押下回数など) に基づいて、異常トラフィックを識別します。

説明

BOT 管理 > 高度なカスタムルールモジュールでのみサポートされています。

  • 次と等しい

  • 値が次より大きい、値が次より小さい

App SDK

App SDK で収集されたプローブ情報に基づいて、きめ細かな制御を行います。

説明

BOT 管理 > 高度なカスタムルールモジュールでのみサポートされています。

  • 次を含む、次を含まない

  • 次と等しい、次と等しくない

  • 長さが次より小さい、長さが次と等しい、長さが次より大きい

  • 複数の値のいずれかと等しい、いずれの値とも等しくない

  • 複数の値のいずれかを含む、いずれの値も含まない

  • 正規表現一致、正規表現不一致

  • 前方一致、後方一致

  • 存在する、存在しない

  • 空である