Web Application Firewall (WAF) のボット管理モジュールは、エミュレーターや悪意のあるスクリプトなどの自動化ツールによって開始される攻撃を軽減します。 攻撃には、データのクロール、詐欺、資格情報のスタッフィング攻撃、スパムユーザーの登録、自動購入ボット、プロモーションの悪用、SMSフラッド攻撃が含まれます。 ボットトラフィックの分析データに基づいてボット管理ルールを設定し、マーケティング活動中のデータリークやリスクを軽減することを推奨します。 これにより、サーバーのワークロードと帯域幅コストを削減できます。 このトピックでは、ボット管理モジュールを有効にし、ボット管理ルールを設定する方法について説明します。
機能の説明
ボット管理モジュールは、ボットトラフィック分析、基本的な保護、およびシナリオ固有の保護を提供します。 ボット管理モジュールは、ボットトラフィックを特定し、クローラーから防御してwebサービスをクロールから保護するのに役立ちます。
ボットトラフィック分析: ボット管理モジュールを有効にするかどうかに関係なく、この機能を使用できます。
ボット管理モジュールを有効にしなくても、特定の時間範囲内のボットトラフィックの傾向、リスクの高い上位20のクライアント、リスクの高い上位20のIPアドレス、保護されたオブジェクトへのボットトラフィックの分析データなど、ボットトラフィック分析の結果を表示できます。 これにより、危険なドメイン名を効率的に特定して見つけることができます。 詳細については、「ボットトラフィックの分析データの表示」をご参照ください。
トライアルを申請するか、ボット管理モジュールを有効にして、危険なドメイン名に対してシナリオ固有の保護を設定できます。 トライアルを申請する方法とボット管理モジュールを有効にする方法の詳細については、「ボット管理モジュールの有効化」をご参照ください。
シナリオベースの保護: 機能を使用する前に、ボット管理モジュールを有効にする必要があります。
シナリオ固有の保護機能では、SDKを統合して、Webサイトやアプリをクローラーから保護するカスタムルールを構成できます。 詳細については、「Webサイトのアンチクローラールールの作成」および「アプリのアンチクローラールールの作成」をご参照ください。
この機能は、ボットトラフィックに敏感なユーザーに適しています。
基本的な保護: 機能を使用する前に、ボット管理モジュールを有効にする必要があります。
基本的な保護機能は、フィンガープリント技術を使用してレイヤー4およびレイヤー7ボットトラフィックを検出します。 SDKを統合する必要なく、この機能を使用できます。 詳細については、「基本保護ルールの作成」をご参照ください。
この機能は、簡単な方法で保護ルールを設定することにより、低レベルのクローラーから防御したいユーザーに適しています。
前提条件
Webサービスは、アクセス管理 ページでWAFに追加されます。 詳細については、「Webサイト設定の概要」をご参照ください。
Anti-Bot SDKはアプリに統合されています。 アプリの種類の保護テンプレートを構成してクローラーから防御する場合は、この前提条件が満たされていることを確認してください。 詳細については、「Anti-Bot SDKをAndroidアプリに統合する」および「Anti-Bot SDKをiOSアプリに統合する」をご参照ください。
ボットトラフィックの分析データの表示
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、 を選択します。
[ボットトラフィック分析] タブで、[ボットトラフィックの傾向] 、[上位20の危険なクライアント] 、[上位20の危険なIPアドレス] 、および [保護オブジェクトへのボットトラフィックの分析データ] を表示します。
ボット管理モジュールの有効化
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、 を選択します。
ボット管理モジュールを有効にします。
無料トライアルに申し込む
説明ボット管理モジュールの無料トライアルは1回だけ申請できます。 WAF Pro、Enterprise、またはUltimateインスタンスを使用している場合にのみ、無料トライアルを申請できます。
申請が承認された後、7日間の無料トライアルを受けることができます。 試用期間中に生成された分析データは、試用期間中にのみ利用可能です。 分析データを保持する場合は、試用期間が終了する前にボット管理モジュールを有効にします。
[ボットトラフィック分析] タブで、[トライアルの申請] をクリックします。 表示されるページで、アプリケーション情報を入力し、[送信] をクリックします。
トライアル申請を提出した後、Alibaba Cloudのエンジニアは、申請に関連する情報を確認するために、提出した連絡先情報に基づいてお客様に連絡します。 申請が承認されると、WAFインスタンスに対してボット管理モジュールが自動的に有効になります。
ボット管理モジュールの有効化
[ボットトラフィック分析] 、シナリオベースの保護 、または 基本的な保護 タブで、[今すぐ購入] をクリックします。
表示された購入ページで、ボット管理-Webアプリケーション保護またはボット管理-アプリ保護パラメーターを有効に設定し、支払いを完了します。
説明webアプリケーション保護のボット管理を有効にした後、webサイトの基本的な保護ルールとアンチクローラールールを設定できます。
アプリ保護のボット管理を有効にした後、アプリの基本保護ルールとアンチクローラールールを設定できます。
基本的な保護ルール、webサイトのアンチクローラールール、およびアプリのアンチクローラールールを設定する場合は、webアプリケーション保護のためのボット管理とアプリ保護のためのボット管理の両方を有効にします。
ボット管理モジュールを有効にした後、[ボットトラフィック分析] タブでシナリオ固有の保護ルールを設定できます。 シナリオ固有の保護ルールを設定するには、ページの [保護されたオブジェクトのボットトラフィック分析] セクションに移動し、保護するWebサイトまたはアプリのドメイン名を見つけて、[操作] 列の [保護の設定] をクリックします。 詳細については、「Webサイトのアンチクローラールールの作成」および「アプリのアンチクローラールールの作成」をご参照ください。
低レベルのクローラーに対して防御するための基本的な保護ルールを設定する場合は、基本的な保護 タブに移動します。 詳細については、「基本保護ルールの作成」をご参照ください。
Webサイトのアンチクローラールールの作成
WAFを使用して、webページ、HTML5ページ、またはHTML5アプリのボットトラフィックによって引き起こされるセキュリティの脅威を軽減する場合は、保護テンプレートを作成し、webサイトのアンチクローラールールを設定することをお勧めします。
クライアントからのリクエストが、Actionパラメーターが [JavaScript検証の実行] または スライダー に設定されている保護ルールと一致する場合、WAFはクライアントでJavaScript検証またはスライダーCAPTCHA検証を実行します。 クライアントが検証または検証に合格した場合、WAFは
acw_sc__v2
またはacw_sc__v3
cookieをリクエストのヘッダーに追加し、クライアントが検証または検証に合格したことを示します。ボット管理モジュールにシナリオ固有の保護テンプルを設定し、Web SDK機能の自動統合を有効にすると、WAFは
ssxmod_itna
、ssxmod_itna2
、およびssxmod_itna3
CookieをHTTPリクエストヘッダーに追加します。 クッキーは、クライアント上のブラウザに関する指紋情報を取得するために使用される。 フィンガープリント情報には、HTTPリクエストのホストフィールドと、ブラウザウィンドウの高さと幅が含まれます。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、 を選択します。
シナリオベースの保護 タブで、テンプレートの作成 をクリックします。
シナリオの設定 ステップで、パラメーターを設定し、次へ をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
テンプレート名
テンプレートの名前を入力します。
テンプレートの名前は1 ~ 255文字で、英数字、ピリオド (.) 、アンダースコア (_) 、ハイフン (-) を使用できます。
テンプレートの紹介
テンプレートの説明を入力します。
保護ターゲットタイプ
Web サイト を選択します。 これにより、WAFはwebページ、HTML5ページ、およびHTML5アプリを保護します。
Web SDK の統合
詳細については、「Web SDKをwebアプリケーションに統合する」をご参照ください。
保護ターゲットの特性
保護するドメイン名を宛先とするトラフィックを識別する一致条件を追加します。 一致条件を追加するには、一致フィールド、論理演算子、および一致コンテンツを設定する必要があります。 matchフィールドがHTTPリクエストのヘッダーフィールドであることを確認してください。 最大5つの条件を追加できます。 条件は論理積を用いて評価される。 一致フィールドの詳細については、「一致条件」をご参照ください。
保護ルールの設定 ステップで、パラメーターを設定し、次へ をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
リスク特定
[ビジネスセキュリティ] を選択し、関連情報を入力します。 詳細については、「リスク識別」をご参照ください。
この機能は、不正検出に基づいて異常な携帯電話番号からのリクエストをブロックするのに役立ちます。 ルールヒットに基づいて課金されます。
合法的ボット管理
スパイダーのホワイトリスト を選択します。 次に、ドロップダウンリストから検索エンジンを選択します。
スパイダーホワイトリストを選択し、ドロップダウンリストから検索エンジンを選択すると、検索エンジンのクローラIPアドレスから送信されたリクエストが配信元サーバーに送信されます。 ボット管理モジュールは、これらの要求をもはやチェックしない。
ボット特性の認識
ボット行為認識
ボット脅威情報
有効範囲 ステップで、パラメーターを設定し、次へ をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
有効対象
[選択するオブジェクト] セクションで保護テンプレートを適用する保護オブジェクトまたは保護オブジェクトグループを選択し、[] アイコンをクリックして、保護オブジェクトまたは保護オブジェクトグループを 選択した対象 セクションに移動します。
有効時間とカナリアリリース
保護ルールの有効期間を指定し、カナリアリリース設定を構成する必要があります。 有効期間を指定しない場合、またはカナリアリリース設定を構成しない場合、ルールのカナリアリリースは無効になり、ルールは完全に有効になります。
設定を変更するルールを見つけ、[操作] 列の [編集] をクリックします。
カナリアリリース設定を構成し、有効期間を指定します。
カナリアリリース: カナリアリリースをオンにすると、特定の割合のオブジェクトにルールを適用できます。
カナリアリリースをオンにする場合は、ディメンションとカナリアリリース率パラメーターを設定する必要があります。 Dimensionパラメーターの有効な値: IP Address、Custom Header、Custom Header、Custom Cookie、Session。
有効モード
Permanently Effective (デフォルト): [Permanently Effective] を選択すると、保護ルールは永続的に有効になります。
固定スケジュール: テンプレートを有効にするタイムゾーンと期間を指定できます。
定期スケジュール: タイムゾーン、曜日、および1日の期間を指定できます。 テンプレートは、同じ曜日の1日の同じ期間に有効です。
複数のルールを選択して有効期間を指定し、同時にルールのカナリアリリース設定を構成できます。
保護効果検証ステップで、アンチクローラールールをテストします。
不適切なルール設定または互換性の問題によって引き起こされる誤検知を防ぐために、アンチクローラールールを公開する前にルールの保護効果を確認することを推奨します。設定が正しい場合は、スキップ をクリックします。
テストステップ:
デフォルトでは、新しく作成されたテンプレートが有効になります。 シナリオベースの保護 タブでは、次の操作を実行できます。
テンプレートカードをクリックして、テンプレートに関するルール情報を表示します。
テンプレートを複製、編集、または削除します。
テンプレートを有効または無効にするには、スイッチをオンまたはオフにします。
テンプレートの [アクション] および [保護対象 / グループ] パラメーターの設定を表示します。
アプリのアンチクローラールールの作成
ネイティブのiOSまたはAndroidアプリのアンチクローラールールを設定して、サービスをクローラーから保護することができます。 HTML5アプリはiOSやAndroidのネイティブアプリではありません。
クライアントからのリクエストが、Actionパラメーターが [JavaScript検証の実行] または スライダー に設定されている保護ルールと一致する場合、WAFはクライアントでJavaScript検証またはスライダーCAPTCHA検証を実行します。 クライアントが検証または検証に合格した場合、WAFはacw_sc__v2
またはacw_sc__v3
cookieをリクエストのヘッダーに追加し、クライアントが検証または検証に合格したことを示します。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、 を選択します。
シナリオベースの保護 タブで、[テンプレートの作成] をクリックします。
シナリオの設定 ステップで、パラメーターを設定し、次へ をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
テンプレート名
テンプレートの名前を入力します。
テンプレートの名前は1 ~ 255文字で、英数字、ピリオド (.) 、アンダースコア (_) 、ハイフン (-) を使用できます。
テンプレートの紹介
テンプレートの説明を入力します。
保護ターゲットタイプ
APP を選択して、ネイティブiOSおよびAndroidアプリのアンチクローラールールを設定します。 HTML5アプリは除外されます。
APP SDK 統合
WAFは、AndroidおよびiOSネイティブアプリの保護機能を強化するためのAnti-Bot SDKを提供しています。 Anti-Bot SDKがアプリに統合された後、Anti-Bot SDKはクライアントの特性を収集し、リクエストにセキュリティ署名を生成します。 WAFは、シグネチャに基づいて安全でないと識別されたリクエストを識別およびブロックします。
Anti-Bot SDKを統合するには、次の手順を実行します。
iOSアプリ用のSDKを取得します。 SDKを取得するには、チケット
AppKey の取得と複製 をクリックしてSDK初期化リクエストを送信します。
Anti-Bot SDKをアプリに統合します。 詳細については、「Anti-Bot SDKをiOSアプリに統合する」をご参照ください。
保護ターゲットの特性
保護するドメイン名を宛先とするトラフィックを識別する一致条件を追加します。 一致条件を追加するには、一致フィールド、論理演算子、および一致コンテンツを設定する必要があります。 matchフィールドがHTTPリクエストのヘッダーフィールドであることを確認してください。 最大5つの条件を追加できます。 条件は論理積を用いて評価される。 一致フィールドの詳細については、「一致条件」をご参照ください。
保護ルールの設定 ステップで、パラメーターを設定し、次へ をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
リスク特定
[ビジネスセキュリティ] を選択し、関連情報を入力します。 詳細については、「リスク識別」をご参照ください。
この機能は、不正検出に基づいて異常な携帯電話番号からのリクエストをブロックするのに役立ちます。 ルールヒットに基づいて課金されます。
ボット特性の認識
検出ルール
保護アクション
観察 、ブロック 、または 厳密なスライダー を、以下の ボット特性の認識 のルールに一致するリクエストに対してWAFで実行するアクションとして選択できます。
高度な保護
高度保護 をクリックし、次のパラメーターを設定します。
ボット行為認識
AI インテリジェント保護 を選択した場合、検出されたボット要求に対してWAFに実行させるアクションとして、観察 、スライダー 、厳密なスライダー 、または [Add Tag] を選択する必要があります。 [タグの追加] を選択した場合、[ヘッダー名] および [ヘッダーコンテンツ] パラメーターを設定する必要があります。
[インテリジェント保護] を選択すると、インテリジェント保護エンジンはアクセストラフィックを分析し、機械学習を実行します。 そして、解析結果と学習したパターンとに基づいてブラックリストや保護ルールを生成する。
速度制限
カスタムスロットリング条件を設定して、頻繁に開始されるクローラー要求を除外できます。 これにより、HTTPフラッド攻撃を防ぐことができます。
ボット脅威情報
有効範囲 ステップで、パラメーターを設定し、次へ をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
有効対象
[選択するオブジェクト] セクションで保護テンプレートを適用する保護オブジェクトまたは保護オブジェクトグループを選択し、[] アイコンをクリックして、保護オブジェクトまたは保護オブジェクトグループを 選択した対象 セクションに移動します。
有効時間とカナリアリリース
保護ルールの有効期間を指定し、カナリアリリース設定を構成する必要があります。 有効期間を指定しない場合、またはカナリアリリース設定を構成しない場合、ルールのカナリアリリースは無効になり、ルールは完全に有効になります。
設定を変更するルールを見つけ、[操作] 列の [編集] をクリックします。
カナリアリリース設定を構成し、有効期間を指定します。
カナリアリリース: カナリアリリースをオンにすると、特定の割合のオブジェクトにルールを適用できます。
カナリアリリースをオンにする場合は、ディメンションとカナリアリリース率パラメーターを設定する必要があります。 Dimensionパラメーターの有効な値: IP Address、Custom Header、Custom Header、Custom Cookie、Session。
有効モード
Permanently Effective (デフォルト): [Permanently Effective] を選択すると、保護ルールは永続的に有効になります。
固定スケジュール: テンプレートを有効にするタイムゾーンと期間を指定できます。
定期スケジュール: タイムゾーン、曜日、および1日の期間を指定できます。 テンプレートは、同じ曜日の1日の同じ期間に有効です。
複数のルールを選択して有効期間を指定し、同時にルールのカナリアリリース設定を構成できます。
保護効果検証ステップで、アンチクローラールールをテストします。
不適切なルール設定または互換性の問題によって引き起こされる誤検知を防ぐために、アンチクローラールールを公開する前にルールの保護効果を確認することを推奨します。設定が正しい場合は、スキップ をクリックします。
テストステップ:
デフォルトでは、新しく作成されたテンプレートが有効になります。 シナリオベースの保護 タブでは、次の操作を実行できます。
テンプレートカードをクリックして、テンプレートに関するルール情報を表示します。
テンプレートを複製、編集、または削除します。
テンプレートを有効または無効にするには、スイッチをオンまたはオフにします。
テンプレートの [アクション] および [保護対象 / グループ] パラメーターの設定を表示します。
基本的な保護ルールの作成
基本的な保護ルールを設定して、サービスの中レベルおよび低レベルのクローラーに対して防御できます。 ボット管理モジュールは、デフォルトの基本保護ルールテンプレートを提供しません。 ボット管理モジュールによって提供される基本的な保護機能を有効にする前に、基本的な保護ルールテンプレートを作成する必要があります。
WAF 3.0コンソールにログインします。 上部のナビゲーションバーで、WAFインスタンスのリソースグループとリージョンを選択します。 中国本土 または 中国本土以外 を選択できます。
左側のナビゲーションウィンドウで、 を選択します。
ベーシック保護 タブで、テンプレートの作成 をクリックします。
[テンプレートの作成-ボット管理] パネルでパラメーターを設定し、OK をクリックします。 下表に、各パラメーターを説明します。
パラメーター
説明
テンプレート名
テンプレートの名前を入力します。
テンプレートの名前は1 ~ 255文字で、英数字、ピリオド (.) 、アンダースコア (_) 、ハイフン (-) を使用できます。
テンプレートの紹介
テンプレートの説明を入力します。
アクション
ルールに一致するリクエストに対してWAFで実行するアクションを指定します。 有効な値: ブロックおよびモニター。
詳細設定
カナリアリリース: カナリアリリースをオンにすると、特定の割合のオブジェクトにルールを適用できます。
カナリアリリースをオンにする場合は、ディメンションとカナリアリリース率パラメーターを設定する必要があります。 Dimensionパラメーターの有効な値: IP Address、Custom Header、Custom Header、Custom Cookie、Session。
有効モード
Permanently Effective (デフォルト): [Permanently Effective] を選択すると、保護ルールは永続的に有効になります。
固定スケジュール: テンプレートを有効にするタイムゾーンと期間を指定できます。
定期スケジュール: タイムゾーン、曜日、および1日の期間を指定できます。 テンプレートは、同じ曜日の1日の同じ期間に有効です。
有効対象
テンプレートを適用する保護オブジェクトと保護オブジェクトグループを選択します。
保護対象オブジェクトまたは保護対象オブジェクトグループに適用できる保護モジュールのテンプレートは1つだけです。 保護オブジェクトの追加と保護オブジェクトグループの作成方法の詳細については、「保護オブジェクトと保護オブジェクトグループの設定」をご参照ください。
デフォルトでは、新しく作成されたテンプレートが有効になります。 ベーシック保護 タブでは、次の操作を実行できます。
テンプレートに含まれるルールのIDを表示します。
説明基本的な保護テンプレートには、2つのホワイトリストルールと1つのアクセス制御またはHTTPフラッド保護ルールが含まれます。 ルールIDを使用して、[セキュリティレポート] ページでルールの保護パフォーマンスを表示できます。 詳細については、「セキュリティレポート」をご参照ください。
テンプレートを複製、編集、または削除します。
テンプレートを有効または無効にするには、スイッチをオンまたはオフにします。
テンプレートの [アクション] および [保護対象 / グループ] パラメーターの設定を表示します。
よくある質問
保護効果検証 でエラーが発生した場合は、次の表を参照してエラーを修正してください。
エラー | 原因 | 解決策 |
有効なテスト要求は検出されません。 考えられる原因を特定するには、WAFドキュメントを参照するか、お問い合わせください。 | テストリクエストの送信に失敗したか、WAFに送信されません。 | WAFが提供するCNAMEをマップするIPアドレスにテストリクエストが送信されていることを確認します。 |
テストリクエストのヘッダーフィールドは、アンチクローラールールの保護ターゲットの特性パラメーターに設定したヘッダーフィールドと一致しません。 | アンチクローラールールのTraffic Characteristicsパラメーターを変更します。 | |
テストリクエストの送信元IPアドレスは、アンチクローラールールで指定したパブリックIPアドレスとは異なります。 | 正しいパブリックIPアドレスを使用していることを確認してください。 推奨する使用例 パブリックIPアドレスを取得するAlibaba Network Diagnose Tool。 | |
テスト要求が検証に失敗しました。 考えられる原因を特定するには、WAFドキュメントを参照するか、お問い合わせください。 | 実際のユーザーアクセスはシミュレートされません。 たとえば、デバッグモードまたは自動化ツールが使用されます。 | テスト中に実際のユーザーをシミュレートして、Webサイトまたはアプリにアクセスします。 |
誤ったサービスタイプが選択されています。 たとえば、アプリのアンチクローラールールを設定すると、Web サイト が選択されます。 | Service Typeパラメーターの値を変更します。 | |
中間ドメイン名が使用されますが、アンチクローラールールで誤った中間ドメイン名が選択されます。 | 他の保護対象からのオリジン間呼び出し を選択します。 次に、ドロップダウンリストから正しい中間ドメイン名を選択します。 | |
互換性の問題はフロントエンドで発生します。 | を送信するチケットお問い合わせください。 | |
検証はトリガーされません。 考えられる原因を特定するには、WAFドキュメントを参照するか、お問い合わせください。 | テストルールは生成されません。 | テストルールが生成されるまで、テストを数回実行します。 |
有効なテスト要求は検出またはブロックされません。 考えられる原因を特定するには、WAFドキュメントを参照するか、お問い合わせください。 | テストリクエストの送信に失敗したか、WAFに送信されません。 | WAFが提供するCNAMEをマップするIPアドレスにテストリクエストが送信されていることを確認します。 |
テストリクエストのヘッダーフィールドは、アンチクローラールールのトラフィック特性パラメーターに設定したヘッダーフィールドと一致しません。 | アンチクローラールールのTraffic Characteristicsパラメーターを変更します。 | |
テストリクエストの送信元IPアドレスは、アンチクローラールールで指定したパブリックIPアドレスとは異なります。 | 正しいパブリックIPアドレスを使用していることを確認してください。 推奨する使用例 パブリックIPアドレスを取得するAlibaba Network Diagnose Tool。 |
次のステップ
[セキュリティレポート] ページで、構成した保護ルールの保護の詳細を照会できます。 詳細については、「セキュリティレポート」をご参照ください。