Secure Steady
WAF - WAF(Web アプリケーションファイアウォール) の使い方・オプション・サンプル

WAF - WAF(Web アプリケーションファイアウォール)

HTTP/HTTPS トラフィックを検査し、SQLインジェクションやXSSなどの Web アプリケーション攻撃を検知・遮断する。

概念図

WAF(Web アプリケーションファイアウォール) diagram

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 へ上げていくのが定石です。

関連トピック