Web セキュリティ

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

約 5 分で読めます

WAF とは

WAF (Web Application Firewall) は、Web アプリケーションへの HTTP/HTTPS トラフィックを検査し、悪意のあるリクエストを検知・遮断するセキュリティ製品です。従来のファイアウォールがネットワーク層 (L3/L4) で IP アドレスやポート番号を制御するのに対し、WAF はアプリケーション層 (L7) で HTTP リクエストの中身を解析します。

XSSSQL インジェクション、CSRF、ディレクトリトラバーサルなど、Web アプリケーション固有の攻撃を防御できます。OWASP Top 10 に挙げられる脆弱性の多くは WAF で緩和可能です。ただし、WAF はあくまで「緩和策」であり、アプリケーション自体の脆弱性を修正する代替にはなりません。

WAF の検知方式

  • シグネチャベース (ブラックリスト方式): 既知の攻撃パターン (シグネチャ) と照合して検知する方式。SELECT * FROM<script> などの文字列パターンをリクエスト内で検出する。既知の攻撃に対して高い検知率を持つが、未知の攻撃やシグネチャを回避する難読化手法には弱い。
  • ホワイトリスト方式: 正常なリクエストのパターンを定義し、それ以外をすべてブロックする方式。未知の攻撃にも対応できるが、正常なリクエストの定義が不完全だと誤検知 (False Positive) が多発する。API のように入力形式が厳密に定義されている場合に有効。
  • スコアリング方式: 複数のルールに対する違反度をスコアとして加算し、閾値を超えたリクエストをブロックする。単一のルールでは判定が難しいグレーゾーンの攻撃に対して柔軟に対応できる。ModSecurity の Anomaly Scoring Mode がこの方式を採用。
  • 機械学習ベース: 正常なトラフィックパターンを学習し、逸脱するリクエストを異常として検知する。未知の攻撃に対応できる可能性があるが、学習データの品質に依存し、誤検知の調整が難しい。

WAF の導入形態

WAF は導入形態によって 3 つに分類されます。

  • クラウド型 WAF: DNS を変更してトラフィックをクラウド WAF 経由にルーティングする方式。AWS WAF、Cloudflare WAF、Akamai が代表的。導入が容易で、DDoS 攻撃対策も統合されていることが多い。月額課金で初期費用が低い。
  • アプライアンス型: 専用ハードウェアをネットワーク上に設置する方式。高いスループットと細かなカスタマイズが可能だが、初期費用が高く、運用に専門知識が必要。大規模企業向け。
  • ソフトウェア型 (ホスト型): Web サーバーにモジュールとしてインストールする方式。ModSecurity が代表的。オープンソースで無料だが、ルールの作成・チューニングに高い専門性が求められる。

小規模サイトにはクラウド型、大規模で細かな制御が必要な環境にはアプライアンス型が適しています。AWS 環境では AWS WAF を CloudFront や ALB に統合することで、インフラ変更なしに導入できます。

WAF 運用の実践ポイント

WAF は「導入して終わり」ではなく、継続的なチューニングが不可欠です。

  • 誤検知の管理: WAF の最大の運用課題は誤検知です。正常なリクエストがブロックされると、ユーザー体験を直接損ないます。導入初期はブロックモードではなく検知モード (ログのみ) で運用し、誤検知パターンを把握してからブロックに切り替えてください。
  • ルールの定期更新: 攻撃手法は日々進化するため、マネージドルールセットを利用している場合でも、新しいルールの追加や既存ルールの有効性を定期的に確認する必要があります。
  • ログ分析: WAF のログはセキュリティインシデントの調査に不可欠です。ブロックされたリクエストのパターンを分析し、攻撃の傾向を把握してください。
  • CSP との併用: WAF がサーバー側でリクエストをフィルタリングするのに対し、CSP はブラウザ側でスクリプトの実行を制限します。両者を組み合わせることで、XSS に対する多層防御が実現します。

WAF はアプリケーションの脆弱性を根本的に修正するものではありません。WAF に頼りきるのではなく、セキュアコーディング、入力バリデーション、パラメータ化クエリなど、アプリケーション側の対策と併用することが重要です。

よくある誤解

WAF を導入すれば Web アプリケーションの脆弱性対策は完了
WAF は既知の攻撃パターンを緩和しますが、アプリケーション自体の脆弱性は残ったままです。WAF のルールを回避する手法も存在するため、根本的な脆弱性修正とセキュアコーディングが不可欠です。
WAF はすべての Web 攻撃を防げる
ビジネスロジックの悪用 (不正な値引き操作、権限昇格など) や、認証情報の窃取 (フィッシング) など、正常なリクエストと区別がつかない攻撃は WAF では検知できません。WAF が得意なのは SQL インジェクションや XSS のような構文的に異常なリクエストの検知です。

クラウド型 WAF とアプライアンス型 WAF の比較

クラウド型 WAF

DNS 変更で導入可能。初期費用が低く、DDoS 対策も統合。マネージドルールで運用負荷が低い。ただしカスタマイズの自由度はベンダーに依存し、トラフィック量に応じた従量課金でコストが増加する場合がある。

アプライアンス型 WAF

自社ネットワーク内に設置。高スループットと細かなルールカスタマイズが可能。ただし初期費用が高く、ルール作成・チューニングに専門知識が必要。ハードウェアの保守・更新も自社で対応する必要がある。

関連用語

関連記事