Amazon Web Services ブログ

AWS WAF traffic overview ダッシュボードのご紹介

このブログ記事は Senior Solutions Architect の Dmitriy Novikov と Senior Edge Specialist Solutions Architect の Harith Gaddamanugu によって書かれました。

ネットワークセキュリティオペレーターの多くの方にとって、アプリケーションの稼働時間を守ることは、ネットワークトラフィックのベースラインを設定し、不審な送信者を調査し、リスクを軽減するための最善の方法を決定するという、時間のかかる課題となっています。このプロセスを簡素化し、常にネットワークセキュリティの状態を把握することが、セキュリティオペレーションスタッフを増員することなくアプリケーションを拡張しようとしている IT 組織の目標となっています。この課題に対処するため AWS WAF でアプリケーションを保護している場合に、セキュリティ状況に関する十分な情報に基づいて意思決定ができるようにするための AWS WAF traffic overview ダッシュボードを導入しました。

この記事では新しいダッシュボードを紹介し、AWS WAF を使用してアプリケーションの全体的なセキュリティを把握して、ダッシュボードから得られる洞察に基づいて意思決定できるようにするための、いくつかのユースケースを詳しく説明します。

Traffic overview ダッシュボードの紹介

AWS WAF の Traffic overview ダッシュボードには、セキュリティ関連のメトリクスが表示されるため、分散型サービス拒否 (DDoS) イベント発生時にレートベースのルールを追加するなど、数クリックでセキュリティリスクを特定して対処できます。これらのダッシュボードには、AWS WAF がアプリケーションの Web トラフィックを評価する際に収集する Amazon CloudWatch メトリクスをほぼリアルタイムで表示することができます。

これらのダッシュボードはデフォルトで利用できるため、追加の設定は必要ありません。AWS WAF で監視する各 Web ACL について合計リクエスト数、ブロックされたリクエスト数、許可されたリクエスト数、ボットと非ボットのリクエストの割合、ボットカテゴリ、CAPTCHA 解決率、上位 10 件のマッチしたルールなどのメトリクスが表示されます。

総リクエスト数、ブロックされたリクエスト数、ブロックされた一般的な攻撃などのデフォルトメトリクスにアクセスすることも、最も重要なメトリクスと視覚化を選んでダッシュボードをカスタマイズすることもできます。

これらのダッシュボードは可視性を高め、以下のような質問に答えることができます:

  • AWS WAF で検査されたトラフィックの何%がブロックされていますか?
  • ブロックされているトラフィックの主な発信国はどこですか?
  • AWS WAF が検知して保護している攻撃は何ですか?
  • 今週のトラフィックパターンは先週と比べてどうですか?

ダッシュボードには CloudWatch との間でネイティブかつシームレスな統合が用意されており、ダッシュボードと CloudWatch を行き来しながら、より詳細なメトリクスを CloudWatch で確認することができます。また、既存の CloudWatch ウィジェットやメトリクスを Traffic overview ダッシュボードに追加し、実績のある可視性をダッシュボードに取り込むこともできます。

Traffic overview ダッシュボードの導入とともに、AWS WAF の Sampled requests は Web ACL 内のスタンドアロンタブになりました。このタブでは、AWS WAF が検査した Web リクエストのルールマッチのグラフを確認できます。さらに、リクエストサンプリングを有効にしている場合、AWS WAF が検査した Web リクエストのサンプルをテーブルビューで確認できます。

リクエストのサンプルには Web ACL のルールの条件に一致した最大 100 件のリクエストと、ルールに一致せず Web ACL のデフォルトアクションが適用されたリクエスト 100 件が含まれます。サンプル内のリクエストは、過去 3 時間以内にコンテンツへのリクエストを受信した保護リソースからのものです。

以下の図は Traffic overview ダッシュボードのレイアウトの一例を示しています。ここでは攻撃タイプ、クライアントデバイスタイプ、国別などのアクションの取れる洞察が、表示されるカテゴリごとに検査されたリクエストが分類されています。この情報と期待するトラフィックプロファイルを比較することで、さらに調査する必要があるか、すぐにトラフィックをブロックするかを判断できます。図1 の例では、Web アプリケーションがフランスからのトラフィックを想定しておらず、デスクトップ専用のアプリケーションである場合、モバイルデバイスからのフランス発信のリクエストをブロックすることを検討するかもしれません。

図1: 複数のカテゴリを示すセクションがあるダッシュボード

ユースケース1: ダッシュボードを使用してトラフィックパターンを分析する

Webトラフィックの可視化に加えて、新しいダッシュボードを使って潜在的な脅威や問題を示すパターンを分析できます。ダッシュボードのグラフやメトリクスを確認することで、さらなる調査が必要な異常なトラフィックの増加や減少を発見できます。

トップレベルの Traffic overview では、ハイレベルのトラフィックとパターンが表示されます。そこから、特定のルールやルールグループの傾向とメトリクスを確認するために Web ACL メトリクスに掘り下げることができます。ダッシュボードには許可されたリクエスト、ブロックされたリクエストなどのメトリクスが表示されます。

予想されるトラフィックパターンからの逸脱に関する通知やアラートは、イベントを探る合図となります。探索中、ダッシュボードを使ってイベントを孤立させるのではなく、より広い文脈を理解できます。これにより、セキュリティイベントや設定ミスのルールを示す異常なトレンドを検出するのが簡単になります。例えば、通常は特定の国から 1 分あたり 2,000 件のリクエストがあるサービスで、突如 1 万件のリクエストがあった場合は調査する必要があります。ダッシュボードを使用すると、さまざまな側面からトラフィックを確認できます。リクエストの増加だけでは脅威の明確な兆候とはならないかもしれませんが、予期せぬデバイスタイプなどの別の兆候があれば、フォローアップ対応を取る十分な理由となります。

次の図は Web ACL のルールによるアクションと、最も一致したルールを示しています。

図2: ウェブリクエストの多次元的なダッシュボード

このダッシュボードでは、時間経過に伴うブロックされたリクエストとアクセス許可されたリクエストのトップも表示されます。ブロックされたリクエストの異常なスパイクが、特定の IP アドレス、国、またはユーザーエージェントからのトラフィックのスパイクに対応しているかどうかを確認してください。これは、悪意のある活動またはボットトラフィックの試みを示している可能性があります。

次の図は、特定のベクターが保護されたウェブアプリケーションに対して使用されていることを示す、ルールへのマッチ件数が不相応に多いことを示しています。

図3: 最上位のルールは、攻撃のベクトルを示している可能性があります

同様に上位の許可されたリクエストを確認してください。特定のURLへのトラフィックに急増が見られた場合は、アプリケーションが適切に機能しているかどうかを調査する必要があります。

トラフィックを分析した後の次のステップ

トラフィックパターンを分析した後、検討すべき次のステップは以下の通りです。

  • 調査結果に基づいて、正常または悪意のあるトラフィックとより一致するように AWS WAF ルールを調整します。正規表現や条件を調整することで、False Positive(偽陽性)や False Negative(偽陰性)を減らすことができるかもしれません。正常なトラフィックをブロックしているルールを調整します
  • AWS WAF のロギングを設定し、専用のセキュリティ情報およびイベント管理 (SIEM)ソリューションがある場合は、異常に対する自動アラートを可能にするためにロギングを統合します
  • 既知の悪意のある IP を自動的にブロックするように AWS WAF を設定します。特定された脅威の発信元に基づいて IP ブロックリストを維持できます。さらに Amazon 脅威リサーチチームが定期的に更新する、Amazon IP レピュテーションリストのマネージドルールグループを使用できます
  • 特定のページへのトラフィックの急増が見られた場合は、不審なパターンの原因がアプリケーションの問題でないかをチェックします
  • トラフィックフローで新しい攻撃パターンを発見した場合は、それをブロックする新しいルールを追加します。次に、メトリクスを確認して、新しいルールの影響を確認します
  • DDoS 攻撃やその他の悪意のあるトラフィックのスパイクのために送信元 IP を監視します。レートベースのルールを使って、これらのスパイクを緩和するのに役立ちます
  • トラフィックフラッディングが発生した場合は、DDoS 保護付きの CloudFront を使用して、追加の保護レイヤを実装します

新しいダッシュボードにより、アプリケーションに到達するトラフィックについて貴重な洞察が得られ、トラフィック分析における推測の必要がなくなります。得られた洞察を活用して AWS WAF の保護を細かく調整し、可用性やデータが影響を受ける前に脅威をブロックできます。潜在的な脅威を検出し、保護を最適化するための情報に基づいた決定を行うために、データを定期的に分析してください。

例えば、ダッシュボードで過去のトラフィックパターンと比べて、トラフィックが発生すると予測していない国から不審な急増があった場合、Web ACL に地理的一致ルールステートメントを作成して、そのトラフィックが Web アプリケーションに到達するのを防ぐことができます。

このダッシュボードは、洞察を得るための優れたツールであり、AWS WAFマネージドルールがトラフィックを保護する方法を理解するのに役立ちます。

ユースケース2: オンボーディング中のボットトラフィックを理解し、Bot Control ルールグループを細かく調整する

AWS WAF Bot Control を使用するとスクレイパー、スキャナー、クローラー、ステータスモニター、検索エンジンなどのボットを監視、ブロック、またはレート制限できます。ルールグループのターゲットインスペクションレベルを使用すると、自己識別しないボットにチャレンジできるため、悪意のあるボットがWebサイトに対して操作することが困難になり、コストがかかります。

Traffic overview ダッシュボードの Bot Control タブでは、現在のトラフィックの内、ボットからのものがどの程度か (Bot Control を有効にしていない場合はリクエストのサンプリング、有効にしている場合は実時間の CloudWatch メトリクスに基づいて) 確認できます。

オンボーディングフェーズではこのダッシュボードを使用してトラフィックを監視し、さまざまなタイプのボットからのトラフィックがどの程度あるかを理解します。これをボット管理のカスタマイズの出発点として利用できます。例えば Bot Control ルールグループをカウントモードで有効にし、望ましいトラフィックが誤ってラベル付けされていないか確認できます。次に、「AWS WAF Bot Control の例: 特定のブロックされたボットを許可する」で説明されているように、ルールの例外を追加できます。

次の図はボットによって生成、検出されたリクエストのさまざまな次元を視覚化するウィジェットのコレクションを示しています。カテゴリとボリュームを理解することでさらにログを詳しく調査すべきか、望ましくないトラフィックはそのカテゴリをブロックするか情報に基づいた決定を下すことができます。

図4: ダッシュボード上のボット関連メトリックのコレクション

開始した後は同じダッシュボードを使って、ボットトラフィックを監視し、自己識別しない高度なボットに対するターゲット検出を追加するかどうかを評価できます。ターゲット保護ではブラウザ問い合わせ、フィンガープリンティング、行動のヒューリスティクスなどの検出手法を使用して、悪意のあるボットトラフィックを特定します。AWS WAF トークンはこれらの高度な保護に不可欠です。

AWS WAF はサイレントチャレンジや CAPTCHA パズルに正常に応答したクライアントに対して、トークンを作成、更新、暗号化します。トークンを持つクライアントが Web リクエストを送信すると暗号化されたトークンが含まれ、AWS WAF はトークンを復号化してその内容を検証します。

Bot Control ダッシュボードの「トークンステータス」ペインには、様々なトークンステータスラベルのカウントと、リクエストに適用されたルールアクションのペアが表示されます。IP token absent thresholds ペインには、トークン無しでリクエストを多数送信した IPに関するデータが表示されます。この情報を使って AWS WAF の設定を細かく調整できます。

例えば Bot Control ルールグループ内で、有効なトークンがないリクエストがルールグループの評価を終了し、Web ACL による評価が続行される可能性があります。トークンがない、またはトークンが拒否されたリクエストをブロックするには、マネージドルールグループの直後に実行されるルールを追加して、ルールグループが処理しなかったリクエストをキャプチャしてブロックできます。図5 に示す Token status ペインを参照してトークンを取得するリクエストの量を監視し、そのようなリクエストをレート制限またはブロックするかどうかを決定できます。

図5: トークンステータスではトークンを取得するリクエストの量を監視できます

CloudFront セキュリティダッシュボードとの比較

AWS WAF traffic overview ダッシュボードは、AWS WAF で保護されているリソースに到達する Web トラフィックの全体的な可視性を向上させます。一方 CloudFront セキュリティダッシュボードは、AWS WAF の可視性と制御を CloudFront ディストリビューションに直接もたらします。潜在的な脅威や問題を示す可能性のあるパターンの詳細な可視性と分析が必要な場合は、AWS WAF traffic overview ダッシュボードが最適です。アプリケーションの配信とセキュリティを一箇所で管理し、サービスコンソール間を移動することなくアプリケーションのトップセキュリティトレンド、許可および遮断されたトラフィック、ボット活動を確認したい場合は、CloudFront セキュリティダッシュボードの方が適している可能性があります。

可用性と価格設定

新しいダッシュボードは AWS WAF コンソールでトラフィックをより適切に監視できます。デフォルトで無料で利用でき、追加の設定は必要ありません。CloudWatch ロギングには別の価格モデルがあり、フルロギングを有効にしている場合は CloudWatch の料金が発生します。CloudWatch の料金の詳細についてはこちらをご覧ください。環境のニーズに合わせてダッシュボードをカスタマイズすることもできます。

結論

AWS WAF traffic overview ダッシュボードを使用すると、Web セキュリティの状況と境界保護を改善する必要があるトラフィックパターンについて、実行可能な洞察を得ることができます。

この記事では、ダッシュボードを使用して Web アプリケーションを保護する方法を学びました。トラフィックパターン分析と次の可能なステップを説明しました。さらに、ボットからのトラフィックを観察し、アプリケーションのニーズに応じてそれらに関連するアクションを実行する方法を学びました。

AWS WAF traffic overview ダッシュボードは、ほとんどのユースケースに対応し、Web トラフィックのセキュリティ可視性のデフォルトのオプションとして設計されています。もしカスタムソリューションを作成したい場合は「Deploy a dashboard for AWS WAF with minimal effort」というブログのガイダンスを参照してください。

このブログは「Introducing the AWS WAF traffic overview dashboard」と題された記事の翻訳となります。

翻訳は Senior Solutions Architect の森が担当しました。