WAF - WAF(Web アプリケーションファイアウォール)
HTTP/HTTPS トラフィックを検査し、SQLインジェクションやXSSなどの Web アプリケーション攻撃を検知・遮断する。
概念図
WAF の位置付けと守る対象
WAF は OSI モデルの L7(アプリケーション層)で動作し、HTTP リクエストのメソッド、URL、ヘッダ、クッキー、ボディを検査して攻撃を検知・遮断します。
パケットフィルタや NGFW がネットワーク境界で到達性を制御するのに対し、WAF は「通信は到達する前提で、その中身が正当な Web リクエストか」を判定する層です。
| 観点 | パケットフィルタ | NGFW | WAF |
|---|---|---|---|
| 主な動作レイヤ | L3/L4 | L3〜L7 | L7(HTTP/HTTPS 特化) |
| 主目的 | 到達性の最小化 | アプリ識別・脅威防御 | Web アプリ固有の攻撃防御 |
| 主な検知対象 | 不正な IP/ポート | マルウェア・IPS シグネチャ | OWASP Top 10(SQLi / XSS / RCE 等) |
| TLS の扱い | 原則素通し | SSL 復号オプションあり | 終端するか、ミラー復号で検査 |
WAF が主に対象とする脅威は OWASP Top 10 に代表される Web アプリ特有の攻撃で、SQL インジェクション、クロスサイトスクリプティング、コマンドインジェクション、パストラバーサル、悪性ボット、クレデンシャルスタッフィング、アプリ層 DDoS などが典型です。
検知モデル: ネガティブ vs ポジティブ
WAF の検知方式は大きく「ネガティブセキュリティモデル」と「ポジティブセキュリティモデル」に分かれ、実運用ではハイブリッドで使うのが一般的です。
| モデル | 方針 | 代表実装 | メリット | デメリット |
|---|---|---|---|---|
| ネガティブ(シグネチャ型) | 既知の攻撃パターンを拒否 | ModSecurity + OWASP CRS、AWS WAF Managed Rules | 導入が容易、広範な既知攻撃をカバー | 未知攻撃に弱い、誤検知が出やすい |
| ポジティブ(ホワイトリスト型) | 正常な入力の形だけを許可 | Imperva、F5 BIG-IP ASM のアプリプロファイル | 未知攻撃にも強い、誤検知が少ない | 学習や設計コストが大きい |
| 振る舞い型 / ML 型 | 統計・機械学習でアノマリを検知 | Cloudflare Bot Management、商用 WAF の ML 機能 | ボットや低速ブルートフォースに有効 | ブラックボックス化、チューニングが難しい |
多くの商用 WAF はこの 3 つを組み合わせており、まずマネージドルール(ネガティブ)でベースラインを敷き、そのうえでアプリ固有の入力仕様に応じたカスタムルール(ポジティブ)と振る舞い検知を重ねていくのが標準的なアプローチです。
代表製品と Core Rule Set(CRS)
WAF は配置形態と提供形態で選択肢が異なります。
| 製品 / 実装 | 形態 | 特徴 |
|---|---|---|
| ModSecurity + OWASP CRS | オープンソース(Apache / Nginx / IIS モジュール) | デファクトのネガティブルール実装。CRS は OWASP Top 10 を広くカバー |
| AWS WAF | クラウド(CloudFront / ALB / API Gateway) | マネージドルール、レートベースルール、Bot Control を提供 |
| Cloudflare WAF | クラウド(リバースプロキシ型) | グローバル CDN 網と Bot Management、DDoS 防御が統合 |
| Imperva(SecureSphere / Cloud WAF) | アプライアンス / クラウド両対応 | ポジティブセキュリティモデルとアプリ学習に強み |
| F5 BIG-IP Advanced WAF(旧 ASM) | アプライアンス / 仮想 | 高度なアプリプロファイル、Bot Defense、L7 DDoS 防御 |
| Azure Front Door WAF / Application Gateway WAF | クラウド | Azure 環境に統合、CRS ベースのマネージドルール |
ルールセットの標準として広く使われるのが OWASP ModSecurity Core Rule Set(CRS) です。
CRS は「Paranoia Level」と呼ばれる感度段階(PL1〜PL4)を持ち、PL1 は誤検知が少なく広く使える一方、PL3 以上は厳格ですが正規のリクエストまで弾きやすくなります。
導入時は PL1 + 検知モードから開始し、ログを観測しつつ段階的にブロックモード・高 PL へ上げていくのが定石です。
関連トピック
ファイアウォール- ネットワークトラフィックを監視・制御し、不正なアクセスを遮断するセキュリティ装置。パケットフィルタリングやステートフルインスペクションなどの方式がある。 パケットフィルタリング- IP アドレス・ポート番号・プロトコルに基づいてパケットを許可・拒否する最も基本的なファイアウォール方式。 次世代ファイアウォール(NGFW)- アプリケーション識別・IPS・SSL復号などを統合した高機能ファイアウォール。従来のポートベースの制御を超えた制御が可能。 SQL インジェクション- ユーザー入力を通じて不正な SQL 文を実行させる攻撃。データの漏洩・改ざん・削除が可能になる。 XSS(クロスサイトスクリプティング)- 悪意あるスクリプトを Web ページに注入する攻撃手法。反射型・格納型・DOM Based の 3 種類がある。 