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

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

AWS WAF Bot Control のテストとデプロイ

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

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

注記

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

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

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

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

Bot Control の実装を設定およびテストするには

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

  1. Bot Control マネージドルールグループを追加する
    注記

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

    マネージド AWS ルールグループAWSManagedRulesBotControlRuleSetを新規または既存のウェブ ACL に追加し、現在のウェブ ACL の動作を変更しないように設定します。

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

      • [Inspection level] (検査レベル) ペインで、使用する検査レベルを選択します。

        • 共通 – ウェブスクレイピングフレームワーク、検索エンジン、自動ブラウザなど、さまざまな自己識別ボットを検出します。このレベルの Bot Control 保護は、静的リクエストデータ分析など、従来のボット検出技術を使用して一般的なボットを識別します。ルールはこれらのボットからのトラフィックにラベルを付け、検証できないものはブロックします。

        • ターゲットを絞った – 一般的な保護機能に加え、自己識別を行わない高度なボットに対するターゲットを絞った検出機能も追加されています。ターゲットを絞った保護は、レート制限と CAPTCHA およびバックグラウンドブラウザのチャレンジの組み合わせを使用してボットアクティビティを軽減します。

          • TGT_ – ターゲットを絞った保護を提供するルールには、TGT_ で始まる名前が付いています。すべてのターゲットを絞った保護では、ブラウザ調査、フィンガープリント、行動ヒューリスティックなどの検出技術を使用して不正なボットトラフィックを識別します。

          • TGT_ML_ – 機械学習を使用するターゲットを絞った保護のルールには、TGT_ML_ で始まる名前が付いています。これらのルールは、ウェブサイトトラフィック統計の自動機械学習分析を使用して、分散された調整されたボットアクティビティを示す異常な動作を検出します。 は、タイムスタンプ、ブラウザの特性、以前にアクセスした URL などのウェブサイトトラフィックに関する統計 AWS WAF を分析し、Bot Control 機械学習モデルを改善します。機械学習機能はデフォルトで有効になっていますが、ルールグループ設定で無効にすることができます。機械学習が無効になっている場合、 AWS WAF はこれらのルールを評価しません。

        この選択の詳細については、「AWS WAF Bot Control ルールグループ」を参照してください。

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

        このオーバーライドにより、Bot Control ルールがトラフィックに与える潜在的な影響をモニタリングでき、内部のユースケースや目的のボットなどの例外を追加するかどうか判断します。

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

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

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

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

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

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

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

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

    注記

    Bot Control マネージドルールグループは、 AWS WAFからの IP アドレスを使用してボットを検証します。Bot Control を使用し、プロキシまたはロードバランサーを介してルーティングするボットを検証した場合は、カスタムルールを使用して明示的に許可する必要がある場合があります。カスタムルールの作成方法については、「での転送された IP アドレスの使用 AWS WAF」を参照してください。ルールを使用して Bot Control ウェブリクエストの処理をカスタマイズする方法については、次のステップを参照してください。

    ウェブリクエスト処理を詳細にレビューして、カスタム処理で軽減する必要のある誤検出があるかどうかを確認してください。誤検知の例については、「を使用した誤検出のシナリオ例 AWS WAF Bot Control」を参照してください。

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

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

    これをどのように実行するかはユースケースによって異なりますが、一般的な解決策は次のとおりです。

    • Bot Control マネージドルールグループの前に追加したルールを含むリクエストを明示的に許可します。これにより、許可されたリクエストが評価のためにルールグループに到達することはありません。これは、Bot Control マネージドルールグループの使用コストを抑えるのに役立ちます。

    • Bot Control マネージドルールグループのステートメント内のスコープダウンステートメントを追加し、Bot Control 評価からのリクエストを除外します。これは、前述のオプションと同じように機能します。スコープダウンステートメントと一致しないリクエストがルールグループの評価に到達することはないため、Bot Control マネージドルールグループの使用コストを抑えるのに役立ちます。スコープダウンステートメントの詳細については、「でのスコープダウンステートメントの使用 AWS WAF」を参照してください。

      例については、以下を参照してください。

    • リクエスト処理に Bot Control ラベルを使用して、リクエストを許可またはブロックします。Bot Control マネージドルールグループの後にラベル一致ルールを追加して、ブロックするリクエストから、許可するラベル付きリクエストをブロックするリクエストを除外します。

      テスト後、関連する Bot Control ルールをカウントモードで維持し、カスタムルールでリクエストの処理に関する決定を維持します。ラベル一致ステートメントの詳細については、「ラベル一致ルールステートメント」を参照してください。

      この種類のカスタマイズの例については、以下を参照してください。

    その他の例については、「AWS WAF ボットコントロールの例」を参照してください。

  6. 必要に応じて、Bot Control マネージドルールグループ設定を有効にします

    状況によっては、一部の Bot Control ルールをカウントモードの状態で維持する、あるいは異なるアクションのオーバーライドに適用すると判断する場合があります。ルールグループ内で設定されているときに実行するルールについては、通常のルール設定を有効にします。これを行うには、ウェブ ACL のルールグループステートメントを編集し、[Rules] (ルール) ペインで変更を行います。