すべてのプロダクト
Search
ドキュメントセンター

Web Application Firewall:ボット管理を使用して Web サービスを保護する

最終更新日:Nov 09, 2025

ボット Web 保護テンプレートを作成して、悪意のあるクローラー、自動化されたスクリプト攻撃、スカベンジャーボットなどの脅威から、Web サイト、H5 ページ、モバイルアプリに埋め込まれた H5 ページなどの Web アプリケーションを保護します。

手順

[Web 保護] ページに移動します。トップメニューバーで、Web Application Firewall (WAF) インスタンスのリソースグループとリージョン (中国 (本土) または中国 (本土) 以外) を選択します。[テンプレートの作成] をクリックします。

ステップ 1: 保護シナリオを定義する

  1. テンプレート名とテンプレートの説明を入力します。

  2. トラフィック特性を選択します。グローバルとカスタム一致条件から選択できます。

    • グローバル: Web または H5 環境のみを含むシナリオに適用されます。

    • カスタム一致条件: Web/H5 に加えてアプリまたはミニプログラム環境を含むシナリオ、またはログインやフラッシュセールページなどの特定のビジネスエンドポイントを保護するシナリオに適用されます。

      グローバル

      グローバルを選択した場合、トラフィック特性の構成は不要です。

      カスタム一致条件

      カスタム一致条件を選択した場合、WAF は定義した条件に基づいてリクエストを照合します。[条件の追加] をクリックして条件を追加します。各条件は、一致フィールド、論理演算子、および一致コンテンツで構成されます。次の表に構成例を示します。

      説明

      ルールに複数の条件がある場合、ルールを適用するにはリクエストがすべての条件 (論理 AND) を満たす必要があります。一致フィールドと論理演算子の詳細については、「一致条件」をご参照ください。

      一致フィールド

      論理演算子

      一致コンテンツ

      説明

      URI パス

      含む

      /login.php

      リクエストパスに

      /login.php

      IP

      属する

      192.1.XX.XX

      クライアント IP が

      192.1.XX.XX

  3. 静的ファイルを除外するかどうかを選択します。静的ファイルへのリクエストは通常、ビジネスロジックを含まず、インジェクション攻撃に対して脆弱ではありません。これらを除外することで、検出負荷が軽減され、WAF は動的エンドポイントの保護に集中できます。デフォルトの静的ファイルタイプを使用することをお勧めしますが、カスタムタイプを追加することもできます。

  4. [テンプレートの作成] をクリックします。

ステップ 2: テンプレートルールを編集する

  1. [編集] ページで、[CAPTCHA 検証] セクションの [編集] をクリックして、次の CAPTCHA ルールを構成します。

    1. 検証モードを選択します。JavaScript 検証とトークンベースの認証がサポートされています。

      • JavaScript 検証: 低強度の日常的な保護シナリオに適しています。

      • トークンベースの認証: 高強度の敵対的なシナリオに適しています。主要なセールスイベントの数分前など、重要な保護期間中にこのモードを有効にすることをお勧めします。

        JavaScript 検証

        ルールがトリガーされると、WAF は JavaScript コードのブロックを返します。標準のブラウザクライアントがコードを実行してパス トークンを取得し、リクエストを再送信します。悪意のあるトラフィックはパス トークンを保持していないためブロックされます。認証されると、クライアントは設定された期間 (デフォルト: 30 分) 、追加の検証なしで後続のリクエストを行うことができます。

        トークンベースの認証

        ルールがトリガーされると、WAF は JavaScript コードのブロックを返します。標準のブラウザクライアントがコードを実行してリクエストに署名し、再送信します。WAF は、必要な署名がない悪意のあるリクエストをブロックします。オプションは次のとおりです。

        • 署名タイムスタンプ例外: 署名タイムスタンプが異常な場合にリクエストをブロックします。

        • WebDriver 攻撃: WebDriver 攻撃が検出された場合にリクエストをブロックします。

    2. [カナリアリリース] セクションで、指定されたディメンションに基づいてルールを適用するトラフィックの割合を構成します。カナリアリリースを有効にした後、ディメンションとカナリアリリース比率を設定する必要があります。ディメンションには、IP、カスタムヘッダー、カスタムパラメーター、カスタム Cookie、セッション、および Web UMID が含まれます。

      説明

      カナリアリリースは、リクエストの割合にランダムにルールを適用するのではなく、構成されたディメンションに基づいて有効になります。たとえば、ディメンションが IP で、カナリアリリース比率が 10% の場合、WAF は IP アドレスの約 10% を選択します。その後、WAF は、すべてのリクエストのランダムな 10% ではなく、これらの選択された IP アドレスからのすべてのリクエストにルールを適用します。

    3. [有効モード] セクションで、ルールが有効になるタイミングを選択します。

      • 永続的に有効 (デフォルト): 保護テンプレートが有効になっている間、ルールは常にアクティブです。

      • 固定スケジュール: 保護ルールは、指定された期間中のみアクティブです。

      • 定期スケジュール: 保護ルールは、指定された定期的な時間サイクル中のみアクティブです。

  2. [リスク識別] セクションで、[作成] をクリックしてリスク識別ルールを作成します。この機能は、WAF のレピュテーションデータベースと照合して、疑わしい電話番号からのアクセスをブロックします。電話番号ベースのログインや登録などのシナリオに最適です。詳細については、「リスク識別」をご参照ください。

  3. [ポリシー構成] セクションでは、WAF は Alibaba Cloud の一般的なボット特性に関する豊富な経験に基づいて、悪意のあるボット、疑わしいボット、友好的なボットの 3 つのカテゴリのルールをリストします。[ステータス] 列のアイコンをクリックしてルールを有効または無効にしたり、[編集] をクリックして変更したりできます。

    重要

    警告: これらのルールの一部には、誤検知 (正当なトラフィックのブロック) を引き起こすリスクがあります。不適切な構成は、通常のサービスを中断させる可能性があります。本番環境でルールを有効にする前に、アクションを [モニター] に設定するか、[カナリアリリース] を使用することをお勧めします。まず、非本番環境でルールをテストし、ビジネスニーズに基づいて微調整してから本番環境にデプロイしてください。

    1. 構成の推奨事項

      悪意のあるボット

      ルールカテゴリ

      ルール名

      誤検知リスク

      ブラウザプローブ

      開発者ツール、エミュレーターツール

      低リスク

      異常なブラウザ環境

      低リスク

      自動化ツール、ヘッドレスブラウザ

      低リスク

      異常なシステム環境

      低リスク。Windows XP オペレーティングシステムの一部のユーザーに影響を与える可能性があります。

      異常なタイムスタンプ

      中リスク。2 時間以上リフレッシュされずに開かれている Web ページから送信されたリクエストをブロックする可能性があります。

      異常な Web SDK バージョン

      低リスク。古い、手動で統合されたバージョンの Web SDK を使用しているユーザーに影響を与える可能性があります。

      デバイススプーフィング

      デバイスハードウェア情報のなりすまし、ブラウザ属性のなりすまし、OS と環境のなりすまし

      低リスク

      収集された情報のなりすまし、ネットワークと地理位置情報のなりすまし

      低リスク。WAF の前にレイヤー 7 プロキシ (CDN や Anti-DDoS など) がデプロイされていて、プロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。

      Web クローラークライアント

      AI クローラートラフィック (Meta-ExternalAgent、perplexitbot、chatgpt など)

      低リスク

      Python ツールトラフィック

      低リスク

      クローラーツールトラフィック

      低リスク

      疑わしいボット

      ルールカテゴリ

      ルール名

      誤検知リスク

      行動分析

      すべてのルール

      中リスク。マウスの感度が低いユーザーをブロックする可能性があります。

      スクリプトクライアント

      すべてのルール

      低リスク。影響はビジネスによって異なります。たとえば、OkHttp ツールトラフィックルールはネイティブアプリ環境では有効にできません。サービスが Flutter で構築されている場合、Dart ツールトラフィックルールは有効にできません。

      IDC データセンター

      すべてのルール

      中リスク。支払いコールバック、Alibaba Cloud Elastic Desktop Service (EDS) からのアクセス、または WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合などのシナリオで、正当なトラフィックをブロックする可能性があります。

      脅威インテリジェンス

      偽造された検索エンジン スパイダー

      低リスク

      クローラー脅威インテリジェンス IP データベース、クローラー脅威インテリジェンス指紋データベース

      中リスク。共有のパブリック出力 IP (住宅または企業ネットワークなど) を使用するシナリオや、WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションを [スライダー CAPTCHA] または [JavaScript 検証] に設定することをお勧めします。

      AI による保護

      異常なパスシーケンス、異常なデバイス、悪意のあるグループの動作、異常なリソース配布、時系列の異常

      中リスク。共有のパブリック出力 IP (住宅または企業ネットワークなど) を使用するシナリオや、WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションを [スライダー CAPTCHA] または [JavaScript 検証] に設定することをお勧めします。

      セッションの異常

      高リスク。共有のパブリック出力 IP (住宅または企業ネットワークなど) を使用するシナリオや、WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションを [スライダー CAPTCHA] または [JavaScript 検証] に設定することをお勧めします。

      アクセス行動分析

      収集された情報なしでの永続的なアクセス、セッションなしでの永続的なアクセス

      低リスク。Web SDK の統合が必要です。そうしないと、リクエストに収集された情報が含まれません。

      インタラクション軌跡のバルクリプレイ

      低リスク

      同じセッションでの頻繁な IP 変更、同じデバイスでの頻繁な IP 変更

      低リスク

      少ない IP アクセスパス、多い IP アクセスパス、クライアントタイプの頻繁な変更、同じ IP での頻繁な UA 変更

      中リスク。共有のパブリック出力 IP (住宅または企業ネットワークなど) を使用するシナリオや、WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションを [スライダー CAPTCHA] または [JavaScript 検証] に設定することをお勧めします。

      友好的なボット

      ルールカテゴリ

      ルール名

      誤検知リスク

      通常のクライアント

      すべてのルール

      これらのリクエストを許可するために、デフォルトの構成を維持することをお勧めします。

    2. ルールアクションの編集

      構成

      説明

      JavaScript 検証

      WAF は JavaScript 検証コードをクライアントに返します。標準のブラウザは自動的にこのコードを実行します。クライアントが正常に実行を完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトでは 30 分) 許可します。それ以外の場合、リクエストはブロックされます。

      ブロック

      ルールに一致するリクエストをブロックし、ブロックページをクライアントに返します。

      説明

      WAF はデフォルトのブロックページを使用します。[カスタム応答] 機能を使用してカスタムブロックページを作成することもできます。

      モニター

      ルールに一致するリクエストをブロックせずにログに記録します。ルールをテストする際、まず [モニター] モードを使用して WAF ログを分析し、アクションを変更する前に誤検知が発生しないことを確認できます。

      スライダー CAPTCHA

      WAF はスライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトでは 30 分) 許可します。それ以外の場合、リクエストはブロックされます。

      厳密なスライダー CAPTCHA 検証

      WAF はスライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、現在のリクエストは許可されます。それ以外の場合、リクエストはブロックされます。このモードでは、クライアントはルールに一致するすべてのリクエストに対してスライダーチャレンジを完了する必要があります。

      タグの追加

      カスタムヘッダー名とコンテンツ (ルールタイプ、ルール ID、Web UMID を含む) を定義できます。WAF はリクエストを直接処理せず、代わりにヘッダーを追加して一致情報をオリジンサーバーに転送します。これをバックエンドのリスク管理システムと統合して、ビジネス側の処理を行うことができます。

      説明

      JavaScript 検証またはスライダー CAPTCHA が有効になっている場合、WAF は応答の `Set-Cookie` ヘッダーに acw_sc__v2 (JavaScript 検証用) または acw_sc__v3 (スライダー CAPTCHA 用) という名前の Cookie を設定します。クライアントは、後続のリクエストの `Cookie` ヘッダーにこの識別子を含めます。

    3. カナリアリリース有効モード を編集します。

  4. [次へ] をクリックします。

ステップ 3: 有効範囲を選択する

[有効範囲の構成] ページで、テンプレートを適用する保護対象オブジェクトまたは保護対象オブジェクトグループを選択します。image アイコンをクリックして [選択されたオブジェクト] エリアに移動し、[OK] をクリックします。

ステップ 4: Web SDK を統合する

重要
  • 完全な保護のためには、Web SDK を統合する必要があります。多くのボット保護機能は、収集されたデータに依存しています。

  • クロスドメイン名を含む保護対象オブジェクトの場合、[Web SDK 統合] ページで対応するドメインの自動統合を有効にするか、手動統合を完了してください。

Alibaba Cloud は、Web ブラウザーの保護を強化し、潜在的な互換性の問題を解決するための JavaScript ベースの SDK を提供しています。自動と手動の 2 つの統合方法が利用可能です。

  • 自動統合: ワンクリックで統合を有効にでき、ビジネスコードを変更する必要はありません。

  • 手動統合: ALB、MSE、APIG、FC、または SAE を介してアクセスされる保護対象オブジェクトの場合、自動インジェクションはサポートされていないため、Web SDK を手動で統合する必要があります。

自動統合

[Web 保護] リストの右上隅にある [Web SDK 統合] をクリックします。ターゲットの保護対象オブジェクトに対して自動 Web SDK インジェクションを有効にします。image

説明
  • Web 保護テンプレートを作成し、自動 Web SDK 統合を有効にすると、

    ssxmod_itna

    ssxmod_itna2

    、および

    ssxmod_itna3

    の Cookie が HTTP ヘッダーに挿入され、クライアントブラウザの指紋情報が取得されます。この情報には、HTTP ヘッダーの `host` フィールド、ブラウザの高さと幅などが含まれます。

  • 自動統合を有効にすると、システムは対応する保護対象オブジェクトの HTML ページに SDK を自動的に挿入します。SDK は、ブラウザ環境情報、ブラックハットツールプローブからのデータ、および行動ログ (機密性の高い個人情報は含まれません) を収集するために使用されます。

手動統合

[Web 保護] リストの右上隅にある [Web SDK 統合] をクリックし、[SDK の取得] をクリックします。取得した <script> タグをページの他のすべての <script> タグの前に配置して、最初に読み込まれるようにします。

テンプレートの管理

  • テンプレートの編集

    ターゲットテンプレートの [操作] 列で [編集] をクリックします。[編集] パネルでテンプレートを変更します。

  • テンプレートの削除

    ターゲットテンプレートの [操作] 列で [削除] をクリックします。[削除] ダイアログボックスで情報を確認し、[OK] をクリックします。

  • テンプレートのコピー

    ターゲットテンプレートの [操作] 列で [コピー] をクリックします。[コピー] ダイアログボックスで情報を確認し、[OK] をクリックします。

  • テンプレートの有効化/無効化

    ターゲットテンプレートの [ステータス] 列のスイッチをクリックして、有効または無効にします。

  • ルールの表示

    ターゲットテンプレートの image アイコンをクリックしてルールを表示します。特定のルールの [ステータス] 列のスイッチをクリックして、有効または無効にします。

本番環境での適用

サービスの中断を避けるため、新しいテンプレートを本番環境で直接有効にしないでください。以下のデプロイメントプロセスに従うことをお勧めします。

  1. 1. ホワイトリストの構成: テンプレートを作成する前に、ホワイトリストルールを作成して、信頼できる IP アドレスをホワイトリストに追加することをお勧めします。これにより、信頼できるリクエストが新しいルールによってブロックされるのを防ぎます。

  2. 2. カナリアテストの実行: テンプレートが作成された後、本番環境にデプロイする前に、次のいずれかの方法を使用してテンプレートを監視およびテストできます。

    • テストのために非本番環境にルールを適用します。

    • アクションを [モニター] に設定します。

    • カナリアリリースを有効にします

  3. 3. テスト結果の分析: テンプレートが一定期間実行された後、セキュリティレポートログを確認して、ルールをトリガーしたリクエストの中に誤検知がないかどうかを確認します。

  4. 4. 本番環境への適用: 誤検知率が許容範囲内であることを確認した後、必要に応じてルールアクションを変更し、テンプレートを本番環境に適用します。

  5. 5. 継続的な監視と最適化: セキュリティレポートとログを常に監視します。ビジネスの変更と実際の保護効果に基づいて、ルールを動的に調整および最適化します。

制限事項

  • [ポリシー構成] セクションのブラウザプローブ、デバイススプーフィング、行動分析、AI による保護、およびアクセス行動分析ルールが正しく機能するには、Web SDK の統合が必要です。

  • [ポリシー構成] セクションの Web クローラー、スクリプトクライアント、AI による保護、およびアクセス行動分析ルールは、ALB、MSE、APIG、FC、または SAE を介してアクセスされる保護対象オブジェクトをサポートしていません。

  • ALB、MSE、APIG、FC、または SAE を介してアクセスされる保護対象オブジェクトの場合、自動インジェクションはサポートされていないため、Web SDK を手動で統合する必要があります。