みなさん、こんにちは。
サニービュー事業部の小寺です。

2021年5月のAWS WAFのアップデートで、ログのフィルタリングがサポートされました。
https://aws.amazon.com/jp/about-aws/whats-new/2021/05/aws-waf-adds-support-for-log-filtering/

このアップデートにより、AWS WAFルールで 「Count」、「Block」などと判定されたログだけを保管しておくことができます。

■AWS WAFとは

AWS WAF はセキュリティに悪影響を与えるような、ウェブの脆弱性を利用した一般的な攻撃やボットから、ウェブアプリケーションまたは API を保護するウェブアプリケーションファイアウォールです。
名前の通りWAFの目的はネットワーク上のファイアウォールのようにウェブへのアクセスを定義に基づいて制御することです。
WAFでは攻撃パターンを事前に定義して、ブロックするルールや、特定のパターンを持つトラフィックを検知して取り除くようなルールを事前に定義して実行することができます。ルールの数や受け取るリクエスト数によって課金されます。

■どうやって設定するの?

1) AWS WAF コンソールにログインし、ウェブアクセスコントロールリスト (ウェブ ACL) を選択して、[logging and metrics]セクションへアクセスします。

2) すでにログが有効化されている場合は「Edit logging」をクリックします。
「Filter Logs」が確認できます!

3)「Add Filter」をクリックします。

4)フィルタリング対象の設定をします。

Condition Type:「Rule action on request」か「Request has label」を選びます。
Condition Value: Condition Typeで「Rule action on request」を選んだ場合、「Allow」、「Block」、「Count」から選ぶことができます。
Condition Typeで「Request has label」を選ぶのは、WAF ルールがリクエストに一致したときに、ウェブリクエストに説明ラベルを追加するように WAF にラベルをつけているケースです。ラベルが設定されていれば、任意のラベル名でフィルタリングができます。

フィルターの条件にマッチしなかった場合のデフォルトのログ保管設定は、「ログにそのまま保管(Keep in logs)」、「ログから削除(Drop from logs)」を選ぶことができます。

今回、デフォルトは記録対象外「Count」、「Block」と判定されたログのみを保管する設定を試してみました。

■今回のアップデートでうれしいこと

今回リリースされたフィルタ機能を利用する事で、ログのボリュームが減らせ、確認したいログのみを見ることができるようになりました。

特にWAFルールでなぜか特定のユーザだけBlockされてしまう・・。そんなケースはよくあるのではないでしょうか?
調査対応のために、Blockでフィルタをし、ログ保管して、後で確認できるようにすると便利ですよね。

■まとめ

いかがでしたでしょうか。
ログのフィルタ機能については、社内でも活用していきたいです。

SunnyCloudでは、AWSの利用料金がお得になるAWSリセール(請求代行)サービスやAWS構築、移行などの各種ソリューションを提供しています。

▼「無料相談」受付中です。
https://www.sunnycloud.jp/contact-us/