👋
WAF Rule を Count に上書きする時は RuleActionOverrides を使用しよう
既存の AWS WAF Rule を Block モードから Count モードに変更する際に、多くのドキュメントなどでは ExcludedRules
を使用するように記載がされていた。
確かにこの設定により見た目は Count モードで上書きをされているのだが、内部の処理的には以下のような挙動をしているようだった。
- 既存の Rule Set から、Rule 自体が除外される
- 画面では Override to Count と表示されているが、実態としては検知自体がされず、ログも出力されない
つまり、画面では Count と表示されているが、Count モードとして動作しない、と言うことになる。
Instead of this option, use RuleActionOverrides. It accepts any valid action setting, including Count.
公式ドキュメント(↑)には上記のような振る舞いについては記述されていないが、RuleActionOverrides
を代わりに使用するようにアナウンスはされている。
実際に動作確認を行ったが、RuleActionOverrides
を使用すると既存の設定を Count モードに上書くことができ、ログの出力も行われることを確認した。
設定については。CloudFormation で記載すると以下のようになる。
RuleActionOverrides:
- Name: NoUserAgent_HEADER
ActionToUse:
Count: {}
- Name: UserAgent_BadBots_HEADER
ActionToUse:
Count: {}
なお、ExcludedRules の設定を行う場合は以下のようになる。
ExcludedRules:
- Name: NoUserAgent_HEADER
- Name: UserAgent_BadBots_HEADER
Discussion