---
title: "WAFとは？Webアプリを守る仕組みを理解する【SG試験】"
description: "WAFは、Webアプリケーションへの攻撃を検知・遮断するために、HTTPリクエストやレスポンスの内容を検査する仕組みです。SQLインジェクションやXSS対策での役割、ファイアウォールやIPSとの違いをSG試験向けに整理します。SG試験の出題文で迷いやすい判断ポイントも確認します。"
last_modified_at: "2026-06-12"
canonical_url: "https://stemtazoo.github.io/sg/waf/"
section: "sg"
---

## まず結論
- WAFとは、**Webアプリケーションへの攻撃を検知・遮断する仕組み**です。  
- SG試験では「**通信内容を見て攻撃をブロックする対策かどうか**」を判断できるかがポイントです。

---

## 直感的な説明
WAFは「Web専用の門番」です。

普通のファイアウォールが「通していい通信か」を見るのに対して、  
WAFはその中身まで見て「危ないリクエストか」を判断します。

たとえば：

- 「変なSQL文が入っている」  
- 「怪しいスクリプトが含まれている」  

こういったリクエストを見つけて、**アプリに届く前に止める**のがWAFです。

---

## 定義・仕組み
WAF（Web Application Firewall）は、

> Webアプリケーションへの通信内容（HTTPリクエスト）を解析し、  
> 攻撃と判断した場合に遮断する仕組み

です。

主な特徴：

- SQLインジェクション対策  
- クロスサイトスクリプティング（XSS）対策  
- 不正な入力データの検知  

仕組みとしては：

1. リクエストの中身をチェック  
2. ルール（シグネチャ）と照合  
3. 攻撃と判断したら遮断  

👉 ポイントは  
「**通信内容（中身）を見て判断する**」ことです。

---

## どんな場面で使う？
### 使うべき場面
- Webサービスを公開している場合  
- 入力フォームやログイン機能があるシステム  
- SQLインジェクションやXSS対策を強化したいとき  

### 誤解しやすい場面
- OSやネットワーク全体の防御と混同しやすい
  → WAFは**Webアプリ限定の対策**です

### PCI DSSとの関係

PCI DSSの古い過去問では、WAFの導入が **安全性の高いシステムとアプリケーションを開発・保守する要件** と結び付けて問われることがあります。

通常のファイアウォールはネットワーク境界を守る対策ですが、WAFはWebアプリケーションへの攻撃を検知・遮断する対策です。

👉 選択肢で **「WAF」「Webアプリケーション」「SQLインジェクション」「XSS」** が出たら、Webアプリケーション保護の文脈として読みます。

---

## よくある誤解・混同
### ❌ よくある誤解
- 「プログラムの動作範囲を制限する仕組み」  
- 「侵入者をおびき寄せる仕組み」

### ⭕ 正しい理解
- **通信内容を解析して攻撃を遮断する仕組み**

---

### フォールスポジティブ／フォールスネガティブの切り分け

WAFの問題で頻出なのが、検知の誤りです。

- **フォールスポジティブ（False Positive）**：無害なHTTPリクエストを、攻撃と誤判定して遮断する
- **フォールスネガティブ（False Negative）**：有害なHTTPリクエストを、正常と誤判定して通過させる

SG試験では、次の順で見ると切り分けやすくなります。

1. その通信は本来「無害」か「有害」か
2. WAFは「遮断」したのか「通過」させたのか

| 本来の通信 | WAFの判定 | 判定名 |
|---|---|---|
| 無害 | 遮断 | フォールスポジティブ |
| 有害 | 通過 | フォールスネガティブ |
| 有害 | 遮断 | 正しい検知 |
| 無害 | 通過 | 正しい判定 |

### SG試験で狙われやすい表現

- 「正当な入力（例：数式の`<`）を攻撃として遮断した」
  → **フォールスポジティブ**
- 「攻撃命令を含むリクエストを見逃して通した」
  → **フォールスネガティブ**
- 「許可していない文字列を含む不正リクエストを遮断した」
  → **正しい検知**（誤検知ではない）

選択肢で迷ったら、**“本来は無害か有害か” を先に確定してから、WAFの動作を見る**のがコツです。

### SG試験でのひっかけ
SG試験では次のように混同させてきます。

- 「実行範囲を制限する」  
　→ サンドボックス  
- 「侵入者を誘導して監視する」  
　→ ハニーポット  
- 「通信の中身を見て攻撃を遮断する」  
　→ **WAF（これが正解）**

👉 選択肢では  
「**攻撃と判定した通信を遮断する**」と書かれていたらWAFです。

---

## 確認問題（SG試験対策）

次のうち、WAFの役割として最も適切なものはどれか。

- ア. Webアプリケーションへの通信を検査し、SQLインジェクションやXSSなどを防ぐ。
- イ. 端末へIPアドレスを自動的に割り当てる。
- ウ. 証明書の失効状態をリアルタイムで確認する。
- エ. システムの稼働率を契約で保証する。

<details markdown="1">
<summary>▶ クリックして答えと解説を見る（ここを開く）</summary>

**正解：ア**

### 解説
- ア：WAFはWebアプリケーション層の攻撃を検査・防御します。
- イ：DHCPの説明です。
- ウ：OCSPの説明です。
- エ：SLAの説明です。

👉 判断ポイント
WAFは「Webアプリケーション層」、ファイアウォールは主に通信の送信元・宛先・ポートで切り分ける。

</details>

---

## まとめ（試験直前用）

- WAF＝**Webアプリへの攻撃を検知・遮断する仕組み**
- 通信の「中身」を見て判断するのが特徴
- SQLインジェクション・XSS対策に使う
- PCI DSSでは、Webアプリケーションを安全に保つ要件と結びつけて読む
- SG試験では
  → サンドボックス・ハニーポットとの違いで出題されやすい

## 公式情報・参考リンク
- [IPA｜安全なウェブサイトの作り方](https://www.ipa.go.jp/security/vuln/websecurity/about.html)
