Skip to the content.

最終更新日:2026年8月28日

まず結論

WAFとは、Webアプリケーションへの通信内容を検査し、SQLインジェクションやXSSなどの攻撃を遮断する仕組みです。

WAFは Web Application Firewall の略です。

基本情報技術者試験では、次の2点を押さえると判断しやすくなります。

Webアプリへの通信内容を検査する
→ WAF

HTTPS通信をWAF自身が復号できない
→ 復号後、かつWebサーバの前に置く

問題文に Webサーバに送信されたデータを検査SQLインジェクションを遮断Webアプリケーションを防御 といった表現が出たら、WAFを疑います。

直感的な説明

WAFは、Webアプリケーションの入口に立つ警備員のようなものです。

利用者からWebサーバへ送られるリクエストの中身を見て、危ない入力がないかを確認します。

クライアント
↓ HTTPリクエスト
WAF
↓ 安全なら通す
Webサーバ

例えば、ログインフォームや検索フォームに、攻撃用の文字列が送られることがあります。

' OR '1'='1
<script>...</script>

WAFは、このようなWebアプリ向けの攻撃らしい入力を検査し、必要に応じて遮断します。

ただし、HTTPSでは通信内容が暗号化されています。

WAFに暗号化・復号機能がない場合、そのままでは中身を確認できません。

HTTPS
↓
SSL/TLS終端で復号
↓
HTTP
↓
WAFで検査
↓
Webサーバ

つまり、WAFが通信内容を検査するには、見える状態になった通信をWebサーバへ届く前に通す必要があると考えます。

定義・仕組み

WAFは、Webアプリケーションを保護するためのファイアウォールです。

通常のファイアウォールが主にIPアドレスやポート番号を見て通信を制御するのに対し、WAFはWebアプリケーションに送られる通信内容を詳しく見ます。

仕組み 主に見るもの
通常のファイアウォール IPアドレス、ポート番号、通信方向など
WAF HTTPリクエスト、パラメータ、入力値、URLなど

WAFで防ぎやすい代表例は次のとおりです。

攻撃 ざっくり意味
SQLインジェクション 入力値にSQL文を混ぜて、DBを不正操作する攻撃
XSS Webページに悪意あるスクリプトを混入させる攻撃
パストラバーサル 想定外のファイルへアクセスしようとする攻撃
不正なリクエスト 通常想定しない形式のHTTPリクエスト

HTTPS通信ではどこを見る?

HTTPSでは、HTTPの内容がTLSによって暗号化されています。

そのため、WAF自身にTLS終端機能がないという前提なら、暗号化された区間ではHTTPヘッダーやリクエスト本文をそのまま検査できません。

インターネット
↓ HTTPS
ファイアウォール
↓ HTTPS
SSL/TLS終端装置
↓ HTTP
WAF
↓ HTTP
Webサーバ

この場合の判断基準は、次のとおりです。

復号後 + Webサーバの前 → WAFを置く候補

実際の製品ではWAF自身がTLS終端を行う構成もありますが、試験では問題文の条件を優先します。

「WAFには暗号化・復号機能がない」と書かれているなら、WAFが勝手にHTTPSを復号できるとは考えません

このテーマは、基本情報技術者試験の「情報セキュリティ」や「Webアプリケーションの防御」と関係する内容です。公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。

科目Aでどう出る?

科目Aでは、WAFの役割だけでなく、構成図を見てWAFをどこに置くかを判断する問題にも注意します。

判断するときは、次のキーワードを見ます。

Webアプリケーション
HTTPリクエスト
入力値の検査
SQLインジェクション
XSS
HTTPS
復号
SSL/TLS終端

選択肢では、次のように切り分けます。

選択肢の表現 判断
Webサーバへ送信されたデータを検査し、SQLインジェクションなどを遮断 WAF
IPアドレスやポート番号で通信を制御 通常のファイアウォール
SSL/TLSの暗号化・復号処理を肩代わりする SSL/TLS終端装置、SSLアクセラレータ
TLSを使ってブラウザ経由でVPN接続する SSL-VPN
複数サーバへ処理を分散する ロードバランシング

構成図問題の判断手順

HTTPS通信とWAFの設置位置が問われたら、次の順で確認します。

1. WAFは通信内容を見る必要があるか
   → はい

2. その地点の通信は暗号化されているか
   → HTTPSなら中身は見えない

3. どこで復号されるか
   → SSL/TLS終端装置を探す

4. 復号後で、Webサーバより前の場所はどこか
   → そこがWAFの候補

例えば、次の構成なら、WAFを置く候補は c です。

インターネット
   ↓ HTTPS
[a]
ファイアウォール
   ↓ HTTPS
[b]
SSL/TLS終端装置
   ↓ HTTP
[c]
Webサーバ
   ↓
[d]
DBサーバ
  • ab:HTTPSで暗号化されたまま
  • c:復号済みで、Webサーバへ届く前
  • d:Webアプリケーションの処理後

したがって、「復号後・Webサーバ前」という判断で c を選びます。

科目Bでどう使う?

科目Bでは、Webシステムの構成図やセキュリティ対策を読むときに役立ちます。

用語を覚えるだけでなく、通信経路のどこならWAFがHTTP内容を確認できるかを追います。

クライアント
↓ HTTPS
TLS終端
↓ HTTP
WAF
↓
Webサーバ
↓
DBサーバ

読み取るポイントは次の3つです。

  1. どこまでHTTPSか
  2. どこで復号されるか
  3. Webサーバへ届く前に検査できる場所はどこか

SQLインジェクションのような攻撃は、入力値を通じてWebアプリやDBを狙います。

そのため、DBサーバの直前ではなく、Webアプリケーションがリクエストを処理する前にWAFで検査することが重要です。

SG試験向けの記事では、運用面や誤検知、ルール設定の考え方も整理しています。WAFを「設置場所」だけでなく「運用する防御策」として理解を深めたい場合は、WAFとは?Webアプリケーションを守る防御策【SG試験】 も参考になります。

どんな場面で使う?

WAFは、外部から利用されるWebサービスやWebアプリケーションを保護するときに使います。

例えば、次のようなサービスです。

  • 会員ログインがあるWebサービス
  • 検索フォームや入力フォームがあるサイト
  • ECサイト
  • Web経由で社内システムへアクセスするサービス

HTTPSを使うシステムでは、WAFがどこで通信内容を確認するかも重要になります。

暗号化されたまま
→ 内容を確認できない

復号後
→ HTTP内容を検査できる

そのため構成図では、WAF単体だけでなく、ファイアウォール、ロードバランサ、SSL/TLS終端装置、Webサーバとの位置関係も確認します。

よくある誤解・混同

WAFでよくある誤解は、Webに関係する仕組みなら何でもWAFだと思ってしまうことです。

誤解 正しい理解
WAFはVPN接続の仕組み VPN接続ならSSL-VPNなど
WAFは負荷分散の仕組み 負荷分散ならロードバランシング
WAFは可用性を高める複数台構成 可用性や性能ならクラスタ構成
WAFはすべての攻撃を防ぐ 主にWebアプリへの攻撃を検査・遮断する
通常のファイアウォールと同じ WAFはHTTPリクエストや入力値など、Webアプリ層を詳しく見る
HTTPSならWAFはどこに置いてもよい TLSを復号できないWAFなら、復号後に置く必要がある
DBサーバの直前に置けばよい Webアプリが処理する前に検査する必要がある

特に、通常のファイアウォールとの違いは試験で迷いやすいです。

通常のファイアウォール
→ IPアドレスやポート番号を見て通信を制御する

WAF
→ Webアプリに送られるデータの中身を見て攻撃を検査する

また、SSL/TLS終端との違いも重要です。

SSL/TLS終端
→ HTTPSを復号する

WAF
→ 復号されたHTTPの中身を検査する

この2つは役割が違います。

まとめ(試験直前用)

  • WAFは、Webアプリケーションへの通信内容を検査する防御策
  • SQLインジェクションやXSSなどのWebアプリ攻撃を遮断しやすい
  • 通常のファイアウォールはIPアドレスやポート番号を見る
  • HTTPSでWAF自身に復号機能がないなら、復号後に置く
  • 設置場所は、復号後 + Webサーバの前で判断する
  • SSL/TLS終端は復号、WAFはHTTP内容の検査
  • 構成図では「どこまでHTTPSか」「どこでHTTPになるか」を追う

© 2024-2026 stemtazoo. All rights reserved.