ACFP のテストとデプロイ - AWS WAF, AWS Firewall Managerおよび AWS Shield Advanced

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ACFP のテストとデプロイ

このセクションでは、サイトの AWS WAF Fraud Control Account Creation Fraud Prevention (ACFP) 実装を設定およびテストするための一般的なガイダンスを提供します。実行する具体的なステップは、ニーズ、リソース、および受け取るウェブリクエストによって異なります。

この情報は、のテストとチューニング AWS WAF 保護 で提供されているテストおよび調整に関する一般情報とは別です。

注記

AWS マネージドルールは、一般的なウェブ脅威から保護するように設計されています。ドキュメントに従って使用すると、 AWS マネージドルールのルールグループはアプリケーションに別のセキュリティレイヤーを追加します。ただし、 AWS マネージドルールのルールグループは、選択した AWS リソースによって決定されるセキュリティ責任に代わるものではありません。の責任共有モデルを参照して、 のリソースが適切に保護 AWS されていることを確認してください。

本番稼働トラフィックのリスク

本番稼働トラフィックに ACFP 実装をデプロイする前に、トラフィックへの潜在的な影響に慣れるまで、ステージング環境またはテスト環境でテストおよびチューニングします。その後、ルールを有効にする前に、本番稼働用トラフィックでカウントモードでルールをテストしてチューニングします。

AWS WAF は、ACFP 設定の検証に使用できるテスト認証情報を提供します。次の手順では、ACFP マネージドルールグループを使用するようにテストウェブ ACL を設定し、ルールグループによって追加されたラベルをキャプチャするルールを設定してから、これらのテスト認証情報を使用してアカウント作成の試みを実行します。Amazon CloudWatch メトリクスをチェックしてアカウント作成の試行をウェブ ACL が適切に管理していることを確認します。

このガイダンスは、 AWS WAF ウェブ ACL、ルール、およびルールグループを作成および管理する方法を一般的に認識しているユーザーを対象としています。これらのトピックは、このガイドの前のセクションでカバーされています。

Fraud Control Account Creation AWS WAF Fraud Prevention (ACFP) の実装を設定してテストするには

これらのステップを最初にテスト環境で実行し、次に本番環境で実行します。

  1. AWS WAF Fraud Control Account Creation Fraud Prevention (ACFP) マネージドルールグループをカウントモードに追加する
    注記

    このマネージドルールグループを使用する場合、追加料金が請求されます。詳細については、「AWS WAF の料金」を参照してください。

    AWS マネージドルールのルールグループAWSManagedRulesACFPRuleSetを新規または既存のウェブ ACL に追加し、現在のウェブ ACL の動作を変更しないように設定します。このルールグループのルールとラベルの詳細については、「AWS WAF Fraud Control アカウント作成の不正防止 (ACFP) ルールグループ」を参照してください。

    • マネージドルールグループを追加する際には、それを編集し、次の手順を実行します。

      • [ルールグループを設定] ペインで、アプリケーションのアカウント登録ページと作成ページの詳細を入力します。ACFP ルールグループは、この情報を使用してサインインアクティビティをモニタリングします。詳細については、「ACFP マネージドルールグループをウェブに追加する ACL」を参照してください。

      • [Rules] (ルール) ペインで、[Override all rule actions] (すべてのルールアクションをオーバーライド) ドロップダウンを開いて、[Count] を選択します。この設定では、 AWS WAF は、ルールグループ内のすべてのルールに対してリクエストを評価し、その結果の一致のみをカウントしつつ、引き続きリクエストにラベルを追加します。詳細については、「ルールグループ内のルールアクションのオーバーライド」を参照してください。

        このオーバーライドにより、ACFP マネージドルールの影響をモニタリングして、例外 (内部のユースケースの例外など) を追加するかどうか判断できます。

    • ウェブ ACL の既存のルールの後に評価されるように、ルールグループを配置します。優先順位の設定の数値は、既に使用しているルールまたはルールグループよりも高くなります。詳細については、「ウェブでのルール優先度の設定 ACL」を参照してください。

      これにより、現在のトラフィックの処理が中断されることはありません。例えば、SQL インジェクションやクロスサイトスクリプティングなどの悪意のあるトラフィックを検出するルールがある場合、そのルールは引き続き検出し、それをログに記録します。または、既知の悪意のないトラフィックを許可するルールがある場合、ACFP マネージドルールグループによってブロックされるようにすることなく、そのトラフィックを許可し続けることができます。テストおよびチューニングのアクティビティ中に、処理順序を調整することもできます。

  2. アプリケーション統合 SDK を実装する

    AWS WAF JavaScript SDK をブラウザのアカウント登録パスとアカウント作成パスに統合します。 は、iOS デバイスと Android デバイスを統合するモバイル SDKs AWS WAF も提供します。統合 SDK の詳細については、「でのクライアントアプリケーション統合の使用 AWS WAF」を参照してください。このレコメンデーションについては、「SDKs とのアプリケーション統合の使用 ACFP」を参照してください。

    注記

    アプリケーション統合 SDK を使用できない場合は、ウェブ ACL で ACFP ルールグループを編集し、AllRequests ルールに設定したオーバーライドを削除することで、その ACFP ルールグループをテストできます。これにより、ルールの Challenge アクションの設定が有効になり、有効なチャレンジトークンが確実にリクエストに含まれるようになります。

    これは最初にテスト環境で実行し、その後に本番環境で細心の注意を払って実行してください。このアプローチは、ユーザーをブロックする可能性があります。例えば、登録ページのパスが GET テキスト/HTML リクエストを受け入れない場合、このルール設定は、登録ページですべてのリクエストを効果的にブロックできます。

  3. ウェブ ACL のログ記録とメトリクスを有効にする

    必要に応じて、ウェブ ACL のログ記録、Amazon Security Lake データ収集、リクエストサンプリング、および Amazon CloudWatch メトリクスを設定します。これらの可視化ツールを使用して ACFP マネージドルールグループとトラフィックとのインタラクションをモニタリングできます。

  4. ウェブ ACL をリソースに関連付ける

    ウェブ ACL がテストリソースに関連付けられていない場合は、関連付けます。詳細については、「ACL ウェブと の関連付けまたは関連付け解除 AWS リソース」を参照してください。

  5. トラフィックと ACFP ルールの一致をモニタリングする

    通常のトラフィックがフローしていることと、ACFP マネージドルールグループのルールが一致するウェブリクエストにラベルを追加していることを確認します。ログにラベルが表示され、Amazon メトリクスに ACFP とラベルの CloudWatch メトリクスが表示されます。ログでは、ルールグループでカウントするようにオーバーライドしたルールが、カウントに設定された action と、オーバーライドした設定済のルールアクションを示す overriddenAction とともに、ruleGroupList に表示されます。

  6. ルールグループの認証情報チェック機能をテストする

    テスト用の侵害された認証情報を使用してアカウント作成を試行し、ルールグループが想定どおりに照合することを確認します。

    1. 保護されたリソースのアカウント登録ページにアクセスし、新しいアカウントの追加を試みます。次の AWS WAF テスト認証情報ペアを使用して、任意のテストを入力します。

      • ユーザー: WAF_TEST_CREDENTIAL@wafexample.com

      • パスワード: WAF_TEST_CREDENTIAL_PASSWORD

      これらのテスト認証情報は侵害された認証情報として分類され、ACFP マネージドルールグループはアカウント作成リクエストに awswaf:managed:aws:acfp:signal:credential_compromised ラベル (ログでの確認が可能) を追加します。

    2. ウェブ ACL ログで、テストアカウント作成リクエストのログエントリの labels フィールドで awswaf:managed:aws:acfp:signal:credential_compromised ラベルを探します。ログ作成の詳細については、「ログ記録 AWS WAF ウェブACLトラフィック」を参照してください。

    侵害された認証情報をルールグループが想定どおりにキャプチャすることを検証したら、保護されたリソースに必要な実装を設定するステップを実行できます。

  7. CloudFront ディストリビューションの場合、ルールグループの一括アカウント作成試行の管理をテストします。

    ACFP ルールグループに設定したレスポンスの成功基準それぞれに対してこのテストを実行します。テストとテストの間は 30 分以上あけてください。

    1. 成功基準ごとに、レスポンス内のその成功基準で成功するアカウント作成の試みを特定します。その後、単一のクライアントセッションから、30 分未満で少なくとも 5 回のアカウント作成の正常な試みを実行します。通常、ユーザーはサイトでアカウントを 1 つだけ作成します。

      最初のアカウント作成が成功した後、VolumetricSessionSuccessfulResponse ルールは他のアカウント作成レスポンスとの照合を開始し、ルールアクションのオーバーライドに基づいてそれらにラベル付けをしてカウントします。レイテンシーにより、ルールで最初の 1 回または 2 回が見逃される可能性があります。

    2. ウェブ ACL ログで、テストアカウント作成ウェブリクエストのログエントリの labels フィールドで awswaf:managed:aws:acfp:aggregate:volumetric:session:successful_creation_response:high ラベルを探します。ログ作成の詳細については、「ログ記録 AWS WAF ウェブACLトラフィック」を参照してください。

    これらのテストは、ルールによって集計された成功数がルールのしきい値を超えていることを確認することで、成功基準がレスポンスと一致していることを検証します。しきい値に達した後も同じセッションからアカウント作成リクエストを送信し続けると、成功率がしきい値を下回るまでルールによる一致が継続されます。しきい値を超えている間、ルールはセッションアドレスからの正常なアカウント作成の試みと失敗したアカウント作成の試みの両方に一致させます。

  8. ACFP ウェブリクエストの処理をカスタマイズする

    必要に応じて、リクエストを明示的に許可またはブロックする独自のルールを追加して、ACFP ルールがそのリクエストを処理する方法を変更します。

    例えば、ACFP ラベルを使用して、リクエストを許可またはブロックしたり、リクエスト処理をカスタマイズしたりできます。ACFP マネージドルールグループの後にラベル一致ルールを追加して、適用する処理のためにラベル付きリクエストをフィルタリングできます。テスト後、関連する ACFP ルールをカウントモードで維持し、カスタムルールでリクエストの処理に関する決定を維持します。例については、ACFP の例: 侵害された認証情報についてのカスタムレスポンスを参照してください。

  9. テストルールを削除し、ACFP マネージドルールグループ設定を有効にする

    状況によっては、一部の ACFP ルールをカウントモードのままにすると判断していた可能性もあります。ルールグループ内で設定したとおりに実行するルールについては、ウェブ ACL ルールグループ設定でカウントモードを無効にします。テストが終了したら、テストラベル一致ルールを削除することもできます。

  10. モニタリングおよびチューニング

    ウェブリクエストが希望どおりに処理されていることを確認するには、使用することを希望する ACFP 機能を有効にした後、トラフィックを注意深くモニタリングします。ルールグループに対するルールカウントの上書きと独自のルールを使用して、必要に応じて動作を調整します。

ACFP ルールグループの実装のテストが完了したら、ブラウザのアカウント登録ページとアカウント作成ページに AWS WAF JavaScript SDK をまだ統合していない場合は、統合することを強くお勧めします。 には、iOS デバイスと Android デバイスを統合するモバイル SDKs AWS WAF も用意されています。統合 SDK の詳細については、「でのクライアントアプリケーション統合の使用 AWS WAF」を参照してください。このレコメンデーションについては、「SDKs とのアプリケーション統合の使用 ACFP」を参照してください。