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