【目次】

  1. 1. はじめに
  2. 2. WAFログ検索機能とは
  3. 3. ルール名からリクエストの詳細を確認する
  4. 4. ラベルからリクエストの詳細を確認する
  5. 5. 国コードからリクエストの詳細を確認する
  6. 6. おわりに

1. はじめに

WafCharmでは、WAFログを連携いただくことでWafCharmコンソールからWAFログの検索を行える機能のご提供をしております。

本記事では、WAFログ検索機能で特定のWAFログを検索する際のユースケースをご紹介します。

2. WAFログ検索機能とは

WAFログ検索機能は、特定のリクエストの詳細を閲覧したい場合に便利な機能です。

集計結果などを表示する目的の機能ではないため、全体像や検知数などの把握、傾向の確認よりは、リクエスト1つ1つに焦点を当てたいときにご活用いただくことを想定しています。
本機能の詳細については、以下のヘルプページもご参考ください。
WAFログ検索機能について | WAFログ連携によってご提供可能な機能について

WAFログ連携機能をご利用いただくためには、新方式でのWAFログ連携を有効化する必要があります。
Advanced Ruleポリシーをご利用の場合には、AWS WAF v2 AdvancedでのWAFログ連携(新方式)の設定方法 に設定方法を記載しております。
Legacy Ruleポリシーをご利用の場合には、AWS WAF v2 Legacyでのアクセスログ・WAFログ連携の設定方法 に記載の方法で設定いただけます。
なお、上記ヘルプページにも記載の通り、旧プランにてご契約されている場合、新方式の有効化を行うためにはWAF ConfigごとのWAFログ出力先詳細を添えてWafCharmサポートまでご連絡いただく必要がございます。

また、ご利用いただく際の注意点として、WafCharmアカウント全体で、閲覧可能なWAFログの件数に制限がございます。対象のWAFログが検索可能範囲外にある場合、検索をしても結果として表示されない可能性もある点について、あらかじめご了承ください。
もし、直近のWAFログは閲覧できるが、特定のWAFログだけ検索結果に表示されないといったような場合、この制限を超えている可能性があります。
具体的な制限はご契約プランなどによっても異なりますので、詳細は上記のヘルプページよりご確認ください。

3. ルール名からリクエストの詳細を確認する

WafCharmでは、WAFログ連携をご実施いただくことでご利用可能な機能の中に、WAFログアラート(検知通知)機能があります。
連携されたWAFログの中に、CountあるいはBlockとなった記録があった場合に、その情報を一部抜粋してメールにて通知するという機能です。
この通知の中には、リクエストにマッチしたルール名が記載されていますので、もし検知通知にて受信したリクエストの詳細が見たいという場合には、そのルール名から検索することができます。

例えば、[Rule_Name] という名前のルールを適用していて、このルールにマッチした場合、[検索テキスト] のフィールドに [Rule_Name] と入力すると、当該ルールで検知したWAFログが表示されます。

こちらはルール名が特定できていることが前提となりますので、上記のような検知通知メールにて確認した情報や、お客様にて追加されたルールがある場合などに活用いただけるかと思います。

ルール名の特定ができていないといった場合には、次項のラベルを用いた方法がより適している可能性がございます。

4. ラベルからリクエストの詳細を確認する

AWS WAFでは、マッチしたリクエストにラベルを付与する仕組みがあります。WafCharmでも、Advanced Ruleポリシーをご利用の場合はBotルールや正規表現ルールにてマッチした際にラベルを付与する仕組みを活用しています。
このラベルの値を用いて検索を行うことで、例えばCountモードで誤検知の確認などを行っている際に、どういったリクエストが検知されているか確認しやすくなります。

例えば、WafCharmの正規表現ルールで誤検知が発生している場合、 [検索テキスト] のフィールドに :wafcharm:regex:{正規表現ルール名} というラベルを入力し検索すると、正規表現ルールにマッチしたリクエストが検索結果に表示されます。

特定のルールに限らず、正規表現ルールすべての場合は、 :wafcharm:regex: の部分だけでも検索可能です。

仮にCountモードで検知状況を確認している場合、以下のような形で詳細の確認ができます。

  • 検知ルールに検知したルール名の記載あり
  • ラベルに :wafcharm:regex:{正規表現ルール名} を含むラベルの記載あり

実際のWafCharmコンソール上では、この下にRaw dataという形でWAFログの詳細が掲載されておりますので、その内容を確認し、もしこれが正常なリクエストであった場合には、誤検知と判断できます。

その場合には、検知ルールからこのリクエストや、このリクエストと似たようなリクエストに合致するような条件を検討し、除外対応を行うといったことも可能です。

5. 国コードからリクエストの詳細を確認する

検索テキストに [US] などの国コードを指定することで、特定の国から送信されたリクエストを検索することも可能です。
特定の国からのリクエストが増えている場合などは、国コードで検索を行い、該当したWAFログからリクエストの特徴を確認することができます。

また、地理的一致ルールステートメントを使ったルールが存在していて、そのルールで検査されたリクエストについては、 <ISO country code>-<ISO region code> といった形式でリージョンも含めてラベルが付与されます。

ラベルが付与されている場合、国コードとリージョンコードを組み合わせた検索も可能です。

6. おわりに

今回は、WAFログ検索機能のユースケースをご紹介しました。

検索テキストにルール名やラベルの値を指定することで、特定の条件にマッチするWAFログの検索が可能です。上記ではご紹介しておりませんが、他にもメソッドや、URIの値、IPアドレス、Hostの値などを検索テキストとして指定することでも検索が可能です。

新方式でのWAFログ連携を有効化し、リクエストの詳細調査にお役立てていただければ幸いです。