WAFログを活かす 知っておきたいWAF運用ガイド

Webアプリケーションを狙う攻撃は年々増加しており、SQLインジェクションやクロスサイトスクリプティング(XSS)といった攻撃は、企業規模を問わず深刻な被害を引き起こします。これに対処するため、多くの企業ではWAF(Web Application Firewall)を導入しています。
しかし、「導入して終わり」では十分ではありません。攻撃を防ぐだけでなく、その裏にあるログを活用することで、セキュリティ運用を強化できるのです。本記事では、WAFログの基本から活用方法、注意すべきポイントを解説します。
目次
WAFと、WAFログの意義
前提として、WAFとは何かを整理しておきましょう。WAFはWebアプリケーションを保護するファイアウォールであり、HTTP/HTTPS通信を解析し、既知の攻撃パターンや異常なリクエストを検出・遮断します。
ネットワーク通信はOSI参照モデルに基づき7層に分類されますが、通常のネットワークファイアウォールやIPS/IDSがレイヤ3や4の、パケットレベルでの防御を担当するのに対し、WAFはレイヤ7(アプリケーション層)に特化した防御を行う点が特徴です。
では、なぜ「ログ」が重要なのでしょうか。理由は大きく3つあります。
ログが必要な理由
1.可視化
WAFログには、どのIPから、どのようなリクエストが来て、どの防御ルールに引っかかったかといった詳細が残ります。これを分析することで、自社のWebサイトがどのような攻撃に狙われているのか可視化されます。
2.対策の根拠
ログを根拠に、追加ルールの適用やシステムの修正方針を決められます。例えばSQLインジェクションの攻撃を数多く防いでいるのであれば、SQLインジェクション関連のルールを追加することや、データベースの設計見直しなどの対応を行うことができます。
3.責任の証明
万が一のインシデント対応時に、「いつ」「どんな攻撃を検知・遮断したのか」を示すことができます。これは、委託先や経営層への説明だけでなく、監査対応や法的説明責任を果たす際にも役立ちます。
単なる遮断機能としてのWAFではなく、ログを戦略的に活用することが、実践的なセキュリティ運用に欠かせません。
WAFの自動運用サービス WAFエイドご紹介資料

・WAFの最適な設定ができているか分からない
・WAF運用に手間がかかっている
等のお悩みはありませんか?WAFエイドによる自動運用と専門家の知見で解決します。
WAFログとは何か
WAFログには多様な項目が含まれます。具体的なAWS WAFのログをサンプルとして見てみましょう。
{
"timestamp":2222222222222,
"formatVersion":1,
"webaclId": ...,
"terminatingRuleId":"RateBasedRule",
"terminatingRuleType":"RATE_BASED",
"action":"BLOCK",
"terminatingRuleMatchDetails":[
],
"httpSourceName":"APIGW",
"httpSourceId":"EXAMPLE11:sample_test",
"ruleGroupList":[
],
"rateBasedRuleList":[
{
"rateBasedRuleId": ...,
"rateBasedRuleName":"RateBasedRule",
"limitKey":"CUSTOMKEYS",
"maxRateAllowed":100,
"evaluationWindowSec":"120",
"customValues":[
{
"key":"HEADER",
"name":"dogname",
"value":"ella"
}
]
}
],
"nonTerminatingMatchingRules":[
],
"requestHeadersInserted":null,
"responseCodeSent":null,
"httpRequest":{
"clientIp":"8.8.8.8",
"country":"FR",
"headers":[
{
"name":"X-Forwarded-For",
"value":"8.8.8.8"
},
{
"name":"X-Forwarded-Proto",
"value":"https"
},
{
"name":"X-Forwarded-Port",
"value":"443"
},
{
"name":"Host",
"value":"test.execute-api.ap-northeast-1.amazonaws.com"
},
{
"name":"X-Amzn-Trace-Id",
"value":"Root=1-1234567890test"
},
{
"name":"dogname",
"value":"ella"
},
{
"name":"User-Agent",
"value":"RateBasedRuleTestKoipOneKeyModulePV2"
},
{
"name":"Accept-Encoding",
"value":"gzip,deflate"
}
],
"uri":"/CanaryTest",
"args":"",
"httpVersion":"HTTP/1.1",
"httpMethod":"GET",
"requestId":"Ed0AiHF_CGYF-DA="
}
}
WAFのログは、Webアプリケーション防御の結果を詳細に記録するものです。代表的には「WebACLログ」(アクセスがどのルールに一致したか)、「アクセスログ」(IPやURIなどのリクエスト情報)、「アラート/拒否ログ」(遮断や許可の判定結果)が含まれます。AWS WAFではJSONと呼ばれる形式で出力され、以下のような要素が記載されています。
- timestamp:リクエストが発生した時刻。サンプルではLinux時刻Unix時刻と呼ばれる数値で記載されている
- clientIp:リクエスト元のIPアドレスであり、攻撃者などのIPが記載されている。
- action:ALLOW / BLOCK / COUNT などの判定結果。サンプルではBlockされているため、遮断されているとわかる
- httpMethod:GET/POSTなどのリクエスト種別
- uri:アクセス先のパス
サンプルでは、フランスからのアクセスがRateBasedRuleに一致し、BLOCK処理されたことが記録されています。このようにログを読むことで、攻撃の種類や頻度、リクエストの詳細を可視化し、運用改善や監査対応に役立てることが可能です。
ログから読み取れること:基本分析パターン
これらを読み解く際のポイントは次の通りです。
- 同一IPからの大量リクエスト:ブルートフォースやボットアクセスの兆候
- 特定のURIへの集中的なアクセス:脆弱性を狙ったスキャンの可能性
- 許可されているが不自然なパターン:ルールの抜け道になっている可能性
特に注意したいのは、「ブロックされたログ」だけでなく「許可されたログ」も分析対象とすることです。攻撃者はWAFをすり抜ける方法を常に模索しており、正常に見えるリクエストの中に巧妙な攻撃が紛れ込むケースがあります。許可ログから異常値を見つけ出すことが、ゼロデイ攻撃や未知の攻撃手法への早期対応につながります。
どうやってWAFログを分析する?
WAFログを有効に活用するには、収集後の分析基盤が欠かせません。
AWS環境ではいくつかの方法が代表的です。まず、Amazon CloudWatch Logsに出力すればリアルタイムにログを参照でき、メトリクスフィルタを設定して特定の攻撃回数やルール検知数を自動カウントすることが可能です。Amazon CloudWatch Logs Insightsでは、SQLなどを利用したさらに詳細な分析が可能です。
また、WAFログをAmazon S3に出力することで、大量のログを安定して蓄積し、後追いでの詳細分析や外部ツールへの連携が容易になります。
Amazon S3に保存されたWAFログに対してもAmazon Athenaを利用した検索・分析が可能です。「特定IPからの攻撃数」「時間別のブロック件数」といった傾向を抽出できます。
可視化については、AWSのQuick Suiteで攻撃傾向をグラフ化することや、GrafanaやKibanaを用いてリアルタイム監視ダッシュボードを構築する方法があります。
ダッシュボードを作成する際は、(1) 総リクエスト数、(2) ブロック件数の推移、(3) 攻撃種類別の内訳、(4) 上位発信元IPや国別分布といった主要指標を盛り込むことがポイントです。
これにより、攻撃トレンドを直感的に把握でき、迅速な対策や経営層への報告に役立ちます。
WAFログを運用に活かす
実践:ログを使った改善アクション例
では、実際にWAFログをどのように活用できるのでしょうか。典型的な運用例を紹介します。
1. 攻撃トレンドの把握
セキュリティに対する投資は、投資対効果の説明が難しく、限られた予算をより効率的に利用することが必要です。攻撃トレンドを把握することで、効果的な対策をとることが可能になります。例えば、毎週の定例会議でWAFログをダッシュボード化し、攻撃件数の推移をモニタリングすることで、あるとき「SQLi攻撃が先週比で3倍に増加」といったデータがあれば、Webアプリケーションの該当箇所を重点的に監査する、といった判断が可能になります。
2. ルールの最適化
ログから「特定の正規ユーザー操作が誤検知されている」と判明した場合、ルールの緩和が必要になります。逆に、頻繁に攻撃を受けているパターンが確認されれば、より厳格なルールを適用することで防御を強化できます。ログはルールチューニングの根拠となるのです。
3. アクセス制限の追加
WAFログを確認することで、どの国からどのような攻撃が行われているかを確認することができます。それによってアクセス制限の追加も検討できます。例えば国内のユーザー向けに展開しているサービスにおいて、海外から攻撃が行われていることが分かれば、攻撃を加えている国からのアクセスを制限する、といった対応も可能です。
3. SOC/CSIRTとの連携
大規模企業では、SOCやCSIRTにWAFログを集約し、SIEMに取り込んで他のセキュリティイベントと相関分析を行います。例えば「同一IPからのWAF攻撃検知」と「同時刻にVPNログイン失敗が増加」という事象を突き合わせることで、企業が受けているサイバー攻撃全体を俯瞰できます。それによって、運用しているWebアプリケーションだけでなく、企業のセキュリティホールの発見や、保護するべき情報をより厳格に暗号化する、といった、包括的な対応が取れるようになります。
4. 委託・監査対応
セキュリティ運用を外部ベンダーに委託している場合でも、WAFログのダッシュボードを共有することで透明性を確保できます。また、監査対応では「ブロック実績」や「対応履歴」を証跡として提出でき、ユーザーや経営層に対する説明責任を果たせます。
注意点・落とし穴は?
ログは万能ではありません。活用にあたって注意すべきポイントも存在します。
まず、ログの肥大化です。全てのリクエストを記録すると膨大なデータとなり、分析や保存にコストがかかります。重要なフィールドに絞った収集や、一定期間ごとのローテーション設計が欠かせません。
次に、誤検知・過検知のリスクです。過剰なブロックはユーザー体験を損ない、結果的にビジネスに悪影響を及ぼします。ログ分析は、単に「攻撃=悪」と決めつけるのではなく、ユーザー行動と突き合わせながら慎重に進める必要があります。
さらに、人的リソース不足も課題です。ログ分析は専門的な知識と継続的なモニタリングが必要ですが、中小企業ではセキュリティ担当者が限られている場合が多いのが実情です。このような場合には、外部のSOCサービスやセキュリティベンダーのコンサルティングを活用するのも有効です。
どこまでログを活用するかを決める視点とは?
WAFログの活用範囲をどこまで広げるかは、各企業の状況やリソースに大きく左右されます。判断の際に考慮すべき視点を整理してみましょう。
まず重要なのはサイトやサービスの規模です。アクセス数やトラフィック量が膨大な場合、全件ログを取得して分析するとコストや処理負荷が急増します。小規模サイトでは簡易なモニタリングで十分でも、大規模サイトではサンプリングやアーカイブを組み合わせる工夫が必要になります。
次に、扱う情報の機密性やセキュリティ要件です。個人情報や決済データを扱うサービスであれば、監査証跡や証明資料としてログを詳細に残すことが求められます。一方で、公開情報のみを扱うサイトであれば、主要なブロックログの確認に留める運用も現実的です。
さらに、既存の監視体制と人的リソースも判断材料です。専門のSOCやCSIRTを持つ企業なら高度な相関分析やリアルタイム監視が可能ですが、少人数の情シス体制では自動集計レポートや外部委託を前提としたシンプルな運用が適しています。
また、予算とコスト対効果も無視できません。ログ保存・分析にはストレージ料金や人件費がかかるため、どこまで費用を投じるかを見極める必要があります。
最後に、将来的な拡張性です。将来、機械学習や異常検知の仕組みを導入する可能性がある場合は、データを長期保存しやすい設計にしておくと後々の活用余地が広がります。
このように、規模・重要度・体制・コスト・将来性という複数の観点をバランスよく見極めることが、WAFログを「必要十分に」活用するための鍵となります。
WAFエイドはWAFの運用を自動化します
WAFを導入した、または導入を検討しているものの、
・最適な設定ができるか不安
・運用に手間がかかっている
というお悩みはありませんか?
WAFエイドは、セキュリティエンジニアでなくても当社の世界屈指の知見を活用したWAFの自動運用が可能になるサービスです。お悩みの方は是非ご相談ください。
監修:GMOサイバーセキュリティ byイエラエ 編集部

企業の情報セキュリティ担当者や開発者向けに、サイバーセキュリティに関する情報を発信しています。