アプリケーション保護は、ネイティブアプリケーションに対して安全な接続とアンチボット保護を提供します。 この関数は、無効な署名を持つプロキシ、エミュレータ、およびリクエストを識別します。 このトピックでは、Anti-Bot SDKをアプリケーションに統合した後、Web application Firewall (WAF) コンソールでアプリケーション保護を構成および有効にする方法について説明します。
前提条件
WAF インスタンスを購入されました。アプリ保護が有効になっています。
Anti-Bot SDKをターゲットアプリケーションに統合しました。 詳細については、「アプリ保護の概要」をご参照ください。
手順
にログインします。WAFコンソール.
上部のナビゲーションバーで、リソースグループとWAFインスタンスが属するリージョンを選択します。 リージョンは、中国本土または中国本土以外です。
左側のナビゲーションウィンドウで、 を選択します。
[Webサイトの保護] ページの上部で、保護ルールを設定するドメイン名を選択します。
[ボット管理] タブをクリックし、[アプリ保護] セクションを見つけて、[設定] をクリックします。
説明アプリケーション保護が有効になると、すべてのサービス要求が関数によってチェックされます。 ルールに一致するリクエストがチェックをバイパスするように、ボット管理ルールを設定できます。 詳細については、「ボット管理のホワイトリストの設定」をご参照ください。
パス保護ルールを作成します。
[アプリ保護] ページで、[インターフェイス保護] セクションを見つけ、[ルールの追加] をクリックします。
表示される [ルールの追加] ダイアログボックスで、次のパラメーターを設定します。
説明テストフェーズでは、すべてのパスと一致するように、パスをスラッシュ (
/
) に設定し、マッチングをプレフィックスマッチに設定することを推奨します。 [アクション] を [モニター] に設定できます。 ターゲットドメイン名がテストドメイン名の場合、アクションを [ブロック] に設定できます。 これにより、オンラインワークロードに影響を与えずにアプリケーションをデバッグできます。パラメーター
説明
ルール名
作成するルールの名前。
パス保護設定
あなたが保護する必要があるパス。 以下のパラメータが必要です。
パス: 保護する必要があるパス。 スラッシュ (/) はすべてのパスを示します。
説明POSTリクエストの本文が8 KBを超えると、署名検証が失敗することがあります。 大きな画像のアップロードに使用されるAPI操作など、保護を必要としないAPI操作に対しては、SDK保護を無効にすることを推奨します。 API操作に対してSDK保護を有効にする必要がある場合は、ユーザー定義フィールドを使用します。
マッチング: プレフィックスマッチ、精密マッチ、正規表現マッチがサポートされています。
値をPrefix Matchに設定すると、指定されたパスの下にあるすべてのエンドポイントが一致と見なされます。 値をPrecise Matchに設定すると、指定されたパスのみが一致と見なされます。 値を正規表現一致に設定した場合、正規表現で指定されたパスは一致と見なされます。
Parameter: 保護されたパスに不変のパラメーターが含まれている場合に一致する必要があるパラメーター。 WAFはこれらのパラメーターを使用して、エンドポイントをより正確にフィルタリングできます。 パラメータは、リクエストURLの疑問符 (?) に続く部分です。
例: 保護されたURLにはドメイン名 /? が含ま
れます。 action=login&name=test
この場合、Pathをスラッシュ (/) に、MatchingをPrefix Matchに、Parameterをname、login、name=test、action=loginに設定します。保護ポリシー
使用する保護ポリシー。
Invalid Signature: このポリシーはデフォルトで選択されており、クリアできません。 システムは、指定されたパスに送信されたリクエストのシグネチャが正しいかどうかをチェックします。 署名が正しくない場合、ルールは一致します。
シミュレーター: このポリシーが選択されている場合、ユーザーがエミュレーターを使用して指定されたパスへのリクエストを開始するかどうかが確認されます。 リクエストがエミュレータから開始された場合、ルールは一致します。
プロキシ: このポリシーが選択されている場合、システムは、ユーザーがプロキシを使用して指定されたパスへのリクエストを開始するかどうかを確認します。 このオプションを選択することを推奨します。 リクエストがプロキシから開始された場合、ルールは一致します。
アクション
ルールに一致するリクエストに対して実行されるアクション。
Monitor: リクエストを記録しますが、リクエストはブロックしません。
Block: リクエストをブロックし、405 HTTPステータスコードを返します。
重要SDKの統合またはデバッグが完了する前に、本番環境で使用されるドメイン名に対してActionをBlockに設定しないでください。 そうしないと、SDKがアプリケーションに適切に統合されないため、有効なリクエストがブロックされる可能性があります。 テストフェーズでは、ActionをMonitorに設定して、ログデータに基づいてSDK統合アプリケーションをデバッグできます。
ユーザー定義フィールド
ユーザー定義フィールドが使用される場合、システムは指定されたリクエストフィールドとフィールド値に基づいてリクエスト署名を検証します。
デフォルトでは、システムはリクエスト本文に基づいて署名を検証します。 リクエストボディの長さが8 KBを超えると、検証が失敗することがあります。 この場合、署名検証用の既定のフィールドを置き換えるユーザー定義フィールドを指定できます。
[ユーザー定義フィールド] を選択した場合、[ヘッダー] 、[パラメーター] 、または [Cookie] を選択し、リクエスト署名の検証に使用するフィールドを指定します。 たとえば、Cookieを選択し、DG_ZUIDと入力します。 これにより、署名検証に使用されるフィールドとして、デフォルトのbodyフィールドがリクエストcookieのDG_ZUIDフィールドに置き換えられます。
[確認]をクリックします。
バージョン保護を有効にします。
バージョン保護を設定して、非公式アプリケーションからのリクエストをブロックできます。 この関数を使用して、アプリケーションの有効性を確認することもできます。
説明バージョン保護ポリシーは、アプリケーションの有効性を検証する必要がある場合にのみ必要です。
[アプリ保護] ページで、[バージョン保護] セクションを見つけ、[指定したバージョンリクエストを許可] をオンにします。
表示される [ルールの追加] ダイアログボックスで、次のパラメーターを設定します。
パラメーター
説明
ルール名
作成するルールの名前。
有効なバージョン
アプリケーションの有効なバージョン。
正当なパッケージ名を入力: 有効なアプリケーションパッケージの名前を入力します。たとえば、com.aliyundemo.exampleです。
パッケージ署名: パッケージ署名を取得するには、Alibaba Cloudテクニカルサポートにお問い合わせください。 このパラメーターは、パッケージ署名を検証する必要がない場合はオプションです。 この場合、システムはパッケージ名のみを検証します。
重要パッケージ署名は、アプリケーション証明書の署名ではありません。
[有効なバージョンの追加] をクリックして、有効なバージョンを追加します。 最大5つの有効なバージョンを追加できます。 パッケージ名は一意である必要があります。 現在、iOSとAndroidの両方のアプリケーションがサポートされています。 パッケージ名に合わせて複数の有効なバージョンを入力できます。
違法バージョンの処分方法
Monitor: リクエストを記録しますが、リクエストはブロックしません。
Block: リクエストをブロックし、405 HTTPステータスコードを返します。
[確認]をクリックします。
アプリケーション保護を有効にします。 [アプリ保護] セクションで、[ステータス] をオンにします。
説明保護設定が有効になるように、アプリケーション保護を有効にする前に、Anti-Bot SDKをアプリケーションに統合し、アプリケーションをデバッグし、新しいバージョンをリリースすることをお勧めします。