目次

安価で導入しやすいAWS WAFの運用課題の解決方法をご紹介

1. はじめに

2021年11月15日 PTD に AWS WAF のドキュメントにアップデートがあり、 CloudWatch Logs と S3 へ直接ログ出力できる設定が可能になりました。

これまでは Kinesis DataFirehose を利用したログの出力のみが選択可能でした。
Kinesis DataFirehose はほぼリアルタイムにストリーミングデータをデータストアや分析ツールにロードすることができるものとなります。

AWS WAF Full Log を S3 に出力する

WafCharm をご利用のお客様は、WafCharmの「レポート機能/通知機能」を利用するために設定された方も多いかと思います。

今回は Kinesis DataFirehose 以外の設定方法と Wafcharm での対応状況を解説していきます。

2.CloudWatch Logsへの設定

設定をしたい Web ACL を開き「Logging and metrics」を選択します。

auto
 

Logging の項目の「Enable」を選択します。

auto

CloudWatch Logs log group を選択し、「Create new」を選択します。

auto

CloudWatch のロググループの作成画面が表示されますのでロググループ名を入力します。
ロググループ名には制約があり、「aws-waf-logs-」で始まる必要があります。

auto

ロギングの編集画面に戻り、作成したロググループを選択して保存すれば設定は完了です。

auto

CloudWatch Log Insights でクエリを実行して結果を表示することも可能です。

auto

検索結果からログが取得できていることが確認できました。

auto

3. S3 への設定

設定をしたい Web ACL を開き「Logging and metrics」を選択します。

auto

Logging の項目の「Enable」を選択します。

auto

S3 bucket を選択し、「Create new」を選択します。

auto

バケットの作成画面が表示されますのでバケット名を入力します。
バケット名には制約があり、「aws-waf-logs-」で始まる必要があります。

auto

ロギングの編集画面に戻り、作成したバケットを選択して保存すれば設定は完了です。

auto

S3 バケットを見ると、5分おきに出力されていることが確認できました。

auto

4.WafCharm での対応状況

WafCharm では「レポート機能/通知機能」を利用する場合に WAF ログの出力を Kinesis DataFirehose で実施いただいております。S3 に直接紐づける形式の場合、出力されるパスが我々の想定と異なるため、正常に利用できませんのでご利用いただかないようお願いいたします。

S3 に直接紐づける形式には対応予定ですので、対応が完了しましたらご案内いたします。

5.おわりに

Kinesis DataFirehose を使うほどリアルタイムでの確認は必要がなかった方には、嬉しい選択肢になるかと思います。S3 への出力も5分で行われることを考えると遅いというわけではないため、十分実用的かと思います。CloudWatch 経由でメールやチャットツールへの連携といった利用も考えられるため、より簡単かつ柔軟にログを活用できるようになったのではないかと思われます。