ホワイトリストルールを使用すると、特定の条件に一致するリクエストが、Web Application Firewall (WAF) のすべてまたは選択された保護モジュールをバイパスできるようになります。これにより、脆弱性スキャナー、認証済みパートナーインターフェース、内部監視ツールなどの信頼できるトラフィックに対する誤検知を防ぎます。
このトピックでは、ホワイトリスト保護テンプレートを作成し、それにホワイトリストルールを追加する方法について説明します。
事前準備
ホワイトリストルールを設定する前に、目的を明確にしてください。
| 目的 | 推奨されるアプローチ |
|---|---|
| 特定の IP またはパスからの信頼できるトラフィックを許可する (プロアクティブな許可) | [すべて] バイパスオプションを使用してホワイトリストルールを作成するか、スキップするモジュールのみを選択します。 |
| 正当なリクエストをブロックしている特定の WAF ルールを停止する (誤検知の修復) | ホワイトリストルールを、[コア保護ルール] > [特定のルールのID] で作成し、誤検知の原因となったルールIDを入力します。 |
前提条件
開始する前に、以下を確認してください。
WAF 3.0 インスタンスがあること。詳細については、「従量課金 WAF 3.0 インスタンスのアクティブ化」をご参照ください。
Web サービスが保護対象として WAF 3.0 に追加されていること。詳細については、「保護対象と保護対象グループの設定」をご参照ください。
開始点の選択
ホワイトリストルールは保護テンプレート内に存在します。ルールを追加する前に、使用するテンプレートを決定してください。
| シナリオ | アクション |
|---|---|
| デフォルト保護テンプレートを使用する (デフォルトですべての保護対象に適用される) | ステップ 1 をスキップし、直接ステップ 2 に進みます。 |
| 特定の保護対象または保護対象グループ用のカスタムテンプレートを作成する | ステップ 1 を完了してから、ステップ 2 を完了します。 |
ルールがないホワイトリスト保護テンプレートでは、WAF をバイパスするリクエストは許可されません。デフォルトでは、WAF はすべてのリクエストを検査します。
テンプレートの種類
| テンプレートの種類 | 説明 | 適用対象 |
|---|---|---|
| デフォルト保護テンプレート | WAF によって提供される初期テンプレート。ホワイトリストルールは含まれていません。 | デフォルトですべての新規および既存の保護対象とグループ。これは手動で変更できます。 |
| カスタム保護テンプレート | ニーズに基づいて作成するテンプレート。 | [適用対象] で指定した保護対象と保護対象グループのみ。 |
単一の保護対象または保護対象グループに対して、複数のホワイトリスト保護テンプレートを関連付けることができます。複数のテンプレートが適用される場合のルールの適用方法の詳細については、「複数の保護テンプレートの適用例」をご参照ください。
ステップ 1: ホワイトリスト保護テンプレートの作成
デフォルト保護テンプレートを使用する場合は、このステップをスキップしてください。
WAF 3.0 コンソールにログインします。上部のナビゲーションバーで、ご利用の WAF インスタンスのリソースグループとリージョン (中国本土または中国本土以外) を選択します。Web Application Firewall 3.0 コンソール
左側のナビゲーションウィンドウで、保護設定 > コアWeb保護 を選択します。
[ホワイトリスト] セクションで、[テンプレートの作成] をクリックします。
「[テンプレートの作成 - ホワイトリスト]」パネルで、以下の設定を構成し、[OK] をクリックします。
設定項目 説明 テンプレート名 テンプレートの名前を入力します。名前の長さは 1~255 文字で、英字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) を使用できます。 デフォルトテンプレートとして設定 保護モジュールごとにデフォルトテンプレートは 1 つまで許可されます。この設定は作成時のみ可能です。選択した場合、テンプレートはすべての保護対象および保護対象グループにデフォルトで適用されます。 ルール設定 (任意)現在ルールを追加するには、ルールを追加 をクリックします。または、テンプレート作成後にルールを追加することもできます。 適用対象 保護対象 タブから保護対象を、保護対象グループ タブから保護対象グループを選択します。デフォルトテンプレートを設定しない場合、保護対象および保護対象グループはデフォルトで選択されません。
テンプレートが作成されると、デフォルトで有効になります。テンプレートリストでは、以下を行うことができます。
[Protected Object/Group] 列で、関連付けられたオブジェクトおよびグループの数を表示できます。
テンプレートを有効化または無効化するには、[ステータス] 列スイッチを使用します。
テンプレートを管理するには、[操作] 列で [ルールの作成]、[編集]、[削除]、または [コピー] をクリックします。
テンプレート名の横にある
アイコンをクリックして、その保護ルールを表示します。
WAF は、以下のシナリオで AutoTemplate という名前の保護テンプレートを自動的に作成します。
インテリジェントホワイトリストエンジンがログを分析して誤検知のリスクを特定した場合、影響を受けるパスとルール ID のホワイトリストルールを追加します。詳細については、「インテリジェントホワイトリストエンジン」をご参照ください。
セキュリティレポートで Web コア保護ルールによって検出された攻撃に対して [誤検知を無視] を選択すると、WAF はソースが カスタム のホワイトリストルールを追加します。詳細については、「セキュリティレポート」をご参照ください。
セキュリティレポートでボット管理モジュールによって検出された攻撃に対して[ホワイトリストに追加]を選択すると、WAF はソースが [カスタム] のホワイトリストルールを追加します。詳細については、「セキュリティレポート」をご参照ください。
ステップ 2: ホワイトリスト保護テンプレートへのホワイトリストルールの追加
保護テンプレートは、少なくとも 1 つのホワイトリストルールが含まれて初めて有効になります。テンプレート作成時にすでにルールを追加した場合は、このステップをスキップしてください。
WAF 3.0 コンソールにログインします。上部のナビゲーションバーで、ご利用の WAF インスタンスのリソースグループとリージョン (中国本土または中国本土以外) を選択します。
左側のナビゲーションウィンドウで、保護設定 > コアWeb保護 を選択します。
[ホワイトリスト] セクションで、対象のテンプレートを探し、[操作] 列の [ルールの作成] をクリックします。
[ルール作成] ダイアログボックスで、以下の設定を行い、[OK] をクリックします。一致条件の例:
URI が
/login.phpを含む場合: [一致フィールド] を URI に、[論理演算子] を 含む に、[一致内容] を/login.phpに設定します。特定の IP アドレスからのリクエスト: [マッチフィールド] を IP に設定し、[論理演算子] を「属する」に設定し、[マッチコンテンツ] を IP アドレス(例:
192.1X.XX.XX)に設定します。
設定項目 説明 ルール名 ルールの名前を入力します。名前には、文字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) を含めることができます。 [一致条件] 照合するリクエストの特性を指定します。[条件の追加] をクリックして条件を追加します。ルールごとに最大 5 つまで追加できます。ルールが一致するには、すべての条件が満たされる必要があります (AND ロジック)。各条件には、[照合フィールド]、[論理演算子]、[照合コンテンツ] の 3 つのパラメーターがあります。サポートされているフィールドと演算子の完全なリストについては、「照合条件」をご参照ください。 バイパスされたモジュール マッチするリクエストに対してバイパスする保護モジュールを選択します。以下の表をご参照ください。 バイパスモジュールオプション:
オプション 説明 [すべて] マッチするリクエストはすべての保護モジュールをバイパスし、オリジンサーバーに転送されます。これは、検証済みの脆弱性スキャンツールからのアクセスや、認証済みのサードパーティシステムインターフェースなど、完全に信頼できるトラフィックにのみ使用してください。セキュリティを向上させるには、[すべて] ではなく特定のモジュールを選択してください。 [コア保護ルール] マッチするリクエストは、指定されたウェブコア保護ルールをバイパスします。このオプションを選択した後、無視するルールを選択します: [すべてのルール] (デフォルト)、[特定のルールの ID] (6 桁の形式でルール ID を入力し、Enter キーを押すたびに 1 つずつ、最大 50 個の ID を入力できます。重要イベントサポートのルール ID をホワイトリストに追加することもできます)、または [特定のルールの種類] (
アイコンをクリックしてルールタイプを選択します)。[カスタムルール] マッチするリクエストはカスタムルールモジュールをバイパスします。 [IP ブラックリスト] マッチするリクエストは IP ブラックリストモジュールをバイパスします。 [スキャン保護] マッチするリクエストはスキャン保護モジュールをバイパスします。 [ボット管理] マッチするリクエストはボット管理モジュールをバイパスします。 [ウェブサイト改ざん防止] マッチするリクエストはウェブサイト改ざん防止モジュールをバイパスします。 [データ漏えい防止] マッチするリクエストはデータ漏えい防止モジュールをバイパスします。 [HTTP フラッド攻撃対策] マッチするリクエストは HTTP フラッド攻撃対策モジュールをバイパスします。 [地域ブラックリスト] マッチするリクエストは地域ブラックリストモジュールをバイパスします。 [AI アプリケーション保護] マッチするリクエストは AI アプリケーション保護モジュールをバイパスします。
ルールが作成されると、デフォルトで有効になります。ルールリストでは、以下を行うことができます。
[ルール ID] 列と [アクション] 列で、ルール ID とアクションを確認します。
ルールを有効または無効にするには、[ステータス] 列のスイッチを使用します。
「[編集]」または「[削除]」を[操作]列でクリックして、ルールを変更または削除します。
ホワイトリストルールの検証
ルールを追加した後、本番環境で信頼する前に、意図したトラフィックに一致することを確認してください。
「[セキュリティレポート]」ページで、影響を受ける保護ルールのブロック記録をクエリします。ホワイトリストに登録すべきリクエストがブロックされた状態で表示されなくなった場合、そのルールは正常に機能しています。リクエストが依然としてブロックされている場合は、以下の点を確認してください:
[マッチ条件]: フィールド、演算子、および値が実際のリクエストと正確に一致することを確認します。
[テンプレートの関連付け]: テンプレートが正しい保護対象または保護対象グループに適用されていることを確認します。
ルールおよびテンプレートのステータス: [ステータス] 列で、テンプレートとルールの両方が有効であることを確認します。
ブロックレコードの照会の詳細については、「セキュリティレポート」をご参照ください。
ヒント: ブロックをトリガーしたルール ID を見つけるには([コア保護ルール] の下の [特定のルールの ID] を設定するときに役立ちます)、[セキュリティレポート] ページに移動して、ブロックレコードを検索してください。詳細については、「セキュリティレポート」をご参照ください。
関連ドキュメント
マッチ条件 — ホワイトリストルールでサポートされているマッチフィールドと論理演算子。
緩和設定の概要 — WAF 3.0 の保護対象、保護モジュール、および保護プロセス。
保護テンプレートの作成 — 保護テンプレートを作成するための API リファレンス。
ウェブコア保護ルールの作成 — ウェブコア保護ルールを作成するための API リファレンス。