WAF適用時のCountモードについて

AITPのIMIです。
今回は小粒なトピックですが、AWS WAF V2におけるCountモードで留意しておきたい点について記載します。

AWS WAF V2の主要アクション5つ

  • Allow
    • 通信を許可
  • Block
    • 通信を遮断
  • Count
    • 通信をカウント
      ルール一致時に検知はするが「許可」も「拒否」も行わない
      このルールを適用することで事前に「どのようなリクエスト」「どのようなルールに一致」しているかを知ることができます。
  • CAPTCHA
    • AWS WAF V2独自のCAPTCHAを実行
  • Challenge
    • サイレントチャレンジアクションを実施

それぞれのルールの詳細については、また別記事で解説したいと思います。

Countモードは非終了アクション

Countモードにおける理解しておくべき点とは、Countモード「非終了アクションである」という点です。

非終了アクションとは、Countモードを検知した後もルール評価が継続するという事になります。
なお、AllowBlock終了アクションです。

WAFにおけるルール評価の流れ

  • Whitelist Rule Group A(Allow アクション)
  • Count Rule Group A(Count アクション)
  • Blacklist Rule Group A(Block アクション)
  • Count Rule Group B(Count アクション)

上記のようなWAFルールグループであった場合を考えます。
WAFルールグループは上から下に評価が継続します。

各ルールグループには、ヘッダやIP、リクエストパラメーターなど様々な条件を設定することが可能です。

例えば社内IPやVPNなど、最優先で通信を許可したいようなルールはできるだけ上位(上記で言えば、Whitelist Rule Group A)に設定するのが良いでしょう。

そして仮に、192.168.0.1 というIPをCount Rule Group ABlacklist Rule Group AのどちらのリストにもIP指定条件として追加し、実際にそのIPからの通信があった場合の評価フローを考えてみます。

  • Whitelist Rule Group A
    • ルールに合致しない為、次のルール評価に移ります。
  • Count Rule Group(Count アクション)
    • ルールに合致する為、Countアクション としてこのルール評価が実施された記録が残ります。
      そして、Countは「非終了アクション」である為、次のルール評価に移ります。
  • Blacklist Rule Group A(Block アクション)
    • ルールに合致する為、Blockアクションが実施され通信が遮断されます。
      また、Blockアクションは終了アクションである為、以降のルール評価は行われません。

このような挙動が、Countモードの特徴です。

実際のWAF適用においては、Countモードでしばらく経過を観察し、不必要な誤検知やブロックをしてしまっていないかを把握するということが重要と言えそうです。

以上、WAFのCountモードについてでした。

関連するタグ