ボット管理の高度なカスタムルールモジュールは、Web コア保護のカスタムルールと比較して、より豊富な一致フィールド (Client ID、JA3/JA4 フィンガープリント、Web SDK および App SDK で収集されたデータなど) と統計ディメンション (UMID やセッションなど) を提供します。重複排除統計とオリジンカスタムヘッダーアクションをサポートし、きめ細かなボットトラフィック管理と複雑なシナリオでの防御ニーズを満たします。
操作手順
開始する前に、次の前提条件が満たされていることを確認してください。
保護対象が存在すること:Web ビジネスが WAF に接続されている必要があります。接続されていない場合は、「ビジネスを WAF に接続」をご参照ください。
ボット管理が有効化されていること:サブスクリプションユーザーは、ボット管理を有効化する必要があります (Subscription Basic Edition はこの機能をサポートしていません)。詳細については、「ボット管理の有効化」をご参照ください。
ステップ1:テンプレート名と保護対象の設定
テンプレートの作成 をクリックします。テンプレートの新規作成 - 高度なカスタムルール パネルで、次のパラメータを設定します。
[テンプレート名]:保護テンプレートに認識しやすい名前を設定します。
[ルールの設定]:ルールの作成 をクリックして、現在のテンプレートに保護ルールを追加します。
[有効対象]:このテンプレートを適用する保護対象および保護対象グループを選択します。テンプレート作成中および作成後に、保護対象または対象グループの有効状態を手動で調整できます。
ステップ2:テンプレートへの保護ルールの追加
ルールの設定 セクションで、ルールの作成 をクリックし、次のパラメータを設定します。
[Rule Name]:保護ルールに認識しやすい名前を設定します。
[一致条件]:一致させるリクエスト特性を設定します。条件の追加 をクリックして条件を追加します。各条件は、[マッチフィールド]、[論理記号]、[マッチコンテンツ]で構成されます。次の表に設定例を示します。
説明ルールに複数の条件が含まれる場合、リクエストがルールにヒットするには、すべての条件を満たす必要があります (論理 AND)。一致フィールドと論理演算子の詳細については、「一致フィールドと論理演算子」をご参照ください。
[マッチフィールド]
[論理記号]
[マッチコンテンツ]
説明
URIパス
次を含む
/login.phpリクエストのパスに
/login.phpが含まれている場合、このルールにヒットします。IP
次に属する
192.1.XX.XXクライアント IP が
192.1.XX.XXの場合、このルールにヒットします。[Protection Rule Type]:[Access Control]と[Rate Limiting]をサポートしています。
[Access Control]:特定のタイプのリクエストを正確に制御する必要があるシナリオに適しています。
[Rate Limiting]:アクセス頻度に基づくシナリオ (ブルートフォース攻撃対策やスクレイピング対策など) に適しています。
アクセス制御
アクセス制御ルールを設定して、条件を満たす個々のリクエストに対して指定されたアクションを実行します。
レート制限
頻度制御ルールを設定して、クライアントからの過剰なアクセスを制限します。
頻度検出条件:単一の[Statistical Object]が、指定された[統計期間 (秒)]内に設定された[しきい値 (回)]を超えると、ブラックリストアクションがトリガーされます。
設定項目
説明
[Statistical Object]
リクエスト頻度を追跡するオブジェクトを選択します。使用可能なオプション:
[IP]:同じ IP アドレスからのリクエスト頻度を追跡します。
[Custom Header]:カスタムリクエストヘッダーの値 (
Refererなど) によってリクエストをグループ化し、指定された期間内に同じヘッダー値を持つリクエストの頻度を追跡します。[Custom Parameter]: 指定された URL パラメーターを含むリクエストの頻度を追跡します。 たとえば、パラメーターが
user_idの場合、WAF は、同じuser_id値を持つリクエストの頻度を追跡します。[Session]: WAF は、レスポンスに
acw_tcという名前の Cookie を設定することでセッション識別子を確立し、この Cookie の値に基づいてクライアントリクエストの頻度を追跡します。[アカウント]:同じアカウントからのリクエスト頻度を追跡します。このオプションを設定する前に、アカウント抽出設定 ページで[保護対象]を設定する必要があります。詳細については、「アカウント抽出の設定」をご参照ください。
[ボディパラメータ]:指定されたボディパラメータを含むリクエストの頻度を追跡します。
[アプリ側の UMID]:同じアプリクライアントからのリクエスト頻度を追跡します。
[Web 側の UMID]:同じ Web クライアントからのリクエスト頻度を追跡します。
[統計期間 (秒)]
頻度カウントの時間枠です。単位は秒です。
[しきい値 (回)]
[Statistical Object]が[一致条件]内に[統計期間 (秒)]にヒットできる最大回数を設定します。これを超えると、オブジェクトがブラックリストに追加されます。
レスポンスコード検出条件:有効にすると、次の特性に一致するレスポンスのみが頻度のカウント対象となります。この条件は、頻度検出条件と併せて満たされる必要があります。
設定項目
説明
[Status Code]
追跡するレスポンスコードを設定します。
[Quantity]
統計期間内に指定された[Status Code]が出現できる最大回数を設定します。
[Percentage (%)]
統計期間内の指定された[Status Code]の最大パーセンテージを設定します。
[重複排除統計]:有効にすると、システムはリクエストコンテンツの重複を排除し、重複していないリクエスト特性のみをカウントします。重複排除された結果がルールにヒットすると、ブラックリストアクションがトリガーされます。条件の追加 をクリックして条件を追加します。各条件は、[マッチフィールド]、[論理記号]、[Quantity]で構成されます。次の表に設定例を示します。
説明ルールに複数の条件が含まれる場合、リクエストがルールにヒットするには、すべての条件を満たす必要があります (論理 AND)。
[マッチフィールド]が
URIに設定され、[論理記号]が次に等しいに設定され、[Quantity]が5に設定されている場合、システムはリクエスト URI の重複を排除します。重複していない URI アクセスの頻度が 5 に等しくなると、ルールがヒットしたとみなされます。ブラックリストアクション条件:上記の検出条件にヒットした統計オブジェクトをブラックリストに追加します。[Timeout Period]内に、そのオブジェクトの[処理操作]内のリクエストに対して、[Apply To]で定義されたアクションを実行します。
設定項目
説明
[Apply To]
ブラックリストアクションが有効になる範囲を設定します。使用可能な値:
[Current Match Condition]:現在のルールの[一致条件]を満たすリクエストのみを処理します。
[Protected Object]:現在の保護対象にアクセスする統計オブジェクト (IP など) からのすべてのリクエストに対してアクションを実行します。
[Timeout Period]
ブラックリストアクションの期間を設定します。単位は秒です。有効な値:60~86,400。
[処理操作]:リクエストがこのルールにヒットしたときに実行するアクションを選択します。
設定項目
説明
JS 検証
WAF は、クライアントに JavaScript 検証コードのブロックを返します。標準的なブラウザは自動的にこのコードを実行します。クライアントが正常に実行を完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトでは 30 分) 許可します。そうでない場合、リクエストはブロックされます。
ブロック
ルールに一致するリクエストをブロックし、クライアントにブロックページを返します。
説明WAF はデフォルトのブロックページを使用します。カスタム応答機能を使用して、カスタムブロックページを作成することもできます。
モニター
このアクションは、ルールに一致するリクエストをブロックせず、リクエストをログに記録するだけです。ルールをテストするときは、まず モニター モードを使用して WAF ログを分析し、誤検知が発生しないことを確認します。その後、ルールを別のアクションに変更できます。
スライダー
WAF は、クライアントにスライダー検証ページを返します。クライアントがスライダーチャレンジを正常に完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトでは 30 分) 許可します。そうでない場合、リクエストはブロックされます。
厳密なスライダー
WAF は、クライアントにスライダー検証ページを返します。クライアントがスライダーチャレンジを正常に完了した場合、現在のリクエストは許可されます。そうでない場合、リクエストはブロックされます。このモードでは、クライアントはルールに一致するすべてのリクエストに対してスライダーチャレンジを完了する必要があります。
back-to-origin マーカー
カスタムヘッダー名とコンテンツ (ルールタイプ、ルール ID、Web UMID など) を定義できます。WAF はリクエストを直接処理するのではなく、ヘッダーを追加してヒット情報をオリジンサーバーに転送します。これをバックエンドのリスク管理システムと統合して、ビジネス側で処理できます。
説明[JS 検証]または[スライダー]検証は、同期リクエストにのみ適用されます。XMLHttpRequest や Fetch などの非同期リクエストの場合は、Web SDK を挿入する必要があります。そうしないと、検証が正しく機能しません。
[ルールタイプ]:ボットトラフィックのタイプを定義します。使用可能なタイプは、[BOT かもしれない]と[悪意のある BOT]です。ルールにヒットしたトラフィックは、対応するカテゴリに分類され、Traffic Analytics ページのトレンドチャートに表示されます。
[詳細設定]:ルールのカナリアリリース比率と有効時間戦略を設定します。
設定項目
説明
[規則的グレースケール]
さまざまなディメンションのオブジェクトに対するルールの有効比率を設定します。
カナリアリリースを有効にした後、[ディメンション]と[グレースケール]を設定する必要があります。使用可能な[ディメンション]オプション:[IP]、[カスタムヘッダ]、[カスタムパラメーター]、[カスタム Cookie]、[Session]、[アプリ側の UMID]、[Web 側の UMID]。
説明カナリアリリースは、指定された比率でリクエストにランダムにルールを適用するのではなく、設定された [ディメンション] に基づいて適用されます。たとえば、[ディメンション] が [IP] に設定され、[グレースケール] が 10% に設定されている場合、WAF は約 10% の IP アドレスを選択します。すべてのリクエストの 10% にランダムにルールを適用するのではなく、選択された IP アドレスからのすべてのリクエストがルールの対象となります。
[有効化されるモード]
Permanently Effective (デフォルト): 保護テンプレートが有効な場合、ルールは常にアクティブになります。
期間ごとに有効化する: 保護ルールは、指定された期間中のみアクティブになります。
周期ごとに有効化する: 保護ルールは、指定された定期的なスケジュール中のみアクティブになります。
日常的な操作
保護テンプレートの管理
新しく作成された保護テンプレートは、デフォルトで有効になっています。テンプレートリストでは、次の操作を実行できます。
テンプレートに関連付けられた[保護対象 / グループ]の数を表示できます。
ステータス スイッチを使用してテンプレートを有効または無効にできます。
テンプレートに対してCreate Ruleを行います。
保護テンプレートを[編集]、[削除]、または[複製]できます。
テンプレート名の左側にある
アイコンをクリックして、テンプレートに含まれるルールを表示できます。
保護ルールの管理
新しく作成されたルールは、デフォルトで有効になっています。ルールリストでは、次の操作を実行できます。
[ルールID]、[ルール条件]、およびその他の情報を表示できます。
ステータス スイッチを使用してルールを有効または無効にできます。
ルールを[編集]または[削除]できます。
クォータと制限
1つの保護ルールに追加できる[一致条件]は最大 10 個です。
[重複排除統計]ルールに追加できる条件は最大 5 個です。
よくある質問
BOT 管理 の高度なカスタムルールと Web コア保護 のカスタムルールの違い
比較項目 | ||
バージョン要件とコスト |
|
|
サポートされている機能 | 日常的な保護ニーズを満たすルールを提供します。 | [カスタムルール]機能に加えて、次の機能もサポートしています。
|