タダです.
AWS WAF のマネージドルールを運用していると,これまではブロックされなかったアクセスがブロックされる経験があります.その中にはアクセスを通したいリクエストもあったりするのですが,ルールを緩めずにアクセスを通したいと思い,スコープダウンステートメントを使う機会があったのでこの記事でやったことをまとめます.
スコープダウンステートメントとは
スコープダウンステートメントはルールが評価するリクエストのスコープを絞れます.今回はマネージドルールにブロックされたリクエストの中でも特定の IP アドレスからのリクエストは通したいと思い,使ってみました.
マネージドルールグループステートメント – スコープダウンステートメントをマネージドルールグループステートメントに追加すると、スコープダウンステートメントと一致しないすべてのリクエストは、ルールグループと一致しません。スコープダウンステートメントに一致するリクエストのみがルールグループに対して評価されます。
スコープダウンステートメントの設定
対象の AWS WAF WebACL のマネージドルールにチェックを入れて,Editします.Scope-down statement セクションまで移動し,Enable scope-down statementを有効化後 If a request doesn't match the statement(NOT) を選びます.これで特定の条件下のリクエストはルールに評価されなくなります.つまり今回の場合,ブロックされたリクエストがマネージドルールに評価されず,AWS WAF を通過するようになります.次に,特定の条件を定めていきますが,今回は特定の IP アドレスからのリクエストを許可したいので,Inspect は Originates from an IP address in に,IP Set でリクエストを許可したい IP アドレス郡を選択します.最後に,IP address to use as the originating address で Source IP address を選べば設定完了です.

この設定を行ったことで特定の IP アドレスのリクエストだけリクエストがブロックされずに通るようになりました.
まとめ
AWS WAF のスコープダウンステートメントを初めて使ったので設定をまとめました.この機能を使うまではルールを緩めることを検討していましたが,今回の経験でこの機能も考えてみる価値あると感じました.