概要

  • 前回、下記の記事において、WafCharm で通知機能を使うためのシステム構築方法と、疑似的なCOUNT Action, BLOCK Actionでテストするための方法を紹介しました。今回は、コンソールやWAFログファイルなどを使用して COUNT/BLOCK Action の追跡する方法をご紹介します。
概要 前回、下記の記事において、WafCharm で通知機能を使うためのシステム構築方法と、疑似的なCOUNT Action, BLOCK Actionでテストするための方法を紹介しました。今回は、コンソールやWAFログファイルなどを使用して COUNT/BLOCK Action の追跡する方法をご紹介し...

COUNT Actionは”ルールアクションの上書き”で切替

  • WafCharm では、以下画面の通り、Web ACLにルールを適用する際のデフォルトアクションをBLOCK or COUNTで設定できます。しかし、AWSコンソール側では適用されたルールが”COUNT” とは表示されません。ここでは、コンソールを使ってルールに”COUNT” がちゃんと適用されているのか、どうやってアクションを切り替えるのかを説明します。

  • 先ず、WafCharmから更新されたWeb ACL ルールのアクションが”BLOCK” or “COUNT”のどちらに設定されているかを調べる方法を記載します。
  • 以下、AWSコンソールの画面です。WafCharmによって更新された、Rule groupsのルールが”Block” となっています。

  • かつ、Web ACLに適用された Rule のEdit を押し、下記 Override rules action の設定が有効な場合は、ルールのアクションである”Block”が上書きされ、動作が”Count” となります。

  • ルールのアクションを後から”Count” → “Block” に変更する場合は、上記 Override rules action の設定を無効にします。

  • ちょっと分かり辛い点をご理解いただき、適用されているアクションの確認と、切替方法を覚えておいてください。

COUNT/BLOCK Action の追跡方法

  • 次に、実際にリクエストがCOUNT Actionとして処理されたのか、BLOCK Actionとして処理されたのかを追跡する方法を記載します。
  • 以下、AWSコンソールの Web ACL, Overview の画面です。 COUNT Action として処理されたリクエストは”ALLOW”と表示され、メトリクスからカウントアクションを確認できません。

  • 対応策は、WafCharm のメール通知機能を使用して、COUNT Action として処理されたリクエストを確認します。しかし、メール通知機能を構築していない場合は分かりませんね…。そのような場合は、次に記載するWAFログファイルを使って調べます。

  • S3 に保存されたWAF ログを確認します。正常なリクエストでは、“action”:“ALLOW”かつ“excludedRules”:nullとなります。COUNT Actionとなったリクエストは、“action”:”ALLOW”かつ“excludedRules”:[{“exclusionType”:”EXCLUDED_AS_COUNT”,”ruleId”:”wafcharm-blacklist-XXXX”}] の値となり、COUNT Action として処理されたことが分かります。(”wafcharm-blacklist-XXXX”はルール名によって異なります)
  • 次は上記のCOUNT ActionをBLOCK Action に切り替えます。Web ACLよりRule のEdit を押し、Override rules action の設定を無効とします。
  • ルールの動作がBLOCK Action に変更された場合、次からのリクエストは以下の通り、ブロックされます。 403 ERROR となり、The request could not be satisfied. と表示されました。

  • BLOCK Action であれば、AWSコンソールの Web ACL, Overview の画面でもメトリクスで確認ができます。以下画面の通り、BLOCK Action として処理されたリクエストは”BLOCK”と表示されます。

  • 当然、BLOCK Action についても、WafCharm のメール通知機能で確認できます。

  • S3 に保存されたWAF ログを確認すると、BLOCK Actionとなったリクエストは、“ruleId”:”wafcharm-blacklist-XXXX”,”action”:”BLOCK”となります。(”wafcharm-blacklist-XXXX”はルール名によって異なります)

参考資料

【目次】 1. はじめに 2. ルールグループ例外機能を使用した誤検知対応の概要 3. AWS WAF Classic と new AWS WAF の個々のルール設定方法の違い 4. 特定のルールで検知させるリクエストの送信 5. ルールグループの例外機能を設定 6. Override rules action 設定後の...
このセクションでは、ウェブ ACL でルールグループを使用する方法を変更するオプションについて説明します。この情報は、すべてのルールグループタイプに適用されます。
概要 前回までは、AWS WAF + WafCharm をトライアルで導入する方法と、WafCharm レポート機能の構築方法を手順にまとめました。今回はWafCharm の通知機能を追加設定して、テスト用に投げたリクエストがブロックされること、正しくメール通知がされることまでを確認...

元記事はこちら

WafCharmの COUNT/BLOCK Actionの追跡方法