見えるセキュリティ
WAFの仕組み
WEB APPLICATION FIREWALL
この概念とは?
WAF(Web Application Firewall、ワフ)は、Webアプリへの通信内容を検査し、設定した条件に応じて検知・拒否などを行う仕組みです。たとえばURLのパラメータや本文を調べます。検知だけを記録して通す設定もあり、導入しただけで必ず遮断するわけではありません。[T01・T02]
同じ不審なリクエストを検知したのに、なぜアプリへ届く場合と止まる場合があるのか?
- THEME
- web-vuln
- KIND
- defense
- REVIEW
- self-reviewed ·
同じリクエストとルールで照合し、最後に「検知のみ」と「検知して遮断」の設定別の結果を比較します。
図を見る前に:リクエスト・q・ルール
- HTTPリクエスト
- ページの取得や検索などを、利用者側からサービス側へ依頼する通信。
- パラメータ
- 検索語など、依頼と一緒に送る値。この例では検索語を表すq。
- ルール
- どの項目を、どの条件で調べるかを定めたもの。検知後の処理方針と区別します。
TLS終端後のHTTP内容を検査できる構成の図です。実際の通信や攻撃は行いません。
利用者側
検索の依頼を送る
同じ要求
サービス側のWAF
要求は受信済み受信した要求(原本を保持)
GET /search?q=%27%20OR%201%3D1--ここで要求を受け止める
まだ照合も転送もしていません。
転送はまだ
Webアプリ
アプリ未到達
ここにはまだ届いていません
STEP 01 / 4
同じリクエストを受け取る
STEP 1 / 4: 同じリクエストを受け取る
WAFが検索の依頼を受信しました。まだWebアプリには転送していません。
技術的な詳細を見る
GET /search?q=%27%20OR%201%3D1--という固定の要求を、TLS終端後に検査できる構成です。両モードとも利用者からWAFへは受信済みです。TLS終端の手順は省略します。[T01]
この概念の要点
要点
HTTPの内容を、決めた条件と照合する
WAFはURLの値やヘッダー・本文などを検査する。この図ではqの値と教材ルールを比較する。[T01]
要点
検知と遮断は別の段階
同じ一致結果でも、記録して転送する設定と拒否する設定がある。実際の判定にはスコア等を使う方式もある。[T01・T03]
要点
誤検知・見逃しと、根本対策を考える
正常な入力も一致し得る。WAFを通っただけでは安全とはいえず、ルールの運用とアプリの修正を併用する。[T02・T04・T05]
理解確認
理解確認
理解確認
WAFの補足
ファイアウォール・IPSとの違い
IPアドレスやポート等で通信を制御するファイアウォールに対し、WAFはWebアプリのHTTP内容に着目します。IPSにも内容検査等の機能があり、製品によって機能は重なります。「FWは中身を一切見ない」「IPSはWebを守れない」とは限りません。WAFは上位互換や万能な代替品ではなく、役割・配置・検査対象を分けて考えます。[T01]
ルール一致から遮断が決まるまで
主図は架空の検知条件と、この教材の拒否方針を使った単純化です。実際には複数の検知結果からスコアを合計し、閾値と比べる方式等があります。OWASP CRSの説明でも検知と遮断判断を分けています。教材の文字列を、実運用のSQL対策用ブラックリストとして使用しないでください。実製品の推奨閾値・現行版の設定値は指定していません。[T03]
HTTPSの検査と設置場所
暗号化されたままのHTTP内容を無条件に読める仕組みではありません。TLS終端後に検査するなど、内容にアクセスできる構成が必要です。WAFは専用装置だけでなく、サービスやサーバーに組み込まれた機能としても提供されます。この教材はTLS終端後の要求検査の図であり、すべての設置形態を再現するものではありません。[T01・T02]
導入後の確認と限界
WAFは通信内容を条件と照合します。検知を記録して通すか、アプリへの転送を止めるかは設定によって変わります。通過は安全の保証ではなく、遮断してもアプリの脆弱性そのものが直るわけではありません。[T01〜T04]
誤検知:正常な検索でも一致する
SQLの解説を探す人が、検索語に『OR 1=1 の意味』と入力した場合も、教材ルールAには一致します。正当な検索なら誤検知となり、遮断設定では利用を妨げます。[T04]
見逃し:一致しない不正利用もある
他人の注文を閲覧しようとする要求でも、この教材ルールの並びを含まない場合があります。一般的な攻撃パターンの照合だけで、その利用者に閲覧権限があるかまでは判断できません。[T01]
併用する対策:ルール運用とアプリの修正
検知ログと正常な利用への影響を確認し、ルールを更新・調整します。アプリ側でも、SQLへ渡す値をパラメータとして分離したり、要求ごとに権限を確認したりする対策が必要です。[T02・T05]
アプリ変更や新しい攻撃への対応に応じて、ログ・利用への影響を確認し、ルールや対象範囲を調整します。ログには機微な情報が入り得るため、記録内容・閲覧権限等も設計します。WAFを迂回してアプリへ直接到達できる構成も確認対象です。[T01・T02・T04]
要求を止める主例と、処理後の応答だけを止める構成は異なります。後者はアプリ側の処理が既に行われている場合があります。WAFによる被害の緩和と、アプリの根本対策を併用します。[T02・T03]
関連:SQLインジェクション参考資料
- IPAIPA — Web Application Firewall読本
T01改訂第2版第3刷・2011年12月|§2.2、§3.1、§3.2.1 p.19–24、§3.3 p.28–29|検査・処理・ログ、HTTPS、限界|確認:2026-10-28
- IPAIPA — Web Application Firewallの導入に向けた検討項目
T022019年3月資料|§2.2.3 p.10–11、§4 p.15|運用・提供形態・根本対策と緩和|確認:2026-10-28
- OWASPOWASP CRS — Anomaly Scoring
T03更新日明示なし・CRS 3の説明|Overview、How Anomaly Scoring Mode Works|検知と遮断判断の分離。現行製品の設定値は指定しない|確認:2026-10-28
- OWASPOWASP CRS — False Positives and Tuning
T04更新日明示なし|What are False Positives?、Example False Positive、Rule Exclusions|正当な入力の一致と調整|確認:2026-10-28
- OWASPOWASP — SQL Injection Prevention Cheat Sheet
T05更新日明示なし|Introduction、Defense Option 1: Prepared Statements|SQLと入力値の分離|確認:2026-10-28
- IPAIPA — 情報処理安全確保支援士試験(レベル4)シラバス
T06Ver.2.1・2023年12月|印刷p.6/PDF8枚目・3-5|WAFの知識対応|確認:2026-10-28
- IPAIPA — 情報処理安全確保支援士試験 シラバス追補版(科目A-2)
T07Ver.4.0|印刷p.9/PDF12枚目・技術的セキュリティ対策|WAF・検知方式・誤検知等|確認:2026-10-28