カテゴリ: AWS 更新日: 2025/11/06

AWS WAFログの有効化とログ解析の基本をわかりやすく解説

AWS WAFログの有効化とログ解析の基本
AWS WAFログの有効化とログ解析の基本

先生と生徒の会話形式で理解しよう

生徒

「先生、AWS WAFって攻撃をブロックする仕組みはわかるんですが、その結果を確認する方法ってあるんですか?」

先生

「いい質問ですね。AWS WAF(ウェブ アプリケーション ファイアウォール)はログを有効化することで、どんなリクエストがブロックされたのか、どんなルールに一致したのかを記録できます。ログ解析を行えば、攻撃の傾向を把握して次の対策に活かせますよ。」

生徒

「なるほど!ログを取らないと、実際にどんな攻撃が来ているのか見えないんですね。」

先生

「その通りです。それでは、AWS WAFのログの有効化と基本的な解析の流れを見ていきましょう。」

1. AWS WAFログとは?

1. AWS WAFログとは?
1. AWS WAFログとは?

AWS WAFログは、読み方はログ(ロッグ)といい、Webアプリケーションに届いたリクエストに対してWAFがどのような判断をしたのかを記録するものです。

ログには、リクエスト元のIPアドレスやユーザーエージェント、マッチしたルールの情報、ブロック・許可・カウントといったアクション結果が含まれます。これを確認することで、単なるブロックの成否だけでなく、攻撃の種類や頻度を把握することができます。

2. ログを有効化する方法

2. ログを有効化する方法
2. ログを有効化する方法

AWS WAFのログはデフォルトでは保存されません。手動で有効化する必要があります。手順の流れは次の通りです。

  1. AWSマネジメントコンソールにログイン
  2. WAFのWeb ACL(ウェブ アクセス コントロール リスト)を選択
  3. 「Logging and metrics(ログとメトリクス)」を開く
  4. ログの保存先を設定(通常はAmazon Kinesis Data Firehoseを使用)
  5. 保存先としてS3(エススリー、ストレージサービス)やCloudWatch Logs(クラウドウォッチ ログス)を指定
  6. 設定を保存して有効化

これで、WAFが処理したリクエストごとの詳細なログがS3やCloudWatchに保存されます。

3. ログに含まれる情報

3. ログに含まれる情報
3. ログに含まれる情報

ログには多くの情報が記録されますが、初心者がまず注目すべきは以下の項目です。

  • timestamp(タイムスタンプ):いつアクセスがあったか
  • action(アクション):ブロック、許可、カウントのどれか
  • ruleId(ルールID):どのルールに一致したか
  • sourceIP(送信元IP):リクエスト元のIPアドレス
  • uri(ユーリアールアイ):どのページにアクセスしようとしたか

これらを分析すれば、特定のIPから不自然に大量アクセスがあるのか、特定の攻撃パターンが頻発しているのかがわかります。

4. ログ解析の基本

4. ログ解析の基本
4. ログ解析の基本

ログ解析の目的は、攻撃の傾向を見抜き、防御ルールを最適化することです。例えば、以下のような視点で分析します。

  • どのIPアドレスから攻撃が多いか
  • どのルールが頻繁にトリガーされているか
  • 正規のユーザーが誤ってブロックされていないか

これらをチェックすることで、ブラックリストやホワイトリストを見直したり、カスタムルールの条件を調整する判断ができます。

5. 代表的なログの保存先

5. 代表的なログの保存先
5. 代表的なログの保存先

AWS WAFログは以下のようなサービスと組み合わせて使います。

  • Amazon S3:読み方はエススリー。ログを長期保存するのに便利
  • Amazon CloudWatch Logs:リアルタイム監視やアラート通知に使える
  • Kinesis Data Firehose:ログをS3やElasticsearchなどにストリーム配信できる

初心者はまずS3に保存して手動で確認する方法から始め、その後CloudWatchやダッシュボードによる可視化に挑戦すると理解が深まります。

6. 初心者向けの運用のコツ

6. 初心者向けの運用のコツ
6. 初心者向けの運用のコツ

いきなりすべてのログを詳細に解析する必要はありません。最初は「ブロックされた件数」と「特定のIPの動き」に注目するだけで十分です。

例えば、毎日のログをチェックして「特定のIPから何千回もアクセスがあった」「同じルールが毎日トリガーされている」といった特徴を見つけましょう。その情報をもとに新しいルールを作成したり、不要なアクセスを遮断する対策につなげることができます。

カテゴリの一覧へ
新着記事
New1
シェルとターミナル基礎
Linuxのシェルとは?初心者でもわかる役割と基本を完全解説
New3
Linux ディストリビューション
Linuxディストリビューションの選び方完全ガイド!初心者でも失敗しない選択基準とおすすめの選び方
人気記事
No.1
Java&Spring記事人気No1
S3(オブジェクトストレージ)
AWS S3の料金体系をわかりやすく解説
No.2
Java&Spring記事人気No2
AWS 基本
AWSの公式料金計算ツール(Pricing Calculator)の使い方
No.3
Java&Spring記事人気No3
S3(オブジェクトストレージ)
AWS S3イベント通知を設定してLambdaをトリガーする方法を初心者向けに解説!
No.4
Java&Spring記事人気No4
ELB(ロードバランサー)
AWS ELBでターゲットグループを設定する方法を初心者向けに解説!
No.5
Java&Spring記事人気No5
VPC(プライベートクラウド)
AWS VPCでNATゲートウェイを構成してプライベートサブネットから外部アクセスする方法を初心者向けに解説!
No.6
Java&Spring記事人気No6
Direct Connect(専用線接続)
AWS Direct Connect Gatewayの使い方と制限事項を初心者向けにやさしく解説
No.7
Java&Spring記事人気No7
RDS(データベース)
AWS RDSのスケーリング(インスタンスサイズ変更)を初心者向けにやさしく解説!
No.8
Java&Spring記事人気No8
Linux 基礎概要
Linuxとは何か?初心者向けに意味・特徴をわかりやすく解説