スキップしてコンテンツを表示

CloudFront と AWS WAF を使用してウェブアプリケーションをウェブの脅威から保護する方法を教えてください。

所要時間2分
0

Amazon CloudFront と AWS WAF を使用し、ウェブアプリケーションをウェブの脅威から保護したいと考えています。

簡単な説明

一般的なアプリケーション層への攻撃には、SQL インジェクションやクロスサイトスクリプティング (XSS) などがあります。これらの攻撃からウェブアプリケーションを保護するには、AWS WAF でCloudFront を構成し、エッジロケーションでの HTTP/HTTPS リクエストを検査します。この方法では、悪意のあるトラフィックがオリジンサーバーに到達する前にブロックできます。詳細については、「Common use cases for protecting CloudFront distributions with AWS WAF」(AWS WAF での CloudFront ディストリビューション保護の一般的なユースケース) を参照してください。

解決策

前提条件:

  • トラフィックを Amazon Elastic Compute Cloud (Amazon EC2) インスタンスまたはその他の AWS リージョンエンドポイントにルーティングする Application Load Balancer。
  • アプリケーションのコンテンツがデプロイされており、実行中である。
  • CloudFront と AWS WAF を設定するために必要なアクセス許可がある。

CloudFront を設定する

CloudFront を設定し、セキュリティシールドとして機能させるには、次の手順を実行します。

  1. CloudFront コンソールを開きます。
  2. ディストリビューションを作成します。
  3. [オリジンドメイン] フィールドにウェブサイトのアドレスを入力します。
  4. [ビューワープロトコルポリシー] で [HTTP を HTTPS にリダイレクト] を選択します。
  5. [ディストリビューションを作成] をクリックします。

注: 静的コンテンツと動的コンテンツをエッジロケーションでキャッシュすると、オリジンに到達するリクエストの数を削減できるため、コストを削減し、パフォーマンスを改善できます。

AWS WAF を設定する

AWS WAF を設定し、セキュリティガードとして機能させるには、次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. ウェブ ACL (ウェブアクセスリスト) を作成します。
  3. 目的の AWS リージョンを選択します。
  4. 名前を付けます。例: "MyWebsiteProtection"。
  5. [ルールの追加] をクリックし、[レートベースのルールを追加] を選択します。
    次のレート制限ルールを入力します。
    過剰なリクエストを送信する IP アドレスをブロックするよう設定します。例: 5 分あたり 2,000 回のリクエスト。
  6. [ルールの追加] をクリックし、[マネージドルールを追加] を選択します。
    AWS マネージドルールのコアルールセット (CRS) を追加します。CRS には、SQL インジェクションや XSS などの一般的な攻撃に対する保護が含まれています。
    注: エッジロケーションは AWS WAF ルールを適用し、悪意のあるトラフィックを、そのソースに近い場所で阻止します。
  7. [次へ] をクリックし、[ウェブ ACL の作成] を選択します。

注: コンソールの任意の場所から AWS WAF 機能にアクセスできる、最新版エクスペリエンスを使用できるようになりました。詳細については、「Getting started with AWS WAF using the updated console experience」(最新版コンソールエクスペリエンスでの AWS WAF の開始方法) を参照してください。

AWS WAF を CloudFront に接続する

AWS WAF と CloudFront を正常に連携させるには、次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. 目的のウェブ ACL を選択します。
  3. [関連する AWS リソース] をクリックします。
  4. [AWS リソースの追加] をクリックします。
  5. 目的の CloudFront ディストリビューションを選択します。
  6. [追加] をクリックします。詳細については、「Using AWS WAF with Amazon CloudFront」(Amazon CloudFront で AWS WAF を使用する) を参照してください。

モニタリングを設定する

注: 標準ログを有効にするには、プロプランまたは従量課金制プランを使用する必要があります。詳細については、「Amazon CloudFront の料金」を参照してください。CloudWatch は無料利用枠を提供していますが、無料利用枠の制限を超えた場合、料金が発生します。詳細については、「Amazon CloudWatch 料金表」を参照してください。

CloudFront でモニタリングを設定するには、次の手順を実行します。

  1. CloudFront コンソールを開きます。
  2. 目的のディストリビューションを選択します。
  3. [ログ] に移動します。
  4. [標準ログ記録] を有効にします。

AWS WAF でモニタリングを設定するには、次の手順を実行します。

  1. AWS WAF コンソールを開きます。
  2. 目的のウェブ ACL を開きます。
  3. [ログ記録とメトリクス] をクリックします。
  4. ログ記録を有効にします。詳細については、「CloudFront とエッジ関数のログ記録」を参照してください。

関連情報

Automating application layer DDoS mitigation with Shield Advanced (Shield Advanced を使用してアプリケーションレイヤーでの DDoS 対策を自動化する)

Accelerate and protect your websites using Amazon CloudFront and AWS WAF (Amazon CloudFront と AWS WAF を使用してウェブサイトを高速化し、保護する)

AWS公式更新しました 1年前