[アップデート] AWS WAF のダッシュボードが新しくなったのでルールを設定して実際のリクエスト評価状況を確認してみた

2023.11.16

いわさです。

AWS WAF では Web ACL の動作状況を可視化したダッシュボードが提供されています。

これまでは次のような Overview タブのダッシュボード機能を使って、特定時間にどれだけブロックが発生していたか、どういったラベリングがされているか、あるいはサンプルリクエストを拾ってブロック検出されたリクエストの内容を確認することが出来ていました。

画像引用元:AWS WAF にて Web ACLs の overview 画面から Sampled requests を用いてログを確認しています。過去のログはどのような方法で参照できますか? | DevelopersIO

先日のアップデートで、この AWS WAF のダッシュボードが新しくなったとアナウンスがありました。

テキストよりも実際の画面を確認したほうが理解が早いだろうということで、本日は実際にダッシュボード画面を使ってみました。
この記事では変更点や機能を紹介したいと思います。

Traffic overview タブ

従来の「Overview」タブが「Traffic overview」タブに変わっており、中身が全然違うものになっています。
そして、Traffic overview タブ内にはデフォルトで All traffic タブと Bot Control タブが内包されています。

内包タブの上にはダッシュボードに対するデータのフォルター機能が提供されています。
アクションおよび日時でのフィルタリングが可能です。

All traffic タブ

実際に Web ACL を構成して、適当なリクエストをいくつかのアクセス元から送信して、カスタムルールでブロックさせたりなんなりをしてみた結果次のようなダッシュボード表示となりました。

All traffic タブには Web ACL が評価するすべての Web リクエストの統計情報が表示されています。
各タブ内にはアクションごとの検出数が統計情報としてパネル表示されいます。このパネルにトグルボタンが表示されており、こちらを使って表示データのフィルタリング状態を切り替えることも出来ます。

次はパネルで Allowed アクションを対象外にした際の挙動です。
上部のフィルター機能からも Allowd アクションが除外されていることが確認出来ますね。

アクションごとの統計数の下側にはカテゴリ別の統計情報が表示されています。
以下では Bot の検出数やクライアントデバイス、アクセス元の国の統計情報も確認が出来ます。
ちなみに、この検証時には日本と米国からリクエストをいくつか送信しています。

Bot Control タブ

Web ACL では Bot Control マネージドルールをオプションとして使うことが出来ます。
このルールを使った評価状況を Bot Control タブで確認することが可能です。

ただし、Web ACL で Bot Control マネージドルールを使っていない場合でも、サンプリングしたリクエストによる Bot Control マネージドルールを適用した場合の検出結果を確認することが可能です。
サンプルリクエストである点と、マネジメントコンソール上には表示までの遅延が発生する点が注意書きされていますが、Bot Control マネージドルールを導入していない場合でもこちらのタブを確認し、有効性を確認することが出来ます。

こちらの結果を確認し、有効性が確認出来たら実際に Bot Control マネージドルールを導入するという方法が取れそうです。

Bot Control タブでは Bot 向けの解析が可能です。
確認した際には HttpLibrary カテゴリが検出されていました。Bot Control マネジメントルールはサービス間の API アクセスでも検知されやすいので、このあたりの統計情報はチェックして是正に活かせそうです。

Bot Cotrol タブではボットのアクティビティごとのフィルターが可能です。
おそらく Bot のタイプごとにフィルタリング出来るっぽいのですが、私が試した際には Curl のみが表示されました。実際の Bot リクエストを受けての挙動も確認してみたいですね。

WAF Fraud Control マネージドルール適用時に追加のタブが表示される

デフォルトでは All Traffic と Bot Control タブのみなのですが、実は次のマネジメントルールを追加している場合のみ、追加のタブを表示することが出来ます。

Account Creation Fraud Prevention (ACFP) と Account Takeover Prevention (ATP) のマネージドルールの動作や詳細は次の記事をご確認ください。
ざっくりいうと、不正ログインや不正アカウント作成を防ぐためのルールで、どちらも追加料金の発生するオプションのマネージドルールとなっています。

これらのルールを WebACL に追加すると次のように専用タブが追加されます。

実際にリクエストをブロックしての評価が出来ていないのですが、配置されているビューを見ると次のような情報(一部抜粋)が確認可能になっているので、こちらでもマネージドルールの ATP や ACFP に特化した分析が可能になっています。これはおもしろそうですね。

  • Account Takeover Prevention (ATP)
    • Volumetric IP thresholds
    • Suspicious credentials thresholds
    • IP thresholds for failed login responses
    • Session thresholds for failed login responses
  • Account Creation Fraud Prevention (ACFP)
    • Registration page requests
    • Abnormal human interactivity
    • Phone number thresholds
    • Failed account creation response thresholds breached for IP
    • Failed account creation response thresholds breached for session

サンプルリクエストは別のタブになった

新しいダッシュボードを見ていて気がつくと思うのですが、サンプルリクエストの一覧が見当たりませんね。Traffice Overview タブからは無くなっています。

私はリクエスト内容の中身をよく確認するのでサンプルリクエストの確認機能が無いと困ります。
安心してください。この機能はなくなっていなくて、次の「Sampled requests」タブに切り出されています。

こちらを使って従来どおりのサンプルリクエストの内容確認が可能です。
各サンプルリクエストのパス部分を選択すると、これまでどおりダイアログにてヘッダーなどの詳細情報も確認出来ます。良かった。

さいごに

本日は AWS WAF のダッシュボードが新しくなったので実際にリクエストを発生させながらどのように見えるのかを確認してみました。
従来よりも色々な視点での分析ビューが追加されており、多角的な分析を行うことが出来るようになりました。
All Traffic タブでの従来どおりの汎用的な分析も強化されていますが、Bot Control や ATP/ACFP の専用タブではよりフォーカスして分析が出来るようになっていて興味深いです。