ネイティブ iOS、Android、または HarmonyOS アプリ (埋め込み H5 ページを除く) が悪意のあるクローラー、自動化されたスクリプト、または API の不正利用の標的となった場合、アプリ保護テンプレートを作成できます。これにより、クローラー対策のカスタムルールを定義し、サービスのセキュリティを確保できます。
操作手順
Web Application Firewall (WAF) 3.0 コンソールにログインします。上部メニューバーで、WAF インスタンスのリソースグループとリージョン ([中国本土] または [中国本土以外]) を選択します。ナビゲーションペインで、 を選択します。アプリ 保護 タブで、テンプレートを作成 をクリックします。
ステップ1:保護シナリオの定義
わかりやすいテンプレート名とテンプレートの紹介を入力します。
保護ターゲットの特性 を選択します。サポートされているタイプは グローバル と マッチ条件のカスタマイズ です。
[グローバル]: Web ページ、アプリ、ミニプログラムからのトラフィックを含め、ドメイン名のすべてのトラフィックに適用されます。
[マッチ条件のカスタマイズ]: リクエストの特性に基づいてトラフィックタイプを区別します。これは、Web ページとアプリが同じ API を共有しているが Web または H5 トラフィックのみを保護したい場合や、フラッシュセールやログインエンドポイントなどの特定のビジネスエンドポイントにターゲットを絞った保護ポリシーを適用したい場合に役立ちます。
[グローバル]
グローバルを選択した場合、トラフィック特性を指定する必要はありません。
[マッチ条件のカスタマイズ]
[一致条件のカスタマイズ] を選択した場合、WAF はユーザーが定義した特徴に基づいてリクエストを照合します。条件を追加するには、条件の追加 をクリックします。各条件は、マッチフィールド、論理記号、および マッチコンテンツ で構成されています。次の表に設定例を示します。
説明ルールをトリガーするには、リクエストがルール内のすべての条件 (論理 AND) を満たす必要があります。詳細については、「一致条件」をご参照ください。
[マッチフィールド]
[論理記号]
[マッチコンテンツ]
説明
URI パス
含む
/login.phpリクエストパスが
/login.phpを含む場合に一致します。IP
属する
192.1.XX.XXクライアント IP アドレスが
192.1.XX.XXの場合に一致します。
静的ファイルの除外 を選択するかどうかを指定します。静的ファイルへのリクエストには通常、ビジネスロジックが含まれず、そのコンテンツはインジェクション攻撃の影響を受けにくいです。静的ファイルを除外すると、検出の負荷が軽減され、WAF が動的 API の保護に集中できるようになります。デフォルトの静的ファイルタイプを選択することをお勧めします。カスタムタイプを追加することもできます。
ステップ2:テンプレートルールの編集
二次パッケージ化 セクションで、Create をクリックしてルールを設定します。この機能は、攻撃者がアプリを逆コンパイルし、悪意のあるコードや広告を挿入し、再署名した上で、サーバーにリクエストを送信する海賊版として再パッケージ化することを防ぎます。
正しいパッケージ名 および 署名 フィールドに、アプリの一意の識別子となるパッケージ名と署名を入力します。Add をクリックして、複数のバージョンを設定できます。最大 5 つの条件を追加できます。これらの条件は、論理和 (OR) で結合されます。
[ルールタイプ]: ルールを悪意のある BOTまたはBOT かもしれないに分類します。
[処理操作]:
パラメーター
説明
モニター
このアクションは、ルールに一致するリクエストをブロックするのではなく、ログに記録するだけです。ルールをテストする際は、まずモニター モードを使用して WAF ログを分析し、誤検知が発生しないことを確認してから、別のアクションに変更できます。
スライダー
WAF は、スライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトで 30 分) 許可します。それ以外の場合、リクエストはブロックされます。
厳密なスライダー
WAF は、スライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、現在のリクエストは許可されます。それ以外の場合、リクエストはブロックされます。このモードでは、クライアントはルールに一致するすべてのリクエストに対してスライダーチャレンジを完了する必要があります。
ブロック
ルールに一致するリクエストをブロックし、ブロックページをクライアントに返します。
説明WAF はデフォルトのブロックページを使用します。カスタム応答機能を使用して、カスタムブロックページを作成することもできます。
back-to-origin マーカー
カスタムヘッダーと値 (ルールタイプ、ルール ID、アプリ UMID など) を定義できます。WAF はこのヘッダーをリクエストに追加し、他のアクションを実行せずにオリジンに転送します。これにより、バックエンドのリスクコントロールシステムと連携してカスタムの処理を行うことができます。
規則的グレースケール セクションで、さまざまなディメンションに基づいて、ルールの影響を受けるリクエストの割合を設定します。 カナリアルールを有効にした後、ディメンション と グレースケール も設定する必要があります。 ディメンション には、IP、カスタムヘッダ、Custom Parameter、カスタム Cookie、Session、および アプリ側の UMID が含まれます。
説明カナリアルールは、すべてのリクエストの一定の割合にルールをランダムに適用するのではなく、設定された ディメンション に基づいて有効になります。たとえば、ディメンション が IP で、グレースケール が 10% の場合、WAF は、選択された送信元 IP アドレスの 10% からのすべてのリクエストにルールを適用します。
有効化されるモード セクションで、ルールが発効するタイミングを選択します。
[Permanently Effective] (デフォルト): 保護テンプレートが有効化されている場合、ルールは常に有効です。
[期間ごとに有効化する]: 保護ルールは、指定された期間中のみ有効です。
[周期ごとに有効化する]: 保護ルールは、指定された繰り返しスケジュール中にのみ有効になります。
リスク識別 セクションでは、Create をクリックしてリスク識別ルールを作成できます。この機能は、WAF の組み込み電話番号レピュテーションデータベースに基づいて、転売者が使用する電話番号など、不審な電話番号からのアクセスをブロックします。電話番号を使用したログインや登録などのシナリオに適しています。
重要リスク識別は有料機能です。課金ルールは以下の通りです:
課金条件:設定されたルールにリクエストが一致した場合にのみ料金が発生します。
単価:0.007 USD / リクエスト。
課金方法:従量課金。請求書は毎日生成されます。
[アカウントの抽出]:アカウントの追加 をクリックして アカウントのタイプ と アカウントの位置 を設定します。最大 5 つの条件を追加でき、これらの条件は論理 OR で評価されます。
設定例:ログインリクエストが GET メソッドを使用し、リクエストパラメーターが
username=158***&password=***の形式である場合、設定を次のように構成します。[アカウントの位置]: Query パラメーター を選択します。
[パラメーター名]: ユーザー名を入力します。
この設定により、WAF は脅威検出のためにリクエストから電話番号を正確に抽出できます。
[リスクタグ]: タグを追加 をクリックしてタグを設定します。最大 5 つのタグを追加でき、これらのタグは論理 OR で評価されます。
[疑似なりすましアカウント]: 電話番号は、個人ユーザーのものではなく、サードパーティプラットフォームからのものであると疑われます。
[詐欺リスク]: 電話番号に不正行為の履歴があると疑われます。
[虚偽登録]: 電話番号が、ユーザー登録のために不正なツールで利用されている疑いがあります。多くの場合、将来のマーケティングキャンペーンを目的としています。
[マーケティングの不正行為]: 電話番号が、クーポンを受け取るための大量登録など、マーケティングプロモーションを悪用する目的で不正なツールと共に使用されている疑があります。
[なりすましアカウント]: 電話番号が、不正なツールによるチケットの争奪やその他のフラッシュセールイベントへの参加に使用されている疑いがあります。
すべてのタグのデフォルトのRisk Levelは高です。ビジネスニーズに応じて、高、中高、または中に変更できます。
[処理操作]:
パラメーター
説明
モニター
このアクションは、ルールに一致するリクエストをブロックするのではなく、ログに記録するだけです。ルールをテストする際は、まずモニター モードを使用して WAF ログを分析し、誤検知が発生しないことを確認してから、別のアクションに変更できます。
スライダー
WAF は、スライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトで 30 分) 許可します。それ以外の場合、リクエストはブロックされます。
厳密なスライダー
WAF は、スライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、現在のリクエストは許可されます。それ以外の場合、リクエストはブロックされます。このモードでは、クライアントはルールに一致するすべてのリクエストに対してスライダーチャレンジを完了する必要があります。
ブロック
ルールに一致するリクエストをブロックし、ブロックページをクライアントに返します。
説明WAF はデフォルトのブロックページを使用します。カスタム応答機能を使用して、カスタムブロックページを作成することもできます。
back-to-origin マーカー
カスタムヘッダーと値 (ルールタイプ、ルール ID、アプリ UMID など) を定義できます。WAF はこのヘッダーをリクエストに追加し、他のアクションを実行せずにオリジンに転送します。これにより、バックエンドのリスクコントロールシステムと連携してカスタムの処理を行うことができます。
規則的グレースケール と 有効化されるモード:詳細については、前述のセクションの カナリアルール と 有効モード の説明をご参照ください。
ポリシーの設定 セクションでは、Alibaba Cloud の経験から開発された一般的なボット署名のライブラリに基づいて、ルールは悪意のある BOT、BOT かもしれない、および良質ボットに分類されます。これらのルールに対して、次の操作を実行できます。
有効化/無効化: ステータス 列にある
アイコンをクリックして、ルールを有効化または無効化します。ルールの変更:ルールをカスタマイズするには、編集 をクリックします。
分類の変更: 悪意のある BOT および BOT かもしれない カテゴリのルールについては、デフォルトがビジネス要件を満たさない場合、BOT タイプ 列で分類を変更できます。
ルールアクションの編集
パラメーター
説明
モニター
このアクションは、ルールに一致するリクエストをブロックするのではなく、ログに記録するだけです。ルールをテストする際は、まずモニター モードを使用して WAF ログを分析し、誤検知が発生しないことを確認してから、別のアクションに変更できます。
スライダー
WAF は、スライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、WAF はそのクライアントからのすべてのリクエストを一定期間 (デフォルトで 30 分) 許可します。それ以外の場合、リクエストはブロックされます。
厳密なスライダー
WAF は、スライダー CAPTCHA ページをクライアントに返します。クライアントがスライダーチャレンジを正常に完了した場合、現在のリクエストは許可されます。それ以外の場合、リクエストはブロックされます。このモードでは、クライアントはルールに一致するすべてのリクエストに対してスライダーチャレンジを完了する必要があります。
ブロック
ルールに一致するリクエストをブロックし、ブロックページをクライアントに返します。
説明WAF はデフォルトのブロックページを使用します。カスタム応答機能を使用して、カスタムブロックページを作成することもできます。
back-to-origin マーカー
カスタムヘッダーと値 (ルールタイプ、ルール ID、アプリ UMID など) を定義できます。WAF はこのヘッダーをリクエストに追加し、他のアクションを実行せずにオリジンに転送します。これにより、バックエンドのリスクコントロールシステムと連携してカスタムの処理を行うことができます。
説明JS 検証 または スライダー が有効になっている場合、WAF はレスポンスの Set-Cookie ヘッダーに
acw_sc__v2(JavaScript 検証の場合) またはacw_sc__v3(スライダーキャプチャの場合) という名前の Cookie を設定します。クライアントは、後続のリクエストの Cookie ヘッダーにこの識別子を含めます。
ステップ3:スコープの選択
有効対象 セクションで、テンプレートを適用する保護対象オブジェクトまたは保護対象オブジェクトグループを選択し、
アイコンをクリックして 選択済み エリアに移動させ、OK をクリックします。
ステップ4:アプリSDKの統合
ボット保護機能は、SDK によって収集されたデータに大きく依存します。SDK が統合されていない場合、WAF は完全な保護を提供できません。
SDK を統合すると、クライアントのリスク特性が自動的に収集され、セキュリティ署名が生成され、ビジネスリクエストに添付されます。WAF はこの署名を使用して、リスクのあるリクエストを正確に識別し、ブロックします。
モバイルオペレーティングシステムに基づいて、「SDK 統合ガイド」に従ってアプリ SDK を統合します。
日常の O&M
テンプレートの編集
対象のテンプレートの操作列にある編集をクリックします。Editパネルでテンプレートを変更します。
テンプレートの削除
対象のテンプレートの 操作 列で 削除 をクリックします。削除 ダイアログボックスで情報を確認し、OK をクリックします。
テンプレートのコピー
対象のテンプレートの操作列で複製をクリックします。複製ダイアログボックスで、情報を確認してOKをクリックします。
テンプレートの有効化または無効化
新しいテンプレートはデフォルトで有効になっています。対象のテンプレートのステータス列にある
スイッチをクリックして、テンプレートを有効化または無効化できます。ルールの表示
対象のテンプレートの
アイコンをクリックして、そのルール情報を表示します。ルールを有効または無効にするには、ルールの ステータス 列にある
スイッチをクリックします。有効になっているルールの場合、ヒット数の傾向を表示できます。ルールのアクションタイプが JS 検証、スライダー、または 厳密なスライダー の場合、CAPTCHA のパス率も表示できます。