

前回は、攻撃者の現実について詳しく見てきました。Webサイトが狙われている現実を知って、「インターネットって思った以上に危険な世界なんだな」と感じた人も多かったでしょう。
でも、安心してください。今回からは、そんな攻撃から私たちを守ってくれる技術「Web Application Firewall(WAF)」について詳しく説明していきます。
WAFって何の略?まずは名前から
Web Application Firewall
日本語に訳すと「ウェブアプリケーション・ファイアウォール」です。
「ファイアウォール」という言葉は聞いたことがあるかもしれませんね。でも、WAFの「Web Application」の部分が重要なんです。この違いを理解することが、WAFを理解する第一歩です。
まずは身近な例で理解しよう
例:空港のセキュリティ
従来のファイアウォールとWAFの違いを空港のセキュリティに例えてみましょう。

。
・パスポートをチェック
・「この人は日本に入国して良い人か?」を判断
。

。
・一人一人の行動と持ち物を詳しくチェック
・危険物を持っていないか確認
・不審な行動をしていないか監視
違い:
入国審査は「どこの誰か」を確認
手荷物検査は「何をしようとしているか」を確認
WAFとファイアウォールの違い
この違いを理解することが、WAFを理解する上でとても重要です。
従来のファイアウォール(ネットワークファイアウォール)
- 判断基準: 送信元IPアドレス、宛先IPアドレス、ポート番号、通信プロトコル(TCP/UDP)
- 判断例: 「192.168.1.100から80番ポートへのアクセス → 許可」「海外のIPアドレスから22番ポートへのアクセス → 拒否」
- できること: 特定の国からのアクセスをブロック、業務時間外のアクセスを制限、特定のポートへのアクセスを禁止
- できないこと: リクエストの中身(内容)の判断、SQLインジェクション攻撃の検出、アプリケーション固有の脆弱性への対処
WAF(Web Application Firewall)
- 判断基準: HTTPリクエストの内容、POSTデータの中身、URLパラメータ、HTTPヘッダー情報、Cookie情報
- 判断例: 「ログインフォームに『; DROP TABLE users; –』が含まれている → SQLインジェクション攻撃として拒否」
- できること: SQLインジェクション攻撃の検出・防御、XSS攻撃の検出・防御、不正なファイルアップロードのブロック、アプリケーション固有の脆弱性への対処
- できないこと: ネットワークレベルでの完全な遮断(ファイアウォールの役割)
つまり、従来のファイアウォールが「誰が」を判断するのに対し、WAFは「何を」を判断するのです。
WAFが生まれた背景
インターネット初期時代(1990年代)
当時のWebサイトは静的なHTMLページがメインで、文字と画像だけのシンプルな構成でした。ユーザーからの入力を受け付けることも少なく、ファイアウォールで十分でした。
Web 2.0時代(2000年代)
Webサイトが進化し、ユーザー登録・ログイン機能、掲示板やコメント機能、オンラインショッピングなど、動的なコンテンツが主流になりました。これに伴い、SQLインジェクション攻撃やXSS攻撃などの新しい脅威が登場しました。
従来のファイアウォールでは「正当なユーザーが悪意のあるリクエストを送る」攻撃を防げないことが明らかになりました。
現代(2010年代~)
Webアプリケーションはさらに複雑化し、SPA(Single Page Application)、API連携、クラウドサービス連携、モバイルアプリ連携など、高度な機能を持つようになりました。攻撃も高度化し、ゼロデイ攻撃やAIを使った攻撃も登場しています。
これらの複雑で高度な攻撃に対抗するため、アプリケーションレベルでの防御が必要不可欠になり、WAFが広く普及するようになりました。
まとめ
今回は、WAFの基本概念について説明しました。WAFは、Webアプリケーションへの攻撃を専門的に防御する技術で、従来のファイアウォールとは異なり、アクセスの「内容」を詳しく検査します。
Web技術の進化と攻撃の高度化に伴い、WAFは現代のインターネット社会に欠かせない存在となっています。普段は意識することのないWAFですが、みなさんが安心してインターネットを利用できるのは、このような技術があってこそなのです。

次回の内容
次回は、WAFの「頭脳」とも言える仕組みについて詳しく説明します。「WAFはどうやって攻撃を見分けるの?」「なぜ正常なアクセスと攻撃を区別できるの?」これらの疑問に、答えていきます。
