Amazon Web Services ブログ

CDN とセキュリティエクスペリエンスを統合した CloudFront セキュリティダッシュボードのご紹介

セキュリティの脅威がより高度化し、その脅威が広がりやすくなるにつれ、お客様はより Amazon CloudFront と AWS WAF を使用して、Web アプリケーションと API のパフォーマンス、回復性、セキュリティを向上させています。

CloudFront はコンテンツ配信ネットワーク (CDN) で、CloudFront の数百のエッジロケーションのうち、ユーザーに最も近い場所からデータを配信することで、世界中のユーザーの待ち時間を短縮します。 AWS WAF は Web アプリケーションファイアウォールで、一般的なエクスプロイトや望ましくないボットの通信トラフィックから Web アプリケーションを保護するために、悪意のあるリクエストを Web サーバーに到達する前に分析・ブロックします。 お客様は CloudFront と AWS WAF を使用してアプリケーションを保護できます。 ただし、開発者、スタートアップ、中小企業は、1)どのセキュリティ保護を有効にするのか、2)セキュリティルールを作成する方法、3)単一の IP アドレスから異常な数のリクエストが発生した時にその共通ログパターンを特定するなどの手法について、セキュリティの専門家に相談できないことがよくあります。 こうしたお客様は、CloudFront 内のシンプルで管理が容易なセキュリティを含め、アプリケーションの安全を確保する方法について追加のガイドを求めることが多いのです。

ここで、CloudFront セキュリティダッシュボードのご利用開始を発表いたします。これは AWS WAF の可視性とコントロールを CloudFront ディストリビューションに直接提供する統合エクスペリエンスです。 対話型のセキュリティダッシュボードは、可観測性、調査ツール、使い勝手の良い設定インターフェースを組み合わせたもので、簡潔で直感的で便利に使用できます。

  • サービスコンソールを行ったり来たりすることなく、アプリケーション配信とセキュリティを1か所で管理
  • アプリケーションの上位のセキュリティトレンド、許可/ブロックされたトラフィック、ボットアクティビティの可視性に優れる
  • ビジュアルログ分析機能を使用してログのクエリを実行することなく、トラフィックパターンをすばやく理解
    セキュリティルールを記述することなく、組み込みのブロックコントロールを使用してインラインでアクションを実行
  • 17種類以上のカテゴリに基づいて、許可またはブロックするボットを制御することで、望ましくないボットを防止

この投稿では、次の図に示すように、CloudFront セキュリティダッシュボードを使用してアプリケーションをセキュリティで保護するためのエンドツーエンドのワークフローについて説明します。 まず、コアセキュリティ保護を有効にし、セキュリティ推奨事項を確認して有効にし、アプリケーションを HTTP フラッドから保護する方法を学習します。 次に、組み込みレポートを使用したトラフィックのモニタ方法、ボットからの保護方法、異常なトラフィック パターンの調査方法、およびセキュリティルールの作成をすることなくインラインで軽減を適用する方法を学習します。

ディストリビューション用に AWS WAF がすでに有効になっている場合は、いずれかの CloudFront ディストリビューション 内の新しい Security タブに移動して、履歴メトリクスを含む新しいセキュリティ ダッシュボードの調査を開始します。 それ以外の場合は、この投稿の手順に従って AWS WAF のセキュリティ保護を有効にすることで、メトリクスの収集を開始できます。

特定の期間におけるセキュリティトレンドチャートを表示したスクリーンショット

図1 – CloudFront セキュリティダッシュボード

セキュリティ保護の有効化、推奨事項の確認、HTTPフラッドへの対応

アプリケーションのセキュリティを確保する最初のステップは、新規または既存のディストリビューションに対してセキュリティ保護を有効にすることです。 これらの手順に従う際、適切な場合は推奨される保護が表示されることがあります。 この投稿では、AWS WAF が有効になっているお客様も手順に従えるように、推奨事項の有効化を個別のステップとして分離しています。

  1. Amazon CloudFront コンソールを開きます。
  2. Create distribution を選択してディストリビューションを作成し、保護したいオリジンを入力します。 また、既存のディストリビューションの場合は、ディストリビューションの Security タブに移動して Edit を選択します。
  3. Web Application Firewall(WAF) セクションで、料金の見積もりを確認し、Enable security protections を選択します。
  4. 残りのディストリビューション設定を確認し、Create distribution を選択するか、既存のディストリビューションを編集している場合は Save changes を選択します。

CloudFront は、アプリケーションに推奨される AWS の標準保護機能を有効にした状態で AWS WAF を自動的に作成および構成します。 含まれているコアのセキュリティ保護機能では、Amazon の内部の脅威インテリジェンスに基づいて潜在的な脅威からの IP アドレスをブロックしたり、OWASP Top 10 で説明されている Web アプリケーションで最も一般的な脆弱性から保護したり、悪意のある者がアプリケーションの脆弱性を発見することから防御したりします。

セキュリティ推奨事項の確認と有効化

CloudFront コンソールのセキュリティタブにあるWAFセクションのスクリーンショット

図2 – 有効化されたセキュリティ保護機能

CloudFront は、該当する場合に既存構成の要素を利用して適切なセキュリティ推奨事項を提供します。セキュリティタブで Edit ボタンを選択してセキュリティフォームに移動し、ディストリビューションに追加したい推奨セキュリティルールを有効化します。次の図に示す例では、CloudFront を使用して WordPress アプリケーションを高速化および保護しています。 WordPress 専用の保護機能を有効にするために、WordPress の保護チェックボックスにチェックを入れます。

CloudFront コンソールの WAF 設定のスクリーンショット

図3 – セキュリティ構成の編集による推奨機能の有効化

さらに、HTTP フラッディングなどのボリューム攻撃からアプリケーションを保護するために、推奨されるレート制限ルールを使用することをお勧めします。前の図を参考にレート制限のチェックボックスに単純にチェックを入れるだけで、こうした攻撃を緩和できます。 レートは各アプリケーション固有のものであるため、CloudFront がアプリケーションの適切なレートを設定および微調整して、これらの攻撃を軽減するのに役立ちます。 有効化後、レート制限はブロックせずにモニターモードでメトリクスをキャプチャします。

レート制限ルールのメトリクスは、次の図に示す Security – Web Application Firewall (WAF) コンテナーのレート制限セクションで確認できます。 レートを超えた場合、Monitor mode – rate exceeded のテキストを選択すると、レートがどのくらい頻繁に超過したかが表示されます。 また、必要に応じてレートを調整し、準備ができたらブロッキングを有効にすることもできます。

マウスオーバーでポップアップするレートリミットルール

図4 – 上位のレート超過リクエスト

アプリケーションのセキュリティを監視および改善する

CloudFront のセキュリティダッシュボードは、セキュリティトレンド、ボットリクエスト、リクエストログの 3 つの可視化セクションに分かれています。 セキュリティトレンドセクションでは、トラフィックの概要を一目で確認できます。 総トラフィック、許可/ブロックトラフィックの比率、攻撃タイプ、クライアントの場所などの変化をすばやく把握できます。 特定の国からのトラフィックをブロックしたい場合は、次の図にあるようにその国をマウスオーバー表示してトグルをブロックに設定することができます。

特定の期間におけるセキュリティトレンド。マウスオーバーでトップ国とブロックオプションを表示

図5 – 上位の攻撃タイプと発信元の国

ボットのコントロール

2番目のセクションのボットリクエストでは、アプリケーションにアクセスしているボットに関する情報が表示されます。 ボット保護が無効な場合、このセクションは、リクエストサンプリングに基づいて、トラフィックのどれだけがボットから来ているかを示します(次の図を参照)。

ボット保護が無効化時にボットカテゴリごとのサンプルカウントを表示したスクリーンショット

図6 – サンプリングされたボットトラフィックの概要

AWS WAF の Bot Control を有効にすることで、ボット保護を選択できます。これは、自己識別ボットにラベルを付け、一般的な望ましいボットかを検証し、高信頼度のボットシグネチャを検出する共通の保護レベルを提供します。これにより、リクエストサンプリングではなく、実際のリクエストに基づいて、カテゴリー別に詳細なボットアクティビティを確認できます。多くのお客様は、インフラストラクチャコストを下げるためにボットをブロックすることを選択しています。

ボットトラフィックの詳細な可視性を確認し、許可またはブロックするボットを制御するには、Manage bot protection ボタンを選択し、Enable Bot Control for common bots をチェックして、Save changes をクリックします。

有効化した時のcommon botsの機能と価格を説明しているポップアップウィンドウのスクリーンショット

図7 – ボット保護を有効にする設定画面

Bot Control を有効にすると、各未検証ボットがボットカテゴリごとにどのように処理されるかを構成するオプションが表示され、詳細なメトリクスが表示されます。次の図では、未検証の非ブラウザユーザエージェント、HTTP ライブラリ、SEO ボットはモニターモードになっている一方で、リンクチェッカーとセキュリティボットはそれぞれチャレンジまたは CAPTCHA を受け取ります。 AWS によって既知の一般的で検証可能なボット(たとえば、既知の検索エンジンクローラー)は、ここで設定したアクションの対象にはなりません。 Bot Control は、これらのボットが主張するソースから来ていることを確認する検証を実行してから、検証済みとしてマークします。

特定の期間でのボットリクエストチャートとボットのカテゴリごとのリクエストのスクリーンショット

図8 – ボット保護有効時の詳細なメトリクスを確認する Bot Requests セクション

画面上で検索、フィルタリング、ログを検査する

最後に、特定のトラフィックパターンを隔離するために、ログを詳細に調査したいと考えるかもしれません。 たとえば、特定のトラフィックがどこから来ているか、最も要求されている URI パスは何かなどです。 最終セクションの Request Logs は、ログクエリを書いたり CloudFront コンソールを離れたりせずにそのような質問に答えるのが簡単になるように設計されています。

ログが有効になっていない場合は、予想されるリクエスト数に基づいて、ログを有効にする価格を見積もるために、組み込みの価格計算機を使用します。 ログを有効にするには、次の図に示すように Enable AWS WAF logs をチェックし、Enable を選択します。CloudFront は CloudWatch ロググループを作成し、CloudWatch にログを記録するように AWS WAF 設定を更新します。

概算コスト付きのリクエストログ設定のスクリーンショット

図9 – AWS WAF のログを有効化する

数分以内にログデータが流れ始めているのが見えます。 個々のリクエストに続いて、HTTP メソッド、上位 URI パス、上位 IP アドレス、上位国別の集計が視覚的に表示されます。 これにより、たとえばリクエストの異例なボリュームが単一の IP アドレスから発生している場合や、特定の URI パスを対象としている場合、またはこれまでログに表示されなかった国から発信されている場合など、すぐにパターンを視覚的に把握できます。 IP アドレス、国、ユーザエージェント、 URI パスなどの属性に基づいてリクエストをフィルタリングし、望ましくないトラフィックを特定するのに役立ちます。 特定されると、個々のリクエストまたはビジュアライゼーションを選択し、悪意のあるトラフィックを直ちにブロックするアクションを実行します。 たとえば、次の図に示すように IP アドレスをポイントしてブロックするなどです。

特定の期間におけるリクエストログとマウスオーバーで最多IPアドレス、およびそれのブロックオプションを表示しているスクリーンショット

図10 – Requests logs の表示画面

利用と価格

CloudFront セキュリティダッシュボードは、各 CloudFront ディストリビューションに追加料金なしで含まれています。 CloudFrontコンソールの任意のディストリビューションの Security タブを選択することでアクセスできます。 追加のインサイトと構成オプションは、AWS WAF コンソールで利用できます。 ダッシュボードを介して作成された Web ACL には標準の AWS WAF 料金が適用され、ダッシュボードを介してクエリされたメトリックとログには標準の CloudWatch 料金が適用されます。 インラインでのセキュリティ保護の設定中に、構成可能な価格見積もりが提供されます。 価格設定の詳細については、AWS WAF の料金CloudWatch の料金を参照してください。

CloudFront は、毎月 1 TB のデータ転送と 1,000 万 HTTP(S) リクエストを無料で提供しています。 Amazon Simple Storage Service (Amazon S3)Application Load Balancer(ALB) などのAWSオリジンをCloudFrontの背後に使用している場合、オリジンフェッチのデータ転送は無料です。 詳細については、Amazon CloudFront の料金を参照してください。

まとめ

CloudFront セキュリティダッシュボードの導入により、一般的なセキュリティ脅威からアプリケーションを保護および監視するためのシンプルで便利な方法が得られました。この投稿では、CloudFront セキュリティダッシュボードを使用してアプリケーションを確保および監視する方法を学びました。 コアのセキュリティ保護と推奨事項を有効にし、HTTP フラッドから保護し、ログで異常を視覚的に特定し、トラフィックをブロックする方法を学びました。 さらに、ボットを監視し、どのボットがアプリケーションにアクセスできるかを制御する方法を学びました。

CloudFront と AWS WAF の詳細については、CloudFront デベロッパーガイドAWS WAF デベロッパーガイドを参照してください。

この記事は、Introducing CloudFront Security Dashboard, a Unified CDN and Security Experience を翻訳したものです。
このブログの翻訳は Solutions Architect の加藤知愛が担当しました。