

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

# アプリケーションレイヤーの防御 (BP1、BP2）
<a name="application-layer-defense-bp1-bp2"></a>

 このホワイトペーパーでこれまでに説明した手法の多くは、インフラストラクチャレイヤーDDoS攻撃がアプリケーションの可用性に与える影響を軽減するのに役立ちます。また、アプリケーションレイヤー攻撃から保護するには、悪意のあるリクエストを具体的に検出、スケールして吸収、ブロックできるアーキテクチャを実装する必要があります。ネットワークベースのDDoS緩和システムは、複雑なアプリケーションレイヤー攻撃の軽減に一般的に効果がないため、これは重要な考慮事項です。

# 悪意のあるウェブリクエストを検出してフィルタリングする (BP1、BP2）
<a name="detect-and-filter-malicious-web-requests-bp1-bp2"></a>

 アプリケーションで を実行すると AWS、Amazon CloudFront （およびそのキャッシュ機能) HTTP と Shield Advanced 自動アプリケーションレイヤー保護を活用して AWS WAF、アプリケーションレイヤーDDoS攻撃中に不要なリクエストがオリジンに到達するのを防ぐことができます。

# Amazon CloudFront
<a name="cloudfront"></a>

 Amazon CloudFront は、ウェブ以外のトラフィックがオリジンに到達するのを防ぐことで、サーバーの負荷を軽減できます。 CloudFront アプリケーションにリクエストを送信するには、完了したTCPハンドシェイクを通じて有効な IP アドレスで接続を確立する必要があります。これは偽装できません。さらに、 CloudFront は、読み取りが遅い攻撃者や書き込みが遅い攻撃者 ([Slowloris](https://en.wikipedia.org/wiki/Slowloris_(computer_security)) など) から自動的に接続を閉じることができます。

## CDN キャッシュ
<a name="cdn-caching"></a>

 CloudFront では、 AWS エッジロケーションから動的コンテンツと静的コンテンツの両方を提供できます。CDN キャッシュからプロキシキャッシュ可能なコンテンツを提供することで、キャッシュ の期間中、特定のエッジキャッシュノードからのリクエストがオリジンに到達するのを防ぐことができますTTL。有効期限が切れているがキャッシュ可能なコンテンツの[リクエストが折りたたまれ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/RequestAndResponseBehaviorCustomOrigin.html#request-custom-traffic-spikes)ると、非常に短い場合でも、そのコンテンツのリクエストフラッド中にごくわずかな数のリクエストがオリジンに到達するTTLことを意味します。さらに、[CloudFront Origin Shield ](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/origin-shield.html)などの機能を有効にすると、オリジンの負荷をさらに軽減できます。[キャッシュヒット率を向上させる](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cache-hit-ratio.html)ためにできることは、影響のあるリクエストフラッド攻撃と影響のないリクエストフラッド攻撃の違いを意味します。

# AWS WAF
<a name="aws-waf"></a>

 を使用すると AWS WAF、グローバル CloudFront ディストリビューションまたはリージョンリソースでウェブアクセスコントロールリスト (Web ACLs) を設定して、リクエスト署名に基づいてリクエストをフィルタリング、モニタリング、ブロックできます。リクエストを許可またはブロックするかどうかを決定するには、IP アドレスまたは発信国、リクエスト内の特定の文字列またはパターン、リクエストの特定部分のサイズ、悪意のあるSQLコードまたはスクリプティングの存在などの要因を考慮できます。リクエストに対してCAPTCHAパズルやサイレントクライアントセッションチャレンジを実行することもできます。

 また CloudFront 、 AWS WAF と の両方で、地理的制限を設定して、選択した国からのリクエストをブロックまたは許可することもできます。これにより、ユーザーにサービスを提供しないことが予想される地理的場所からの攻撃をブロックまたはレート制限することができます。の詳細な地理的一致ルールステートメントを使用すると AWS WAF、リージョンレベルまでアクセスを制御できます。

 [スコープダウンステートメント](https://docs.aws.amazon.com/waf/latest/developerguide/waf-rule-scope-down-statements.html)を使用して、ルールが評価するリクエストの範囲を絞り込み、[ウェブリクエストのコストを節約し](https://docs.aws.amazon.com/waf/latest/developerguide/waf-labels.html)、リクエストに一致するルールが一致結果を同じウェブ で後で評価されるルールに伝達できるようにしますACL。複数のルールで同じロジックを再利用するには、このオプションを選択します。

 レスポンスコード、ヘッダー、本文を使用して、完全なカスタムレスポンスを定義することもできます。

 悪意のあるリクエストを特定するには、ウェブサーバーログを確認するか、 AWS WAFのログ記録と sampling.By リクエストを使用して AWS WAF ログ記録を有効にすると、ウェブ によって分析されたトラフィックに関する詳細情報が得られますACL。 はログフィルタリング AWS WAF をサポートしているため、検査後にログに記録するウェブリクエストとログから破棄されるリクエストを指定できます。

 ログに記録される情報には、 が AWS リソースからリクエストを AWS WAF 受信した時間、リクエストに関する詳細情報、およびリクエストされた各ルールの一致するアクションが含まれます。

 サンプルリクエストは、過去 3 時間以内にいずれかの AWS WAF ルールに一致したリクエストに関する詳細を提供します。この情報を使用して、潜在的に悪意のあるトラフィック署名を特定し、それらのリクエストを拒否する新しいルールを作成できます。ランダムなクエリ文字列を持つ多数のリクエストが表示される場合は、アプリケーションのキャッシュに関連するクエリ文字列パラメータのみを許可してください。この手法は、オリジンに対するキャッシュの破壊攻撃を軽減するのに役立ちます。

# AWS WAF – レートベースのルール
<a name="aws-waf-rate-based-rules"></a>

 AWS では、5 分間のスライディングウィンドウで受信したHTTPリクエストの数が定義したしきい値を超えた場合に、不正なアクターの IP アドレスを自動的にブロック AWS WAF するために、レートベースのルールを使用してリクエストフラッドから保護することを強くお勧めします。問題のあるクライアント IP アドレスは、403 の禁止レスポンス (または設定されたブロックエラーレスポンス) を受け取り、リクエスト率がしきい値を下回るまでブロックされたままになります。

 レートベースのルールをレイヤー化して保護を強化し、以下を行うことをお勧めします。
+  大規模なHTTPフラッドからアプリケーションを保護するための一括レートベースのルール。
+  一括レートベースのルールよりも制限の厳しいレートURIsで特定の を保護する 1 つ以上のレートベースのルール。

 例えば、5 分間に 500 リクエストの制限がある一括レートベースのルール (スコープダウンステートメントなし) を選択し、スコープダウンステートメントを使用して、500 (5 分間に 100 リクエストまで) より低い制限の次のレートベースのルールを 1 つ以上作成できます。
+  ファイル拡張子のないリソースのリクエストがさらに保護`if NOT uri_path contains '.'`されるように、「」のようなスコープダウンステートメントで**ウェブページ**を保護します。これにより、頻繁にターゲットにされるURIパスであるホームページ (`/`) も保護されます。
+  「」のようなスコープダウンステートメントで**動的エンドポイント**を保護する`if method exactly matches 'post' (convert lowercase)` 
+  データベースに到達する、または「」のようなスコープダウンでワンタイムパスワード (OTP) を呼び出す**大量のリクエスト**を保護する`if uri_path starts_with '/login' OR uri_path starts_with '/signup' OR uri_path starts_with '/forgotpassword'`

 「ブロック」モードのレートベースは、リクエストの defense-in-depth WAFフラッドから保護するための設定の基礎であり、コスト保護リクエストを承認するための要件 AWS Shield Advanced です。以下のセクションでは、追加の defense-in-depth WAF設定について説明します。

# AWS WAF – IP の評価
<a name="aws-waf-ip-reputation"></a>

 IP アドレスの評価に基づく攻撃を防ぐには、IP マッチングを使用してルールを作成するか、 の [マネージドルール](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-list.html)を使用します AWS WAF。

 [Amazon の IP 評価リストルールグループ](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html#aws-managed-rule-groups-ip-rep-amazon)には、Amazon の内部脅威インテリジェンスに基づくルールが含まれます。これらのルールは、ボット、 AWS リソースに対する偵察の実行、またはDDoSアクティビティへの積極的な関与である IP アドレスを探します。この`AWSManagedIPDDoSList`ルールは、悪意のあるリクエストのフラッドの 90% 以上をブロックしていることが確認されています。

 [匿名 IP リストルールグループ](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups-ip-rep.html#aws-managed-rule-groups-ip-rep-anonymous)には、ビューワー ID の難読化を許可する サービスからのリクエストをブロックするルールが含まれています。これには、VPNs、プロキシ、Tor ノード、クラウドプラットフォーム ( を除く AWS) からのリクエストが含まれます。

 さらに、Security [Automations for AWS WAF](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/component-details.html) solution の IP [Lists パーサーコンポーネントを使用して、サードパーティーの IP](https://docs.aws.amazon.com/solutions/latest/security-automations-for-aws-waf/component-details.html#ip-lists-parser) 評価リストを使用することもできます。

# AWS WAF - インテリジェントな脅威の軽減
<a name="aws-waf-intelligent-threat-mitigation"></a>

 ボットネットは重大なセキュリティ上の脅威であり、スパムの送信、機密データの盗難、ランサムウェア攻撃の開始、不正クリックによる広告詐欺のコミット、分散 denial-of-service （DDoS) 攻撃の開始などの違法または有害な活動を実行するために一般的に使用されます。ボット攻撃を防ぐには、[AWS WAF Bot Control](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html) マネージドルールグループを使用します。このルールグループは、自己識別ボットにラベルを追加し、一般的に望ましいボットを検証し、高い信頼性のボット署名を検出し、自己識別しない高度なボットの検出を追加する「ターゲット」保護レベルを提供する基本的な「共通」保護レベルを提供します。

ターゲットを絞った保護では、ブラウザ調査、フィンガープリント、動作ヒューリスティックなどの高度な検出手法を使用して不正なボットトラフィックを特定し、レート制限やチャレンジルールアクションなどの緩和コントロールを適用CAPTCHAします。Targeted には、人間のようなアクセスパターンを適用し、リクエストトークンを使用して動的レート制限を適用するためのレート制限オプションも用意されています。詳細については、[AWS WAF 「Bot Control ルールグループ」を参照してください。 ](https://docs.aws.amazon.com/waf/latest/developerguide/waf-bot-control.html)アプリケーションのログインページで悪意のある乗っ取りの試みを検出および管理するには、 AWS WAF Fraud Control アカウント乗っ取り防止 (ATP) ルールグループを使用できます。ルールグループは、クライアントがアプリケーションのログインエンドポイントに送信するログイン試行を検査し、ログイン試行に対するアプリケーションの応答も検査して、成功率と失敗率を追跡します。

 アカウント作成の不正行為は、攻撃者が 1 つ以上の偽のアカウントの作成を試みるオンライン上の違法行為です。攻撃者は、プロモーションやサインアップボーナスの濫用、なりすまし、フィッシングなどのサイバー攻撃などの不正行為のために偽のアカウントを使用します。偽のアカウントの存在は、顧客からの評判に傷をつけたり、金銭的な被害を伴う不正行為のリスクを生じさせたりするものであり、ビジネスに悪影響を及ぼす可能性があります。

 Fraud Control アカウント作成の不正防止 (ACFP) AWS WAF 機能を実装することで、アカウント作成の不正試行をモニタリングおよび制御できます。 AWS WAF は、コンパニオンアプリケーション統合 `AWS ManagedRulesACFPRuleSet` を使用して AWS マネージドルール ルールグループでこの機能を提供しますSDKs。

 これらの保護の詳細については、[*AWS WAF インテリジェントな脅威の軽減 *を参照してください。](https://docs.aws.amazon.com/waf/latest/developerguide/waf-managed-protections.html)

# アプリケーションレイヤーDDoSイベントを自動的に緩和する (BP1、BP2、BP6）
<a name="automatically-mitigate-application-layer-ddos-events-bp1-bp2-bp6"></a>

 にサブスクライブしている場合は AWS Shield Advanced、[Shield Advanced 自動アプリケーション](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-automatic-app-layer-response.html)[レイヤーDDoS緩和 ](https://docs.aws.amazon.com/waf/latest/developerguide/ddos-automatic-app-layer-response.html)を有効にできます。この機能は、ユーザーに代わってレイヤー 7 DDoSイベントを軽減するためのルールを自動的に作成、評価、デプロイ AWS WAF します。

 AWS Shield Advanced は、WAFウェブ に関連付けられた保護されたリソースごとにトラフィックベースラインを確立しますACL。確立されたベースラインから大幅に逸脱したトラフィックは、潜在的なDDoSイベントとしてフラグが付けられます。イベントが検出されると、イベントを構成するウェブリクエストの署名を識別 AWS Shield Advanced しようとし、署名が特定されると、その署名でトラフィックを軽減するための AWS WAF ルールが作成されます。

 ルールが履歴ベースラインに対して評価され、安全であると判断された場合、ルールは Shield マネージドルールグループに追加され、ルールがカウントモードまたはブロックモードでデプロイされるかどうかを選択できます。Shield Advanced は、イベントが完全に沈静化されたと判断すると、 AWS WAF ルールを自動的に削除します。

# Engage SRT (Shield Advanced サブスクライバーのみ）
<a name="engage-srt-shield-advanced-subscribers-only"></a>

 さらに、Shield Advanced にサブスクライブすると、 をエンゲージ AWS SRTして、アプリケーションの可用性を損なう攻撃を軽減するためのルールを作成できます。アカウントの AWS Shield Advanced と への制限付きアクセスを許可 AWS SRTできます AWS WAF APIs。 AWS SRT はこれらにアクセスしてAPIs、明示的な認可がある場合にのみアカウントに緩和策を配置します。詳細については、このドキュメントの[サポート](support.md)「」セクションを参照してください。

 AWS Firewall Manager を使用して、組織全体で AWS Shield Advanced 保護やルールなどのセキュリティ AWS WAF ルールを一元的に設定および管理できます。 AWS Organizations 管理アカウントは、Firewall Manager ポリシーの作成が許可されている管理者アカウントを指定できます。これらのポリシーでは、リソースタイプやタグなどの条件を定義して、ルールが適用される場所を決定できます。これは、複数のアカウントがあり、保護を標準化する場合に便利です。

 以下についての詳細: 
+  AWS マネージドルール については AWS WAF、「」の[AWS マネージドルールAWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/aws-managed-rule-groups.html)「」を参照してください。
+  地理的制限を使用して CloudFront ディストリビューションへのアクセスを制限するには、[「コンテンツの地理的ディストリビューションの制限](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/georestrictions.html)」を参照してください。
+  を使用して AWS WAF、以下を参照してください。
  +  [の開始方法 AWS WAF](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started.html) 
  +  [ウェブACLトラフィック情報のログ記録](https://docs.aws.amazon.com/waf/latest/developerguide/logging.html) 
  +  [ウェブリクエストのサンプルの表示](https://docs.aws.amazon.com/waf/latest/developerguide/web-acl-testing.html#web-acl-testing-view-sample) 
+  レートベースのルールの設定については、「 の[レートベースのルールを使用してウェブサイトとサービスを保護する AWS WAF](https://aws.amazon.com/blogs/aws/protect-web-sites-services-using-rate-based-rules-for-aws-waf/)」を参照してください。
+  Firewall Manager を使用して AWS リソース全体のルールのデプロイを管理する方法については、以下を参照してください。
  +  [Firewall Manager AWS WAF ポリシー の開始方法](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms.html)。
  +  [Firewall Manager Shield Advanced ポリシー の開始](https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-fms-shield.html)方法。