ボット管理の Web 保護テンプレートを作成して、Web サイト、H5 ページ、モバイルアプリに埋め込まれた H5 ページなどの Web アプリケーションを、悪意のあるクローラー、自動化されたスクリプト攻撃、ダフ屋ボットなどの脅威から保護します。
手順
[Web 保護] ページに移動します。トップメニューバーで、Web Application Firewall (WAF) インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。Create Template をクリックします。
ステップ 1: 保護シナリオの定義
テンプレート名 と テンプレートの紹介 を入力します。
保護ターゲットの特性 を選択します。グローバル と マッチ条件のカスタマイズ から選択できます。
グローバル: Web または H5 環境のみを含むシナリオに適用されます。
マッチ条件のカスタマイズ: Web または H5 環境に加えてアプリまたはミニアプリ環境を含むシナリオ、またはログインやタイムセールエンドポイントなどの特定のビジネスエンドポイントを保護する必要があるシナリオに適用されます。
グローバル
グローバルを選択した場合、特定の一致条件を定義する必要はありません。
マッチ条件のカスタマイズ
WAF は、定義した条件に基づいてリクエストを照合します。条件の追加 をクリックして条件を追加します。各条件は、マッチフィールド、論理記号、および マッチコンテンツ で構成されます。次の表に設定例を示します。
説明ルールに複数の条件がある場合、リクエストがルールにヒットするには、すべての条件 (論理 AND) を満たす必要があります。一致フィールドと論理演算子の詳細については、「一致条件」をご参照ください。
マッチフィールド
論理記号
マッチコンテンツ
説明
URI パス
次を含む
/login.phpリクエストパスに
/login.phpが含まれている場合に一致します。IP
所属
192.1.XX.XXクライアント IP が
192.1.XX.XXの場合に一致します。
静的ファイルの除外 を選択するかどうかを選択します。静的ファイルのリクエストは通常、ビジネスロジックを伴わず、そのコンテンツはインジェクション攻撃の影響を受けにくいです。静的ファイルを除外すると、検出のワークロードが削減され、WAF が動的 API の保護に集中できるようになります。デフォルトの静的ファイルタイプを選択することをお勧めします。カスタムタイプを追加することもできます。
テンプレートを作成 をクリックします。
ステップ 2: テンプレートルールの編集
Edit ページの CAPTCHA 検証 セクションで、編集 をクリックして CAPTCHA ルールを設定します。
検証モードを選択します。JS 検証 と Token-based Authentication がサポートされています。
JS 検証: 低強度の日常的な保護シナリオに適しています。
Token-based Authentication: 高強度の敵対的なシナリオに適しています。大規模な販売促進の数分前など、重要な保護期間中にこのモードを有効にすることをお勧めします。
JS 検証
ルールがトリガーされると、WAF は JavaScript コードのブロックを返します。標準的なブラウザクライアントがコードを実行してパス トークンを取得し、リクエストを再送信します。悪意のあるトラフィックは、パス トークンを保持していないためブロックされます。認証されると、クライアントは設定された期間 (デフォルトでは 30 分) 、追加の検証なしで後続のリクエストを行うことができます。
Token-based Authentication
ルールがトリガーされると、WAF は JavaScript コードのブロックを返します。標準的なブラウザクライアントがコードを実行してリクエストに署名し、再送信します。WAF は、必要な署名がない悪意のあるリクエストをブロックします。オプションは次のとおりです。
署名タイムスタンプの例外: 署名タイムスタンプが異常な場合にリクエストをブロックします。
WebDriver 攻撃: WebDriver 攻撃が検出された場合にリクエストをブロックします。
Staged Rollout セクションでは、ディメンションに基づいてルールが影響するトラフィックの割合を設定できます。カナリアリリースを有効にした後、Dimension と Canary Release Proportion を設定する必要があります。Dimension で使用可能なオプションは、IP、カスタムヘッダ、Custom Parameter、カスタム Cookie、Session、および Web UMID です。
説明カナリアリリースは、設定された Dimension に基づいて有効になり、リクエストの一定の割合にランダムにルールを適用するわけではありません。たとえば、Dimension が IP で、Canary Release Proportion が 10% の場合、WAF は約 10% の IP アドレスを選択します。その後、WAF は、すべてのリクエストのランダムな 10% ではなく、これらの選択された IP アドレスからのすべてのリクエストにルールを適用します。
Effective Mode セクションで、ルールが有効になるタイミングを選択します。
Permanently Effective (デフォルト): 保護テンプレートが有効な場合、ルールは常にアクティブになります。
期間ごとに有効化する: 保護ルールは、指定された期間中のみアクティブになります。
周期ごとに有効化する: 保護ルールは、指定された定期的なスケジュール中のみアクティブになります。
リスク識別 セクションで、Create をクリックして不正検出ルールを作成できます。この機能は、WAF の組み込みの電話番号レピュテーションデータベースと照合することで、疑わしい電話番号からのアクセスをブロックします。電話番号ベースのログインや登録などのシナリオに適しています。詳細については、「不正検出」をご参照ください。
Policy Configurations セクションでは、Alibaba Cloud の豊富な経験から特定された一般的なボットの特徴に基づき、ルールは 悪意のある BOT、BOT かもしれない、良質ボットの 3 つのタイプに分類されます。ルールの ステータス 列にある
アイコンをクリックしてルールを有効または無効にするか、編集 をクリックしてルールを変更できます。重要誤検知のリスク: 次のルールの一部には誤検知のリスクがあり、不適切な設定は正当なリクエストがブロックされる原因となる可能性があります。本番環境でルールを有効にする前に、Actions を 観察 に設定するか、Staged Rollout を使用することをお勧めします。本番環境にデプロイする前に、まず非本番環境でビジネスの特性に基づいてルールをテストし、微調整することをお勧めします。
CC ベースのルールの統計: すべての CC カウントルール (例: Few Access Paths from IP Address) は、設定された統計期間内にしきい値に達するとすぐにアクションをトリガーします。システムは統計期間が終了するのを待ちません。統計オブジェクトがブラックリストに追加された後、そのオブジェクトからのリクエストが引き続きルールをトリガーする場合、システムはリクエストのカウントを継続し、そのオブジェクトのブラックリストのタイムアウト期間を更新します。
設定の推奨事項
悪意のある BOT
ルールカテゴリ
ルール名
誤検知のリスク
ブラウザプローブ
開発者ツール、エミュレーターツール
低
異常なブラウザ環境
低
自動化ツール、ヘッドレスブラウザ
低
異常なシステム環境
低。Windows XP オペレーティングシステムの一部のユーザーに影響を与える可能性があります。
異常なタイムスタンプ
中。2 時間以上リフレッシュされずに開かれている Web ページから送信されたリクエストをブロックする可能性があります。
異常な Web SDK バージョン
低。古い、手動で統合されたバージョンの Web SDK を使用しているユーザーに影響を与える可能性があります。
デバイスのなりすまし
デバイスのハードウェア情報のなりすまし、ブラウザ属性のなりすまし、オペレーティングシステムと環境のなりすまし
低
収集された情報のなりすまし、ネットワークと地理位置情報のなりすまし
低。CDN や Anti-DDoS などのレイヤー 7 プロキシが WAF の前にデプロイされていて、プロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。
クローラークライアント
Meta-ExternalAgent、perplexitbot、chatgpt などの AI クローラートラフィック
低
Python ツールトラフィック
低
クローラツールトラフィック
低
BOT かもしれない
ルールカテゴリ
ルール名
誤検知のリスク
動作分析
すべてのルール
中。マウスの感度が低いユーザーをブロックする可能性があります。
スクリプトクライアント
すべてのルール
低。影響はビジネスによって異なります。たとえば、Okhttp ツールトラフィックルールはネイティブアプリ環境では有効にできません。サービスが Flutter で構築されている場合、Dart ツールトラフィックルールは有効にできません。
IDC データセンター
すべてのルール
中。支払いコールバック、Alibaba Cloud Elastic Desktop Service からのアクセス、または WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合など、正当なトラフィックをブロックする可能性があります。
脅威インテリジェンス
偽造された検索エンジン スパイダー
低
ボット脅威インテリジェンス IP ライブラリ、ボット脅威インテリジェンス指紋ライブラリ
中。住宅または企業ネットワークなどの共有のパブリック出口 IP アドレスを持つシナリオ、または WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションをスライダーまたは JavaScript 検証に設定します。
インテリジェント保護
異常なパスシーケンス、異常なデバイス、悪意のあるグループの動作、異常なリソース配布、時系列の異常
中。住宅または企業ネットワークなどの共有のパブリック出口 IP アドレスを持つシナリオ、または WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションをスライダーまたは JavaScript 検証に設定します。
セッションの異常
高。住宅または企業ネットワークなどの共有のパブリック出口 IP アドレスを持つシナリオ、または WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションをスライダーまたは JavaScript 検証に設定します。
アクセス動作分析
収集された情報なしでの永続的なアクセス、セッションなしでの永続的なアクセス
低。Web SDK の統合が必要です。そうでない場合、情報は収集されません。
インタラクション軌跡の一括再生
低
同じセッションでの頻繁な IP 変更、同じデバイスでの頻繁な IP 変更
低
IP アクセスパスが少ない、IP アクセスパスが多い、クライアントタイプの頻繁な変更、同じ IP での UA の頻繁な変更
中。住宅または企業ネットワークなどの共有のパブリック出口 IP アドレスを持つシナリオ、または WAF の前にレイヤー 7 プロキシがデプロイされていてプロキシ設定が有効になっていない場合、不正確なソース IP 識別が誤検知を引き起こす可能性があります。アクションをスライダーまたは JavaScript 検証に設定します。
良質ボット
ルールカテゴリ
ルール名
誤検知のリスク
通常のクライアント
すべてのルール
これらのリクエストを許可するために、デフォルト設定を維持します。
ルールアクションの編集
設定項目
説明
JS 検証
WAF は、クライアントに JavaScript 検証コードのブロックを返します。標準的なブラウザは自動的にこのコードを実行します。クライアントが正常に実行を完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトでは 30 分) 許可します。そうでない場合、リクエストはブロックされます。
ブロック
ルールに一致するリクエストをブロックし、クライアントにブロックページを返します。
説明WAF はデフォルトのブロックページを使用します。カスタム応答機能を使用して、カスタムブロックページを作成することもできます。
モニター
このアクションは、ルールに一致するリクエストをブロックせず、リクエストをログに記録するだけです。ルールをテストするときは、まず モニター モードを使用して WAF ログを分析し、誤検知が発生しないことを確認します。その後、ルールを別のアクションに変更できます。
スライダー
WAF は、クライアントにスライダー検証ページを返します。クライアントがスライダーチャレンジを正常に完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトでは 30 分) 許可します。そうでない場合、リクエストはブロックされます。
厳密なスライダー
WAF は、クライアントにスライダー検証ページを返します。クライアントがスライダーチャレンジを正常に完了した場合、現在のリクエストは許可されます。そうでない場合、リクエストはブロックされます。このモードでは、クライアントはルールに一致するすべてのリクエストに対してスライダーチャレンジを完了する必要があります。
back-to-origin マーカー
カスタムヘッダー名とコンテンツ (ルールタイプ、ルール ID、Web UMID など) を定義できます。WAF はリクエストを直接処理するのではなく、ヘッダーを追加してヒット情報をオリジンサーバーに転送します。これをバックエンドのリスク管理システムと統合して、ビジネス側で処理できます。
説明JS 検証 または スライダー が有効になっている場合、WAF は応答の Set-Cookie ヘッダーに
acw_sc__v2(JavaScript 検証の場合) またはacw_sc__v3(スライダー CAPTCHA の場合) という名前の Cookie を設定します。クライアントは、後続のリクエストの Cookie ヘッダーにこの識別子を含めます。
次へ をクリックします。
ステップ 3: 有効範囲の選択
有効範囲 ページで、保護対象オブジェクトまたは保護対象オブジェクトグループを選択し、
アイコンをクリックして 選択済み エリアに追加し、OK をクリックします。
ステップ 4: Web SDK の統合
ボット緩和機能は、SDK (ソフトウェア開発キット) によって収集された情報に依存します。このステップをスキップすると、アプリケーションは完全には保護されません。SDK を統合することを強くお勧めします。
保護対象オブジェクトに内部クロスリージョンエンドポイントが含まれる場合、Web SDK 統合ページで対応するドメイン名の自動統合を有効にするか、手動で SDK を統合します。
Alibaba Cloud は、Web ブラウザの保護を強化し、潜在的な互換性の問題を解決するための JavaScript ベースの SDK を提供しています。自動と手動の 2 つの統合方法が利用可能です。
自動統合: ワンクリックで統合を有効にします。ビジネスコードを変更する必要はありません。
手動統合: Application Load Balancer (ALB)、Microservices Engine (MSE)、API Gateway (APIG)、Function Compute (FC)、または Serverless App Engine (SAE) を使用して WAF に追加された保護対象オブジェクトでは、Web SDK の自動挿入はサポートされていません。Web SDK を手動で統合する必要があります。
自動統合
Web 保護 ページの右上隅にある Web SDK 統合一覧 をクリックします。次に、保護対象オブジェクトの Web SDK 自動挿入を有効にします。
Web 保護テンプレートを作成し、Web SDK の自動統合を有効にすると、
ssxmod_itna、ssxmod_itna2、およびssxmod_itna3Cookie が HTTP ヘッダーに挿入され、クライアントブラウザの指紋情報が収集されます。この情報には、HTTP ヘッダーのホストフィールド、ブラウザの高さと幅、その他の詳細が含まれます。自動統合を有効にすると、システムは対応する保護対象オブジェクトの HTML ページに SDK を自動的に挿入します。SDK は、ブラウザ環境情報、不正ツールのプローブデータ、および操作動作ログを収集するために使用されます。機密性の高い個人情報は収集しません。
手動統合
Web 保護 ページの右上隅にある Web SDK 統合一覧 をクリックし、次に SDK リンクを取得 をクリックします。取得した <script> タグをページの他のすべての <script> タグの前に配置して、最初に読み込まれるようにします。
日常の O&M
テンプレートの編集
対象のテンプレートの 操作 列にある 編集 をクリックします。Edit パネルでテンプレートを変更します。
テンプレートの削除
対象のテンプレートの 操作 列にある 削除 をクリックします。削除 ダイアログボックスで情報を確認し、[確認] をクリックします。
テンプレートのコピー
対象のテンプレートの 操作 列にある 複製 をクリックします。複製 ダイアログボックスで情報を確認し、[確認] をクリックします。
テンプレートの有効化または無効化
テンプレートを有効または無効にするには、対象のテンプレートのステータス列にある
スイッチをクリックします。ルールの表示
対象のテンプレートのルールを表示するには、
アイコンをクリックします。対象のルールを有効または無効にするには、ステータス 列の
スイッチをクリックします。
本番稼働
サービスの中断を避けるため、本番環境で直接新しいテンプレートを作成して有効にしないでください。以下のデプロイメントプロセスに従ってください。
ホワイトリストの設定: テンプレートを作成する前に、ホワイトリストルールを作成して、信頼できる IP アドレスをホワイトリストに追加することをお勧めします。これにより、信頼できるリクエストが新しいルールによって誤ってブロックされるのを防ぎます。
カナリアテストの実行: テンプレートが作成された後、本番環境にデプロイする前に、次の 3 つの方法のいずれかを使用して観察およびテストできます。
テストのために非本番環境にルールを適用します。
Actions を モニター に設定します。
カナリアリリースを有効にします。
テスト結果の分析: テンプレートが一定期間実行された後、セキュリティレポートとログを確認して、ルールをトリガーしたリクエストの中に誤検知がないか確認します。
本番環境への適用: 誤検知率が許容範囲内であることを確認した後、必要に応じてルールのアクションを変更し、テンプレートを本番環境に適用します。
継続的な監視と最適化: セキュリティレポートとログを継続的に監視します。ビジネスの変更とその実際の有効性に基づいて、ルールを動的に調整および最適化します。
クォータと制限
ポリシー設定セクションの Web ブラウザプローブ、デバイス偽造、インタラクティブ行動分析、AI、および アクセス行動分析 ルールは、正しく機能するために Web SDK の統合が必要です。
ポリシー設定セクションの クローラー、スクリプトクライアント、AI、および アクセス行動分析 ルールは、ALB、MSE、API Gateway、FC、または SAE を使用して WAF に追加された保護対象オブジェクトをサポートしていません。
ALB、MSE、API Gateway、FC、または SAE を使用して WAF に追加された保護対象オブジェクトでは、Web SDK の自動統合はサポートされていません。Web SDK を手動で統合する必要があります。