WAF(Web Application Firewall)
Webアプリの手前に置き、通信の中身を見て怪しいものを止める仕組み。手当てが間に合わないときの保険にあたる。
もう少し詳しい説明
WAF(Web Application Firewall)は、Webアプリの手前に置き、通信の中身を見て怪しいものを止める仕組みです。
普通のファイアウォールとの違い
| ファイアウォール | WAF | |
|---|---|---|
| 見るもの | 送信元・宛先・ポート番号(どのアプリ向けの通信かを表す番号) | HTTPの要求の中身 |
| 働く階層 | ネットワーク層・トランスポート層 | アプリケーション層 |
| 止められるもの | 許していないポートへの通信 | 攻撃の形をした入力の中身 |
| 443番ポートへの攻撃 | 止められない(許している通信のため) | 止められる |
ファイアウォールは、443番ポートを許していれば中身を見ません。 Webアプリへの攻撃は、その許した通信に乗ってきます。そこを見るのがWAFです。
| 守る場所 | 仕組み |
|---|---|
| 網の境目 | ファイアウォール |
| Webアプリの手前 | WAF |
| アプリの中 | RASP |
止めようとする攻撃
| 攻撃 | 中身 |
|---|---|
| SQLインジェクション | 入力欄からSQLの断片を入れ、データベースを不正に操作する |
| クロスサイトスクリプティング | 入力した内容が他の利用者の画面で実行される |
| ディレクトリトラバーサル | 想定外の場所のファイルを読み取る |
| 大量の要求 | 同じ相手からのIPアドレス(通信の宛先になる番号)単位で要求を制限する |
見分け方の2つの形
| 方式 | 中身 | 性質 |
|---|---|---|
| ブラックリスト方式 | 攻撃の形の一覧を持ち、合うものを止める | 一覧に無い新しい形は通る |
| ホワイトリスト方式 | 許す形の一覧を持ち、合わないものを止める | 厳しいが、正当な要求も止まりやすい |
どちらも誤りが出ます。
| 誤り | 中身 |
|---|---|
| 止めるべきものを通す | 一覧に無い形の攻撃が抜ける |
| 通すべきものを止める | 正当な利用者が使えなくなる |
後者が運用で問題になります。 業務の内容によっては、SQLの単語を含む文章を普通に入力します。そのため、導入のあとにしばらく止めずに記録だけを取るという進め方をします。
根本対策との関係
| 立場 | |
|---|---|
| プレースホルダ、出力時のエスケープ | 根本対策。攻撃が成り立つ仕組みをなくす |
| WAF | 保険。手当てが済むまでの間、手前で止める |
WAFを置いても、アプリの弱点はそのまま残ります。 止めきれない形で来れば成り立ちます。
WAFが向く場面は次の形です。
| 場面 | 理由 |
|---|---|
| 直すのに時間がかかる | 手当てが済むまでの間をしのぐ |
| 直せない | 作った会社が無くなった古いシステムなど |
| 数が多い | 多数のアプリを一度に守る |
| 新しい弱点が公表された直後 | 修正が出るまでの間を埋める |
置き方
| 置き方 | 中身 |
|---|---|
| 機器として置く | 専用の装置をWebサーバ(要求を受けて応答する側のコンピュータ)の手前に置く |
| ソフトウェアとして入れる | Webサーバに組み込む |
| サービスとして使う | 通信を事業者の網に通して検査してもらう |
暗号化された通信との関係
HTTPS(HTTPをTLSで暗号化した形)の通信は中身が暗号化(内容を読めない形に変えること)されています。WAFが中身を見るには、復号(暗号化したものを元に戻すこと)する必要があります。
| 置き方 | どこで復号するか |
|---|---|
| WAFがTLSの終端になる | WAFで復号し、検査して、後ろへ渡す |
| 後ろのサーバが終端になる | WAFは中身を見られない |
TLSの処理をどこで行うかが、WAFの効き目に関わります。
試験ではこう出る
科目A(旧・午前)では、ファイアウォールとの違いが問われます。中身を見るのがWAF、ポート番号で選り分けるのがファイアウォールです。
根本対策と保険の区別も頻出です。WAFは保険の側です。
ブラックリスト方式とホワイトリスト方式の違いも出ます。合うものを止めるか、合わないものを止めるかです。
午後や応用情報では、対策の表の中に出てきます。「根本的な対策が済むまでの間に取る対策」という形で問われます。
関連する用語
- ファイアウォール
- 送信元・宛先・ポート番号で選り分ける機器。見る場所が違う
- プレースホルダ(バインド機構)
- SQLインジェクションの根本対策。WAFは保険
- SQLインジェクション
- WAFが止めようとする攻撃の1つ
- クロスサイトスクリプティング(XSS)
- 同じく止める対象になる攻撃
- RASP
- アプリの中に入って守る仕組み。手前で止めるWAFと置き場所が違う
ミニクイズ
WAFの説明として、最も適切なものはどれか。
正解は 2番:Webアプリへの通信の中身を検査し、攻撃とみられる要求を遮断する
WAFはWebアプリの手前に置き、HTTPの要求の中身まで見て攻撃とみられるものを遮断します。IPアドレスとポート番号で選り分けるのは一般的なファイアウォールの働きです。アプリの中に組み込まれて実行中を監視するのはRASPで、置き場所が違います。ファイルの中の不正なプログラムを扱うのはマルウェア対策ソフトです。
この分野をまとめて解く → セキュリティのミニテスト(全47問)
最終更新:2026-11-09