翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS WAF におけるインテリジェントな脅威を軽減するためのベストプラクティス
インテリジェントな脅威の軽減機能の最も効果的でコスト効率性に優れた実装については、このセクションのベストプラクティスに従ってください。
-
JavaScript とモバイルアプリケーション統合 SDK を実装する – アプリケーション統合を実装して、可能な限り最も効果的な方法で ACFP、ATP、または Bot Control 機能のすべて有効にします。マネージドルールグループは、SDK が提供するトークンを使用して、セッションレベルで正規のクライアントトラフィックを望ましくないトラフィックから分離させます。アプリケーション統合 SDK は、これらのトークンが常に利用可能であることを確実にします。詳細については、以下を参照してください。
クライアントにチャレンジを実装したり、JavaScript の場合は CAPTCHA パズルがエンドユーザーに提示される方法をカスタマイズしたりするために、統合を使用します。詳細については、「でのクライアントアプリケーション統合 AWS WAF」を参照してください。
JavaScript API を使用して CAPTCHA パズルをカスタマイズし、ウェブ ACL の任意の場所で CAPTCHA ルールアクションを使用する場合は、クライアントでの AWS WAF CAPTCHA レスポンスの処理に関するガイダンスに従ってください (AWS WAF からの CAPTCHA レスポンスの処理)。このガイダンスは、ACFP マネージドルールグループや Bot Control マネージドルールグループのターゲットを絞った保護レベルなど、CAPTCHA アクションを使用するすべてのルールに適用されます。
-
ACFP、ATP、および Bot Control ルールグループに送信するリクエストを制限する – インテリジェントな脅威の軽減の AWS マネージドルールルールグループの使用には、追加料金がかかります。ACFP ルールグループは、指定したアカウント登録エンドポイントと作成エンドポイントに対するリクエストを検査します。ATP ルールグループは、指定したログインエンドポイントに対するリクエストを検査します。Bot Control ルールグループは、ウェブ ACL 評価で、到達するすべてのリクエストを検査します。
これらのルールグループの使用を減らすため、以下のアプローチを検討してください。
-
マネージドルールグループステートメント内のスコープダウンステートメントを使用して、検査からリクエストを除外します。これは、ネスト可能なステートメントならどれでも実行できます。詳細については、AWS WAF でのスコープダウンステートメントの使用 を参照してください。
-
ルールグループの前にルールを追加することで、検査からリクエストを除外します。スコープダウンステートメントで使用できないルール、およびラベル付けの後にラベルの照合が行われるような複雑な状況については、ルールグループの前に実行されるルールを追加する必要があるかもしれません。詳細については、「AWS WAF でのスコープダウンステートメントの使用」および「AWS WAF でのルールステートメントの使用」を参照してください。
-
低料金のルールを実行してからルールグループを実行します。何らかの理由でリクエストをブロックするその他の標準 AWS WAF ルールがある場合は、これらの有料ルールグループの前に実行してください。ルールとルール管理の詳細については、「AWS WAF でのルールステートメントの使用」を参照してください。
-
インテリジェントな脅威の軽減のためのマネージドルールグループを複数使用している場合は、Bot Control、ATP、ACFP の順に実行すると、コストを抑えることができます。
料金の詳細については、「AWS WAF の料金表
」を参照してください。 -
-
通常のウェブトラフィック中に Bot Control ルールグループのターゲットを絞った保護レベルを有効にする – ターゲットを絞った保護レベルのルールの一部では、通常のトラフィックパターンのベースラインを確立してからでないと、不規則なトラフィックパターンや悪意のあるトラフィックパターンに対する認識と対応が行えません。例えば、
TGT_ML_*
ルールのウォームアップには最大 24 時間かかります。攻撃を受けていないときにこれらの保護を追加し、ルールが攻撃に対して適切に対応することを期待する前に、トラフィックパターンのベースラインを確立するための猶予時間を与えます。攻撃中にこれらのルールを追加した場合、攻撃が収まった後、ベースラインを確立するまでにかかる時間は通常の 2 倍から 3 倍になります。これは、攻撃トラフィックによって歪みが生じるためです。ルールとルールのウォームアップに必要な時間に関する詳細については、「ルールの一覧」を参照してください。
-
分散型サービス拒否 (DDoS) からの保護には、Shield Advanced のアプリケーションレイヤー DDoS 自動緩和を使用する – インテリジェントな脅威の軽減ルールグループは DDoS 保護を提供しません。ACFP は、アプリケーションのサインアップページに対するアカウントの不正な作成の試みから保護します。ATP は、ログインページに対するアカウント乗っ取りの試みを防ぎます。Bot Control は、トークンとクライアントセッションに対する動的なレート制限を使用して、人間のようなアクセスパターンを実施することに重点を置いています。
アプリケーションレイヤー DDoS 自動緩和を有効にした Shield Advanced を使用すると、Shield Advanced が、ユーザーに代わってカスタム AWS WAF 緩和策を作成、評価、およびデプロイすることによって、検出された DDoS 攻撃に自動的に対応します。Shield Advanced の詳細については、「AWS Shield Advanced の概要」および「AWS Shield Advanced および AWS WAF によるアプリケーションレイヤー (レイヤー 7) の保護」を参照してください。
-
トークン処理を調整および設定する – 最高のユーザーエクスペリエンスが得られるように、ウェブ ACL のトークン処理を調整します。
-
運用コストを削減し、エンドユーザーエクスペリエンスを改善するには、トークン管理のイミュニティ時間をセキュリティ要件が許容する最大時間に調整します。これにより、CAPTCHA パズルやサイレントチャレンジの使用を最小限に抑えることができます。詳細については、AWS WAF でのタイムスタンプの有効期限とトークンのイミュニティ時間の設定 を参照してください。
-
保護されたアプリケーション間でトークン共有を有効にするには、ウェブ ACL のトークンドメインリストを設定します。詳細については、AWS WAF でのトークンドメインとドメインリストの指定 を参照してください。
-
-
任意のホスト仕様を持つリクエストを拒否する – ウェブリクエストの
Host
ヘッダーがターゲットリソースに一致することを必須とするように保護対象リソースを設定します。ホストについて、1 つの値、または特定の値セット (myExampleHost.com
およびwww.myExampleHost.com
など) を受け入れることはできますが、任意の値は受け入れないでください。 -
CloudFront ディストリビューションのオリジンである Application Load Balancer については、適切なトークン処理のために CloudFront と AWS WAF を設定する – ウェブ ACL をApplication Load Balancer に関連付け、その Application Load Balancer を CloudFront ディストリビューションのオリジンとしてデプロイする場合は、「CloudFront からの Application Load Balancers に必要な設定」を参照してください。
-
デプロイ前にテストして調整する – ウェブ ACL に変更を実装する前に、本ガイドのテストおよび調整手順に従って、期待通りの動作が得られることを確認してください。これらの有料機能を使用する場合は特に重要です。一般的なガイダンスについては、「AWS WAF 保護のテストとチューニング」を参照してください。有料マネージドルールグループ固有の情報については、「ACFP のテストとデプロイ」、「ATP のテストとデプロイ」、「AWS WAF Bot Control のテストとデプロイ」を参照してください。