シナリオ固有のクローラー対策ルールを設定するには、Anti-Bot SDK をアプリケーションに統合する必要があります。このトピックでは、Web アプリケーションに SDK を統合する方法について説明します。
コンポーネント
Anti-Bot SDK の統合には、Web コレクターと非同期 API 応答コンポーネントが含まれます。
Web コレクター
Web コレクターは、クライアントブラウザまたはコンテナの特徴をボット対策システムに統合します。これにより、ネットワークレベルの特徴のみを分析するだけでは検出できない攻撃手法を特定し、保護を強化します。
Web コレクターはこれらの特徴を収集、難読化、暗号化し、ルートドメインに Cookie を設定して、リクエストを通じてデータを報告します。このプロセスは、パフォーマンスへの影響を最小限に抑えます。
Web コレクターは、主に次の 3 種類の情報を収集します。
ブラウザまたはコンテナの環境情報:ブラウザの種類とバージョン、画面の解像度、タイムゾーン、タイムスタンプなどの一般的な詳細情報が含まれます。
特定の防御プローブ:これらのプローブは、一般的なブラウザレベルのボットスクリプト、ドライバー、および自動化されたコンテナを検出するように設計されています。
ユーザーの動作:ページ上のマウス、キーボード、タッチイベント。
説明プライバシー保護のため、押された特定のキーは収集されず、キーストロークのタイミングのみが収集されます。
非同期 API 応答コンポーネント
非同期 API 応答コンポーネントを使用すると、Web アプリケーションはボット対策システムが API に送信するチャレンジを処理できます。これらのチャレンジには、現在、JavaScript 検証や CAPTCHA チャレンジが含まれます。WAF が API にチャレンジ応答を発行すると、このコンポーネントがそれを検出して応答します。
非同期 API 応答コンポーネントは純粋に機能的なものです。セキュリティ機能を提供したり、データを収集または報告したりすることはありません。
非同期 API 応答コンポーネントは、次のように動作します。
このコンポーネントは、ページ上の一般的な API リクエストオブジェクト (
xmlHttpRequest(XHR)、Fetch、Formなど) をグローバルに書き換えます。元のプロパティを変更することなく、これらのオブジェクトを追加のコードレイヤーでラップします。フックが完了すると、コンポーネントは、ページ自体の JavaScript コードが処理する前にリクエストへの応答をインターセプトします。応答が WAF から返されたチャレンジアクション (JavaScript 検証や CAPTCHA チャレンジなど) であるかどうかを確認します。
応答がオリジンサーバーからのものである場合、コンポーネントは何もせず、ご利用の Web サイトの JavaScript コードに渡します。ただし、応答が WAF からのものである場合、コンポーネントは応答内のアルゴリズムコンテンツを解析し、必要な JavaScript 計算を実行して、新しい検証署名付きでリクエストを再送信します。WAF は署名を検証し、リクエストがオリジンサーバーに渡されることを許可します。
互換性
環境の互換性:SDK は、Internet Explorer 8 以降のレンダリングエンジンを使用するブラウザ、およびさまざまなクライアントコンテナと互換性があります。
Cookie への依存:クライアントリクエストは Cookie を伝送できる必要があります。コンテナまたはリクエストが Cookie をサポートしていない場合、コンポーネントの機能が損なわれます。
フックの互換性:特定のビジネスシナリオでは、ネイティブの XHR、Form、または Fetch オブジェクトに対するカスタムフックが、非同期 API 応答コンポーネントと競合する可能性があります。
統合方法
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 ヘッダーの host フィールド、ブラウザの高さと幅、その他の詳細が含まれます。自動統合を有効にすると、対応する保護対象の HTML ページに SDK が自動的にインジェクトされます。この SDK は、ブラウザの環境情報、不正なツールのプローブデータ、および操作ログを収集するために使用されます。機密性の高い個人情報は収集されません。
手動統合
Web 保護 ページの右上隅で Web SDK 統合一覧 をクリックし、次に SDK リンクを取得 をクリックします。取得した <script> タグを、ページ上の他のすべての <script> タグの前に配置して、最初にロードされるようにしてください。