サイトでカスタムのアクセス制御ポリシーが必要な場合は、カスタムルールを作成できます。カスタムルールを使用すると、受信リクエストの一致条件を指定し、ブロックやモニターなどのアクションを適用できます。これにより、ユーザーがアクセスできるコンテンツを柔軟に制御できます。
クライアント IP のジオロケーション精度
WAF カスタムルールとルールエンジンを使用してクライアントのリクエストをブロックする場合、クライアント IP のジオロケーション(大陸、国・地域、都道府県、通信キャリアなど)は 100 % 正確に特定できない可能性があります。誤って識別される場合があるため、これらの条件は慎重に使用してください。
正当なクライアント IP がジオロケーションの不正確さによりブロックされている場合は、その特定の IP アドレスからのリクエストを許可する許可リストルールを作成し、WAF による誤検知ブロックを回避できます。
カスタムルールの設定
-
ESA コンソールで、サイト管理 に移動します。サイト 列で、対象の Web サイトをクリックします。
-
左側のナビゲーションウィンドウで、 を選択します。
-
カスタムルール タブをクリックします。カスタムルール タブで、ルールを追加 をクリックします。
-
ルール名 を入力します。
-
リクエストが以下のルールと一致する場合... セクションで、ユーザーのリクエストが満たすべき条件を定義します。詳細については、「Rule expression syntax」をご参照ください。
-
以下を実行する... セクションで、リクエストがルールに一致した場合に適用するアクションを選択します。詳細については、「Action descriptions」をご参照ください。
-
-
OK をクリックします。
アクション
-
ブロック:一致するリクエストをブロックし、クライアントにブロックページを返します。
説明ブロックページのカスタマイズは、「Configure custom pages」から行えます。
-
観察:一致するリクエストを通過させますが、イベントをログに記録します。モニターモードを使用して新しいルールをテストし、WAF ログで誤検知がないか確認してください。誤検知がないことを確認後、アクションを Block に変更します。
説明ログクエリ機能を使用するには、Log Service を有効にする必要があります。
-
JS チャレンジ:ESA はクライアントに JavaScript スニペットを返します。ブラウザがスクリプトを正常に実行した場合、ESA はデフォルトで 30 分間、そのクライアントからの以降のすべてのリクエストを再チャレンジなしで許可します。そうでない場合、リクエストはブロックされます。
-
スライダー型 CAPTCHA:ESA はクライアントにスライダー CAPTCHA ページを返します。クライアントが CAPTCHA を解いた場合、ESA はデフォルトで 30 分間、そのクライアントからの以降のすべてのリクエストを許可します。そうでない場合、リクエストはブロックされます。
説明-
スライダー CAPTCHA を通過したリクエストは課金対象となり、ブロックされたリクエストは課金されません。
-
WAF カスタムルールおよびレート制限ルールにおける JavaScript チャレンジとスライダー CAPTCHA は静的ページにのみ適用されます。非同期 API(
XMLHttpRequestおよびFetch)に対してこれらのチャレンジを有効にするには、「Bots」で有効化してください。一致するリクエストがチャレンジを通過すると、ESA は HTTP ヘッダーにCookie acw_sc__v2またはacw_sc__v3を追加し、クライアントを検証済みとしてマークします。
-
これらのボット検証アクションは、以下のユースケースに適しています。
-
JS Challenge:非表示の検証に最適です。システムがクライアントに JavaScript を送信し、ユーザー操作なしに自動的に実行されます。
-
Slider Challenge:インタラクティブな検証に最適です。ユーザーがスライダーパズルを手動で解く必要があります。
ESA には、クリック式、スライダー式、回転パズルなど複数の CAPTCHA タイプをサポートするAI CAPTCHA 機能も用意されています。AI CAPTCHA は ESA コンソールで個別に設定できます。
設定例
ユースケース:Security Analytics または Event Analysis で、IP アドレス 192.168.0.1 のクライアントがホスト名 dns.example.com に異常なリクエストを送信していることを検出しました。
設定内容:

|
パラメーター |
例 |
|
リクエストが以下のルールと一致する場合... |
以下の両方の条件を満たす場合:
次の式を直接使用することもできます:
|
|
以下を実行する... |
ブロック し、デフォルトのエラーページ を返します |
結果:カスタムルールの条件に一致するリクエストはブロックされます。
エディション別の機能可用性
|
機能 |
Entrance |
Pro |
Premium |
Enterprise |
|
カスタムルールの数 |
5 |
20 |
100 |
100 |
関連ドキュメント
ルール関連機能は、有効優先度、再入可能性、有効粒度が異なります。詳細については、「Properties of Rule-Related Features」をご参照ください。