ホワイトリストルールを設定することで、特定のリクエストが、Web コア保護ルール、IP アドレスブラックリスト、カスタムルール、スキャン対策など、一部またはすべての保護モジュールによる検出をバイパスできるようになります。
基本概念
ホワイトリスト:Web Application Firewall (WAF) の機能で、特定のリクエストが一部またはすべての保護モジュールによる検出をバイパスできるようにする機能です。このモジュールを有効にするには、ホワイトリスト保護テンプレートを作成する必要があります。システムでは、複数のホワイトリスト保護テンプレートを作成できます。
ホワイトリスト保護テンプレート:ホワイトリストルールの集合であり、ルールの内容と範囲を定義します。テンプレートタイプ、ホワイトリストルール、適用対象の 3 つの部分で構成されます。
テンプレートタイプ:作成時にテンプレートタイプを選択する必要があります。タイプは後から変更できません。テンプレートには次の 2 種類があります。
テンプレートタイプ
説明
ユースケース
デフォルト保護テンプレート
WAF を購入すると、ルールを含まないデフォルト保護テンプレートがシステムによって自動的に作成されます。
デフォルトでは、テンプレートは既存および将来のすべての保護対象と保護対象グループに適用されます。
ステータスを「適用外」に変更することで、手動でオブジェクトを除外できます。
ホワイトリストモジュールに対して作成できるデフォルト保護テンプレートは 1 つだけです。
グローバルに適用する必要がある一般的なルールを設定します。
カスタム保護テンプレート
テンプレートを特定の保護対象または保護対象グループに手動で割り当てる必要があります。
ログインや決済 API など、特定のサービスに対して詳細なルールを設定します。
ホワイトリストルール:特定の検出ロジックとバイパスされるモジュールを定義します。テンプレートには複数のルールを含めることができ、各ルールは次の 2 つの部分で構成されます。
一致条件:リクエストパスやクライアント IP アドレスなど、一致させるリクエストの特性を定義します。
バイパスされるモジュール:一致条件を満たすリクエストがどの保護モジュールをバイパスするかを定義します。
適用対象:テンプレートのターゲットを指定します。適用対象を設定することで、ホワイトリストルールを指定した保護対象または保護対象グループに適用します。1 つの保護対象または保護対象グループは、複数のホワイトリスト保護テンプレートに関連付けることができます。
保護対象:WAF に追加された各ドメイン名またはクラウドサービスインスタンスに対し、保護対象が自動的に作成されます。
保護対象グループ:複数の保護対象を保護対象グループに追加して、一元管理することができます。
手順
開始する前に、保護対象が存在すること、つまり Web サービスが WAF に追加されていることを確認してください。サービスを追加していない場合は、「WAF へのサービスの追加」をご参照ください。
Web アプリケーションファイアウォール 3.0 コンソールにログインします。 上部のナビゲーションバーで、WAF インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。 左側のナビゲーションペインで、を選択します。
ステップ 1:テンプレートタイプの設定
WAF を購入すると、ルールを含まない user_default という名前のデフォルト保護テンプレートがシステムによって作成されます。複数のテンプレートの設定や適用対象の指定といった特定のビジネス要件がない場合は、user_default テンプレートを直接使用できます。[編集] をクリックして、[編集]に進みます。
ホワイトリスト ページで、テンプレートの作成 をクリックします。[テンプレートの作成 - ホワイトリスト] パネルで、次の設定を完了します。
[テンプレート名]:テンプレートの名前を入力します。
[デフォルトテンプレート]:ホワイトリストモジュールに対して設定できるデフォルトテンプレートは 1 つだけであり、新しいテンプレートを作成するときにのみ設定できます。
はい:有効対象 を設定する必要はありません。テンプレートが作成されると、デフォルトですべての保護対象と保護対象グループに適用されます。新しいオブジェクトも自動的に含まれます。ステータスを「適用外」に変更することで、特定のオブジェクトを手動で除外できます。
いいえ:有効対象 を手動で指定して、保護対象または保護対象グループを指定する必要があります。
ステップ 2:ホワイトリストルールの追加
ルールの設定 エリアで、ルールの作成 をクリックし、次の設定を完了してから OK をクリックします。
[Rule Name]:ルールの名前を入力します。
[一致条件]:一致させるリクエストの特性を定義します。条件の追加 をクリックして条件を追加します。各条件は、マッチフィールド、論理記号、および マッチコンテンツ で構成されます。次の表に設定例を示します。
説明ルールに複数の条件が含まれている場合、リクエストがルールに一致するためには、すべての条件を満たす必要があります (論理 AND 関係)。一致フィールドと論理演算子の詳細については、「一致条件」をご参照ください。
[マッチフィールド]
[論理記号]
[マッチコンテンツ]
説明
URI パス
次を含む
/login.phpリクエストパスに
/login.phpが含まれている場合、ルールは一致します。IP
次に属する
192.1.XX.XXクライアント IP アドレスが
192.1.XX.XXの場合、ルールは一致します。[Bypassed Modules]:[一致条件]を満たすリクエストがバイパスできる保護モジュールを指定します。次のオプションが利用できます。
[すべて検知しない]:完全に信頼するトラフィックを許可する場合にこのオプションを使用します。
[カスタム]:バイパスする特定の保護モジュールを選択します。
すべて
一致するリクエストはすべての保護モジュールをバイパスし、オリジンサーバーに直接送信されます。
カスタム
このオプションを選択した場合は、次のリストからバイパスする保護モジュールを選択します。
[Web コア保護ルール]
すべてのルール
すべての [Web コア保護ルール]の検出をバイパスします。
特定のルール ID
特定の ID を持つルールの検出をバイパスします。各ルール ID を入力した後、Enter キーを押します。
重大イベント対策のルール ID を含め、最大 50 個のルール ID を入力できます。
特定のモジュール
特定の種類のルールの検出をバイパスします。必要に応じてルールタイプを選択します。
特定のフィールド
Web コア保護ルールが無視するフィールドを指定します。最大 10 個のフィールドを追加できます。
フィールドタイプ
説明
URI
すべてのフィールドまたは特定のフィールドを設定できます。
特定のフィールドを設定する場合、URL または URL パスを設定できます。
ヘッダー
すべてのフィールドまたは特定のフィールドを設定できます。
特定のフィールドとして
qを入力すると、その内容はheader.qとして解釈されます。
クエリ文字列パラメーター
すべてのフィールドまたは特定のフィールドを設定できます。
特定のフィールドとして
qを入力すると、その内容はqueryarg.qとして解釈されます。
Cookie 名
すべてのフィールドまたは特定のフィールドを設定できます。
特定のフィールドとして
qを入力すると、その内容はcookie.qとして解釈されます。
本文
すべてのフィールドのみ設定できます。
たとえば、e コマースサイトの検索 API で、
&や"のような特殊文字を含むユーザーのクエリが、Web コア保護ルールによって攻撃の疑いがあるとしてブロックされ、検索が失敗する場合があります。GET /search?q=phoneこの例では、フィールドタイプ を Query String Parameter に、範囲 を 指定フィールド に設定し、指定フィールド に
qを入力します。 これにより、Web コア保護ルールを完全に無効にすることなく、クエリフィールドをホワイトリストに登録できます。[IP ブラックリスト]
すべてのルール
[IP ブラックリスト]モジュール内のすべてのルールの検出をバイパスします。
特定のルール ID
特定の ID を持つルールの検出をバイパスします。各ルール ID を入力した後、Enter キーを押します。最大 50 個のルール ID を入力できます。
[カスタムルール]
すべてのルール
[カスタムルール]モジュール内のすべてのルールの検出をバイパスします。
特定のルール ID
特定の ID を持つルールの検出をバイパスします。各ルール ID を入力した後、Enter キーを押します。最大 50 個のルール ID を入力できます。
[スキャン保護]:[スキャン保護]モジュール内のすべてのルールの検出をバイパスします。
[HTTP Flood Protection]:[HTTP Flood Protection]モジュール内のすべてのルールの検出をバイパスします。
[リージョンのブロック]:[リージョンのブロック]モジュール内のすべてのルールの検出をバイパスします。
[Website Tamper-proofing ]:[Website Tamper-proofing ]モジュール内のすべてのルールの検出をバイパスします。
[Data Leakage Prevention]:[Data Leakage Prevention]モジュール内のすべてのルールの検出をバイパスします。
[Protection for Critical Events]:[Protection for Critical Events]モジュール内のすべてのルールの検出をバイパスします。
[ピークスロットリング]:[ピークスロットリング]モジュール内のすべてのルールの検出をバイパスします。
[AI アプリケーション保護]:[AI アプリケーション保護]モジュール内のすべてのルールの検出をバイパスします。
[Bot Management]
すべてのルール
[Bot Management]モジュール内のすべてのルールの検出をバイパスします。
特定のルール ID
特定の ID を持つルールの検出をバイパスします。各ルール ID を入力した後、Enter キーを押します。最大 50 個のルール ID を入力できます。
特定のルール
ルール名で設定された特定のルールの検出をバイパスします。これは、Web のボット管理と App のボット管理のルールをサポートします。従来のボット管理を使用しているか、対応する Web/App 保護を設定していない場合、この設定は適用されません。
ステップ 3:適用対象の設定
有効対象 エリアで、テンプレートを適用する保護対象と保護対象グループを選択します。
テンプレートの適用方法は、ステップ 1 の設定によって異なります。
デフォルトテンプレートの場合:適用対象を設定する必要はありません。テンプレートが作成されると、デフォルトですべての保護対象と保護対象グループに適用されます。新しいオブジェクトも自動的に含まれます。ステータスを「適用外」に変更することで、特定のオブジェクトを手動で除外できます。
カスタムテンプレートの場合:テンプレートを適用する保護対象と保護対象グループを手動で指定する必要があります。
テンプレート作成中および作成後の両方で、保護対象または保護対象グループの適用ステータスを手動で調整できます。
メンテナンス
ホワイトリストテンプレートの管理
新しく作成されたホワイトリスト保護テンプレートは、デフォルトで有効になっています。テンプレートリストで次の操作を実行できます。
テンプレートに関連付けられている[保護対象 / グループ]の数を表示します。
ステータス を使用してテンプレートを有効または無効にします。
このテンプレートに[Create Rule]します。
テンプレートを編集、削除、または 複製 します。
テンプレート名の左側にある
アイコンをクリックすると、含まれているルールが表示されます。
ホワイトリストルールの管理
新しく作成されたルールは、デフォルトで有効になっています。ルールリストで次の操作を実行できます。
ルールID や ルール条件 などの情報を表示します。
ステータス スイッチを使用してルールを有効または無効にします。
ルールを編集 または 削除 します。
よくある質問
ホワイトリストルールが機能しないのはなぜですか?
ホワイトリストルールが期待どおりに機能しない場合は、次の設定を順番に確認してください。
テンプレートとルールのステータス:テンプレートとルールの両方が有効になっていることを確認してください。

適用対象:テンプレートが保護対象に対して 有効 になっていることを確認してください。

ルール設定:ホワイトリストルールの設定を確認し、一致条件がリクエストと一致するように、その正確性に特に注意してください。
「AutoTemplate」テンプレートとは何ですか?
次のいずれかが発生した場合、WAF は AutoTemplate という名前のホワイトリスト保護テンプレートを自動的に作成し、それにホワイトリストルールを追加します。
Web コア保護ルールのインテリジェントホワイトリストエンジンが有効になっており、ログ分析を通じて潜在的な誤検知を特定した場合。詳細については、「インテリジェントホワイトリストエンジン」をご参照ください。
Web コア保護ルールまたはボット管理モジュールによって検出されたイベントを、セキュリティレポートで誤検知の無視 としてマークした場合。詳細については、「セキュリティレポート」をご参照ください。
WAF ドメインへの IP ベースのアクセスを制限するためにホワイトリストモジュールを使用すべきですか?
いいえ。ここで説明する[ホワイトリスト] モジュールは、指定された基準に一致するリクエストに対し、すべての保護モジュールまたは特定の保護モジュールの検出をバイパスさせるための機能です。IP ベースのアクセス制御を実装するには、[カスタムルール] モジュールを使用してください。詳細な例については、「管理者バックエンドへのアクセスを特定の IP に制限する」をご参照ください。