ホワイトリストルールを設定することで、特定のリクエストが Web コア保護ルール、IP ブラックリスト、カスタムルール、スキャン防御など、一部またはすべての保護モジュールによる検知をバイパスさせることができます。
基本概念
ホワイトリスト:Web Application Firewall (WAF) の機能で、特定のリクエストが一部またはすべての保護モジュールによる検知をバイパスさせることができます。このモジュールを有効にするには、ホワイトリスト保護テンプレートを作成する必要があります。システムでは、複数のホワイトリスト保護テンプレートを作成できます。
ホワイトリスト保護テンプレート:ルールの内容と適用範囲を定義するホワイトリストルールのコレクションです。テンプレートタイプ、ホワイトリストルール、適用対象の 3 つの部分で構成されます。
テンプレートタイプ:作成時にテンプレートタイプを選択する必要があります。タイプは後で変更できません。テンプレートタイプは 2 種類あります。
テンプレートタイプ
説明
ユースケース
デフォルト保護テンプレート
WAF の購入後、システムはルールを含まないデフォルトの保護テンプレートを自動的に作成します。
デフォルトでは、テンプレートは既存および将来のすべての保護対象および保護対象グループに適用されます。
ステータスを [Not Applied] に変更することで、オブジェクトを手動で除外できます。
ホワイトリストモジュールでは、デフォルト保護テンプレートを 1 つしか作成できません。
グローバルに適用する必要がある一般的なルールのデプロイに使用します。
カスタム保護テンプレート
特定の保護対象または保護対象グループにテンプレートを手動で割り当てる必要があります。
ログインや決済 API など、特定のサービスに対してきめ細かいルールをデプロイする場合に使用します。
ホワイトリストルール:特定の検知ロジックとバイパス対象モジュールを定義します。1 つのテンプレートに複数のルールを含めることができ、各ルールは 2 つの部分で構成されます。
一致条件:リクエストパスやクライアント IP アドレスなど、一致させるリクエストの特性を定義します。
バイパス対象モジュール:一致条件を満たすリクエストがどの保護モジュールをバイパスするかを定義します。
適用対象:テンプレートのターゲットを指定します。適用対象を設定することで、指定した保護対象または保護対象グループにホワイトリストルールが適用されます。1 つの保護対象または保護対象グループは、複数のホワイトリスト保護テンプレートに関連付けることができます。
保護対象:WAF に追加された各ドメイン名またはクラウドサービスインスタンスに対して、システムは自動的に保護対象を作成します。
保護対象グループ:複数の保護対象を保護対象グループに追加して、一元管理することができます。
操作手順
開始する前に、保護対象が存在すること、つまり Web サービスが WAF に追加されていることを確認してください。サービスを追加していない場合は、「WAF へのサービスの追加」をご参照ください。
Web Application Firewall 3.0 コンソールにログインします。上部メニューで、WAF インスタンスのリソースグループとリージョン ([中国本土] または [中国本土以外]) を選択します。左側メニューで、 を選択します。
ステップ 1:テンプレートタイプの設定
WAF を購入すると、システムはルールを含まない user_default という名前のデフォルト保護テンプレートを作成します。複数のテンプレートを設定したり、適用対象を指定したりするなどの特定のビジネス要件がない場合は、user_default テンプレートを直接使用できます。編集 をクリックし、ステップ 2 に進みます。
ホワイトリスト ページで、テンプレートの作成 をクリックします。[テンプレートの作成 - ホワイトリスト] パネルで、次の設定を完了します。
[テンプレート名]:テンプレートの名前を入力します。
[デフォルトテンプレート]:ホワイトリストモジュールではデフォルトテンプレートを 1 つしか設定できず、新しいテンプレートを作成するときにのみ設定できます。
はい:有効対象 を設定する必要はありません。テンプレートが作成されると、デフォルトですべての保護対象と保護対象グループに適用されます。新しいオブジェクトも自動的に含まれます。ステータスを [Not Applied] に設定することで、特定のオブジェクトを手動で除外できます。
いいえ:有効対象 で、保護対象または保護対象グループを手動で指定する必要があります。
ステップ 2:ホワイトリストルールの追加
ルールの設定 セクションで ルールの作成 をクリックし、次の設定を行ってから OK をクリックします。ホワイトリストルールを設定する際は、最小限のホワイトリスト登録の原則に従ってください。つまり、誤検知を引き起こす保護モジュールのみをバイパスし、サービスインターフェースに対して非常に具体的な一致条件を設定して、過度に広範な例外を作成しないようにします。
[Rule Name]:ルールの名前を入力します。
[一致条件]:一致させるリクエストの特性を定義します。条件の追加 をクリックして条件を追加します。各条件は、マッチフィールド、論理記号、および マッチコンテンツ で構成されます。次の表に設定例を示します。
説明ルールに複数の条件が含まれている場合、リクエストがルールに一致するには、すべての条件を満たす必要があります (論理 AND 関係)。一致フィールドと論理演算子の詳細については、「一致条件」をご参照ください。
[マッチフィールド]
[論理記号]
[マッチコンテンツ]
説明
URI パス
含む
/login.phpリクエストパスに
/login.phpが含まれている場合、ルールが一致します。IP
所属する
192.1.XX.XXクライアント IP アドレスが
192.1.XX.XXの場合、ルールが一致します。IP 条件を使用してリクエストを許可するが、ルールを特定のドメイン名にのみ適用したい場合は、そのドメイン名の Host 条件も追加する必要があります。複数の一致条件は論理 AND で結合されるため、IP と Host の両方の条件を満たすリクエストのみがルールに一致します。
[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になります。
ボディ
すべてのフィールドのみ設定できます。
例えば、EC サイトの検索 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 向けボット管理およびアプリ向けボット管理のルールをサポートします。従来のボット管理を使用している場合、または対応する Web/アプリ保護を設定していない場合、この設定は有効になりません。
ステップ 3:適用対象の設定
有効対象 エリアで、テンプレートを適用する保護対象および保護対象グループを選択します。
テンプレートの適用方法は、ステップ 1 の設定によって異なります。
デフォルトテンプレートの場合:適用対象を設定する必要はありません。テンプレートが作成されると、デフォルトですべての保護対象と保護対象グループに適用されます。新しいオブジェクトも自動的に含まれます。ステータスを [Not Applied] に設定することで、特定のオブジェクトを手動で除外できます。
カスタムテンプレートの場合:テンプレートを適用する保護対象および保護対象グループを手動で指定する必要があります。
テンプレートの作成中および作成後の両方で、保護対象または保護対象グループの適用ステータスを手動で調整できます。
メンテナンス
ホワイトリストテンプレートの管理
新しく作成されたホワイトリスト保護テンプレートは、デフォルトで有効になっています。テンプレートリストで次の操作を実行できます。
テンプレートに関連付けられている[保護対象 / グループ]の数を表示します。
ステータス を使用してテンプレートを有効または無効にします。
このテンプレート用にCreate Ruleします。
テンプレートを編集、削除、または複製します。
テンプレート名の左側にある
アイコンをクリックすると、そのテンプレートに含まれるルールが表示されます。
ホワイトリストルールの管理
新しく作成されたルールは、デフォルトで有効になっています。ルールリストで次の操作を実行できます。
[ルールID] や[ルール条件]などの情報を表示します。
ステータス スイッチを使用してルールを有効または無効にします。
ルールを編集または削除します。
クォータと制限
マッチフィールド が
IPに設定されている場合、パブリック IP アドレスのみがサポートされます。プライベート IP アドレスは許可されません。WAF コンソールを使用して、設定済みのホワイトリスト IP アドレスの完全なリストをエクスポートしたり、ホワイトリストルールを一括でエクスポートしたりすることはできません。
よくある質問
ホワイトリストルールが機能しないのはなぜですか? なぜ設定後も特定のリクエストがブロックされるのですか?
ルールが期待どおりに機能しない場合は、次の項目を順に確認してください。
テンプレートのステータス:テンプレートの ステータス とルールの ステータス が両方とも有効になっていることを確認します。
保護対象:Edit ページの 有効対象 エリアで、有効 と 無効 のフィルターボタンを使用して、保護対象がテンプレートに正しく関連付けられていることを確認します。
ルールの設定:
一致条件:リクエストの特性が、ホワイトリストルールで設定された 一致条件 と正確に一致していることを確認します。
[Bypassed Modules]:ホワイトリストルールは、選択されたモジュールの検知のみをバイパスします。リクエストをブロックした保護モジュールが、Bypassed Modules で正しく選択されていることを確認します。
例:ブロックログにリクエストが ボット管理 によってブロックされたと表示されている場合、カスタムルール または Web コア保護ルール のみをバイパスするように設定されたホワイトリストルールは機能しません。この場合、Bypassed Modules で [カスタム] > [ボット管理] を選択します。次に、必要に応じて すべてのルール、特定のルール ID、または 特定のルール を選択します。
レイヤー 7 プロキシ設定:CDN などのレイヤー 7 プロキシが WAF の前にデプロイされている場合、WAF の前にレイヤー 7 プロキシがあるかどうか (Anti-DDoS Proxy や CDN など) オプションが [はい] に設定されていることを確認します。設定が正しくないと、WAF はクライアントの実際の IP アドレスを取得できません。これにより、IP ベースのホワイトリストルールが失敗します。詳細については、「クライアントの実際の情報」をご参照ください。
「AutoTemplate」テンプレートとは何ですか?
次のいずれかが発生した場合、WAF は AutoTemplate という名前のホワイトリスト保護テンプレートを自動的に作成し、それにホワイトリストルールを追加します。
Web コア保護ルールのインテリジェントホワイトリストエンジンが有効になっており、ログ分析を通じて潜在的な誤検知を特定した場合。詳細については、「インテリジェントホワイトリストエンジン」をご参照ください。
Web コア保護ルール または ボット管理 モジュールによって検知されたイベントを、セキュリティレポートで 誤検知の無視 としてマークした場合。詳細については、「セキュリティレポート」をご参照ください。
WAF ドメインへの IP ベースのアクセスを制限するために、ホワイトリストモジュールを使用すべきですか?
いいえ。ここで説明する [ホワイトリスト] モジュールは、指定された基準に一致するリクエストに対して、すべてまたは特定の保護モジュールをバイパスするように設計されています。IP ベースのアクセス制御を実装するには、[カスタムルール] モジュールを使用してください。詳細な例については、「管理者パネルへのアクセスを特定の IP アドレスに制限する」をご参照ください。
ホワイトリストと誤検知抑制機能に料金はかかりますか?
ホワイトリスト機能は、そのコストが基本トラフィック料金に含まれているため、追加料金は発生しません。
セキュリティレポートの 誤検知の無視 機能は、AutoTemplate ホワイトリストテンプレートにルールを追加します。これらのルールに追加料金は発生しません。
WAF が正当なサービストラフィックをブロックした場合はどうすればよいですか?
WAF が正当なサービストラフィックをブロックした場合は、次の手順に従ってトラフィックをホワイトリストに追加します。
左側メニューで、 を選択します。
説明Simple Log Service を有効にしている場合は、 に移動して、完全なリクエストログを表示することもできます。
[時間]、[保護対象] (アクセスされたドメイン名またはクラウド製品インスタンス)、および [ルールアクション] でフィルタリングして、特定のブロックされたリクエストを見つけます。
正当なリクエストがブロックされたことを確認した場合は、ページ下部の ログリスト エリアで、誤検知の無視 列の 操作 をクリックして、リクエストのホワイトリストルールを追加します。
単一の信頼できる IP アドレスが複数の保護ルールをトリガーするなど、リクエストがクラスタリング機能を示す場合は、誤検知を分析します。特定の URL パス、パラメーター形式、サービスインターフェースタイプなどの共通の特徴を探します。次に、最小権限の原則に基づいて、正確なホワイトリストルールを追加します。
URL パスと主要なパラメーターの組み合わせを一致させます。たとえば、
/api/v1/order?source=internalのような特定のサービスリクエストのみを許可できます。ルール ID とビジネスシナリオの組み合わせに対して、ターゲットを絞った例外を作成します。たとえば、決済インターフェースに対してのみ、特定の検証ルールをホワイトリストに登録できます。
すべてのトラフィックを許可するルールを設定することは避けてください。正確なルールは、例外を個別に処理する手間を減らし、セキュリティを損なうことなく運用保守効率を向上させます。
ホワイトリストルールは他のモジュールよりも優先度が高いですか?
はい、ホワイトリストルールは最も高い優先度を持ちます。リクエストが IP ブラックリストや Web コア保護ルールなどのモジュールをスキップするように設定されたホワイトリストルールにヒットすると、許可アクションが直ちに実行され、スキップされたモジュール内のどのルールよりも優先されます。