最終更新日:2026年8月28日
fe fe-technology security
まず結論
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サーバ
a、b:HTTPSで暗号化されたままc:復号済みで、Webサーバへ届く前d:Webアプリケーションの処理後
したがって、「復号後・Webサーバ前」という判断で c を選びます。
科目Bでどう使う?
科目Bでは、Webシステムの構成図やセキュリティ対策を読むときに役立ちます。
用語を覚えるだけでなく、通信経路のどこならWAFがHTTP内容を確認できるかを追います。
クライアント
↓ HTTPS
TLS終端
↓ HTTP
WAF
↓
Webサーバ
↓
DBサーバ
読み取るポイントは次の3つです。
- どこまでHTTPSか
- どこで復号されるか
- 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になるか」を追う