【目次】

  1. 1. はじめに
  2. 2. Top Insightsについて
  3. 3. その他のダッシュボード機能
  4. 4. WafCharmとの利用について
  5. 5. おわりに

1. はじめに

AWS WAFのTraffic overviewダッシュボードにTop Insightsというセクションが追加されました。

Top InsightsはWAFログをCloudWatch Logsに出力している場合に、URIやIPアドレスといったWAFログ内の情報をTraffic overviewダッシュボード上で閲覧できるような機能です。

以下のAWS公式ドキュメント(日本語訳版)に「上位のセキュリティインサイト」という名前で情報が記載されています。
ウェブ ACL トラフィック概要ダッシュボード

2. Top Insightsについて

Top Insightsは、AWS WAFがCloudWatch Logsに対してクエリーを実行し、以下の情報を取得します。

  • URI
  • HTTPメソッド
  • クライアントIPアドレス
  • User-Agent
  • マッチしたルールによって付与されたラベルの値
  • アタッチされたリソース

上記はいずれもWAFログに記載されている情報です。以前は適用されたアクションや上位10位の検知したルール・国といった情報のみの記載でしたが、Top InsightsによりどういったURIへのアクセスが多いのかといったことや、リクエスト元のIPアドレスやUser-Agentなどを簡単に閲覧できるようになっています。

1つのWeb ACLにアタッチしているリソースが複数ある場合、「Associated resources」の箇所にどのリソースに対してどのくらいのリクエストが発生したのかといったこともぱっと見で判断しやすくなりそうです。

注意点として、WAFログの出力先がS3バケットあるいはData Firehoseになっている場合、Top Insightsのパネル自体が表示されません。Top Insightsがどのように見えるか確認したい場合も、まずはCloudWatch LogsへのWAFログ出力を有効にする必要があります。
CloudWatch Logsを有効にすると、「Top insights is now available!」といったメッセージが画面上に表示されます。

3. その他のダッシュボード機能

CloudWatch Logsに出力したWAFログは、以下のブログ記事に記載しているような方法や、ダッシュボード機能でも閲覧・解析可能です。

Amazon CloudWatch Logs による AWS WAF ログの解析(WafCharmルール版)
CloudWatchでAWS WAFのダッシュボードを作成する方法
CloudWatchからOpenSearchダッシュボードを作成できるようになりました

ダッシュボードに相当する画面が複数存在するような形となりますが、より詳細な情報を視覚的に閲覧したい場合には、上記のブログ記事でご紹介しているようなCloudWatch DashboardsやOpenSearchを使用した方が良いかもしれません。

4. WafCharmとの利用について

WafCharmではWAFログ連携機能をご提供しておりますが、CloudWatch Logsには対応しておりません。
そのため、WafCharmのWAFログ連携機能とTraffic oveviewダッシュボードのTop Insightsを併用するといったことはできかねてしまいます。

5. おわりに

CloudWatch LogsにWAFログを出力することで、AWSサービスのさまざまな機能でダッシュボードの作成や簡易的な情報の閲覧が可能になっています。

すでにCloudWatch LogsにWAFログを出力している場合には、追加の設定などなくAWS WAF上で情報を閲覧できる点がメリットかと思います。
ただし、上記の通りTop InsightsはCloudWatch Logsに対してクエリーを実行するため、その部分については追加コストが発生する点には注意が必要かもしれません。