悪意のあるクローラーは、サーバーに過負荷をかけたり、機密性の高いコンテンツをスクレイプしたり、正当なユーザーの体験を損なう可能性があります。Web Application Firewall (WAF) のボット管理モジュールでは、トラフィックプロファイルに応じてカスタマイズ可能なシナリオ別アンチクローラールールを提供します。これにより、ログインページ、登録フロー、注文処理などの特定のシナリオを保護しつつ、実際のユーザーをブロックすることなくセキュリティを強化できます。
前提条件
開始する前に、以下の条件を満たしていることを確認してください。
Pro 版、Business 版、または Enterprise 版のサブスクリプション WAF インスタンスが実行中であること(ボット管理モジュールが有効化されている必要があります)
ウェブサイトを WAF に追加しました。詳細については、「チュートリアル」をご参照ください。
アンチクローラールールの作成
設定手順は、以下の 4 ステップで構成されます:シナリオの構成 → 保護ルールの構成 → 操作の検証(任意)→ 公開。
WAF コンソール にログインします。
上部のナビゲーションバーから、ご利用の WAF インスタンスのリソースグループおよびリージョンを選択します。リージョンは 中国本土 または 中国本土以外 のいずれかです。
左側のナビゲーションウィンドウで、保護設定 > Web サイト保護 を選択します。
Web サイト保護ページの上部から、保護対象のドメイン名を選択します。

ボット管理 タブに移動します。
初回設定の場合: シナリオ別構成 セクションで、開始 をクリックします。
既存のルールに追加する場合: 右上隅の 追加 をクリックします。
各ドメイン名に対して最大 50 個のアンチクローラールールを設定できます。
シナリオの構成 ステップで、基本情報を設定し、次へ をクリックします。
パラメーター 説明 シナリオ 保護対象のサービスシナリオ(例:ログイン、登録、注文処理など) サービスタイプ Web サイト を選択すると、Web ページ、HTML5 ページ、HTML5 アプリケーションが保護されます。ドメインが別のドメイン名経由でアクセスされる場合は、中間ドメイン名を使用 を選択し、ドロップダウンリストから該当の中間ドメイン名を選択してください。 トラフィックの特性 ターゲットトラフィックを識別するため、最大 5 つのマッチ条件を追加できます。各条件は、マッチ対象フィールド(HTTP リクエストヘッダーのフィールド)、論理演算子、およびマッチ内容で構成されます。IP アドレスを入力後、Enter キーを押して確定します。マッチ条件で使用可能なフィールドの一覧については、「マッチ条件のフィールド 保護ルールの構成 ステップで、必要な保護オプションを有効化し、次へ をクリックします。
オプション 機能概要 スクリプトベースのボットブロック クライアント側で JavaScript チャレンジを実行します。JavaScript を実行できない非ブラウザツールからのリクエストはブロックされ、単純なスクリプトベースの攻撃を防止します。 動的トークンチャレンジ デフォルトで無効です。有効化すると、WAF はすべてのリクエストに対して署名を検証し、検証に失敗したリクエストをブロックします。署名検証例外 はデフォルトで選択されており、解除できません。署名タイムスタンプ例外 および WebDriver 攻撃 検出を任意で有効化できます。 インテリジェント保護 機械学習を活用してアクセストラフィックを分析し、ブロックリストまたは保護ルールを自動生成します。保護モード を 監視(マッチしたトラフィックをログ記録するがブロックしない)または スライダーキャプチャ(アクセス許可前にスライダーキャプチャを要求)に設定します。 ボット脅威インテリジェンスフィード クライアントの IP アドレスを Alibaba Cloud の脅威インテリジェンスライブラリと照合します。頻繁なクローラーとして識別されたクライアントには、スライダーキャプチャによる検証を必須とします。 データセンターのブラックリスト Alibaba Cloud およびその他の主要クラウドプロバイダーのデータセンターに属する悪意ある既知の IP アドレスからのリクエストをブロックします。適用するライブラリをドロップダウンリストから選択します。 
IP アドレス単位の速度制限 HTTP フラッド攻撃の緩和を目的として、IP アドレス単位でリクエストをレート制限します。設定されたタイムウィンドウ内で同一 IP アドレスからのリクエスト数がしきい値を超えた場合、WAF は選択された操作(監視、ブロック、またはキャプチャ)を設定された持続時間にわたり適用します。最大 3 つの速度制限条件を設定できます。設定方法の詳細については、「カスタム保護ポリシーの作成 セッション単位のカスタム速度制限 セッション単位でリクエストをレート制限します。設定されたタイムウィンドウ内で同一セッションからのリクエスト数がしきい値を超えた場合、WAF は選択された操作(監視、ブロック、またはキャプチャ)を設定された持続時間にわたり適用します。設定方法の詳細については、「カスタム保護ポリシーの作成 (任意)操作の検証 ステップでは、ルールを本番環境に適用する前にテストを行います。左下隅の スキップ をクリックすることで、このステップを省略できます。初めてアンチクローラールールを作成する場合は、誤検知や互換性の問題を公開前に検出するために、このステップを完了することを推奨します。ステップ 1:パブリック IP アドレスの入力 テスト端末(PC またはスマートフォン)のパブリック IP アドレスを入力します。このテストは、指定した IP アドレスからのリクエストのみに適用され、本番トラフィックには影響しません。ステップ 2:検証対象の操作の選択 検証する操作を 1 つ選択します:JavaScript 検証、動的トークン認証、スライダーキャプチャ検証、または ブロック検証。 テスト開始 をクリックすると、WAF は直ちにテストルールを端末に配信し、テスト手順、期待される結果、およびデモを表示します。テストを実行する前に、内容をよくご確認ください。テスト終了後、テスト完了 をクリックして次のステップに進みます。結果に例外が表示された場合は、戻る をクリックしてルールを調整し、再度テストを行ってください。一般的なテストエラーとその解決方法については、「テストエラーのトラブルシューティング」をご参照ください。
重要ipconfigコマンドから取得した IP アドレスは使用しないでください。このコマンドは内部 IP アドレスを返すためです。パブリック IP アドレスを取得するには、Alibaba Network Diagnose Tool をクリックし、ローカル IP の値を確認してください。また、ブラウザで自身の IP アドレスを検索することも可能です。保護ルールのプレビューおよび公開 ステップで、ルール内容を確認し、公開 をクリックします。ルールは公開直後に即時適用されます。
初めてのアンチクローラールールの場合、ルール ID は公開後に表示されます。ルール ID は、セキュリティレポートページの ボット管理 タブで確認できます。WAF の Log Service で該当リクエストをフィルターする際に、このルール ID を使用します。
テストエラーのトラブルシューティング
有効なテストリクエストが検出されません
最も一般的な原因は、テストトラフィックが WAF に到達していないことです。リクエストが WAF が提供する CNAME ドメイン名に対応する IP アドレスに送信されていること、およびリクエスト内のヘッダーフィールドがルールの トラフィックの特性 設定と一致していることを確認してください。テスト端末の送信元 IP アドレスがステップ 1 で入力した値と異なる場合は、Alibaba Network Diagnose Tool を使用して現在のパブリック IP アドレスを取得してください。
テストリクエストの検証に失敗しました
これは、テストが実際のユーザーによるアクセスを十分に模倣できていないことが原因である可能性が高いです。自動化ツールやデバッグモードでは、WAF がチェックするブラウザベースの信号がバイパスされることがあります。テスト端末上で実際のブラウザセッションを使用してください。また、サービスタイプ の設定が正しいかも確認してください。Web サイト を選択して Web ページを保護する場合、アプリケーション向けのオプションを選択しないでください。中間ドメイン名を使用している場合は、正しいドメイン名が選択されていることを確認してください。
検証がトリガーされませんでした
テストルールの生成には数回の試行が必要な場合があります。ルールが端末に配信されるまで、テストを何度か繰り返してください。
フロントエンドの互換性に関する問題
DingTalk グループでカスタマーサポートに問い合わせるか、チケットを送信 してください。
次のステップ
セキュリティレポートページの ボット管理 タブを開き、保護結果を確認し、ルールにマッチしたリクエストを調査します。WAF の Log Service で詳細なログを照会する際には、ルール ID を使用します。