用語辞典・セキュリティ

WAF

WAFとは

WAFは、Webアプリへの通信内容を検査し、代表的な攻撃を遮断するWeb Application Firewallです。正式名称はWeb Application Firewall(ウェブ・アプリケーション・ファイアウォール)です。

HTTP・HTTPSの方式、ホスト、パス、問い合わせ、ヘッダー、Cookie、本文などをWeb要求として解析し、SQL注入、サイト横断scripting、パス横断、不正bot、過剰要求などを検知・制御します。

ネットワークファイアウォールが許可したHTTPSの中身を、アプリケーションに近い文脈で検査するものです。脆弱なコードを自動修正する仕組みではありません。

TLSを扱う入口でHTTP要求を構造化し、規則・比率・bot条件から許可・ブロック・チャレンジを決めるWebアプリケーションへ渡る前のapplication-layer 強制適用
利用者端末とbot・攻撃者のHTTPS通信をWAFが復号し、方式、パス、ヘッダー、Cookie、本文の構造を検査して許可・遮断・遅延を選び、Webアプリケーションへ転送する上段と、誤検知調整、コード未修正、非HTTPを対象外とする下段のピクトグラム図解
図1暗号化されたままではHTTP 本文を読めません。WAFまたは手前のプロキシでTLSを終端し、検査可能な構成にします。

要求を部品へ分けて検査する

Targetホストとパス

どのサイト・API・機能への要求かを選び、公開していない経路を拒否する。

Metadata方式とヘッダー

GET・POST、コンテンツタイプ、オリジン、クライアント情報、長さ、エンコーディングを正規化する。

StateCookieとトークン

セッション、CSRFトークン、bot識別、比率判定に使う値の存在と形式を見る。

Payload問い合わせと本文

フォーム、JSON、XML、マルチパートアップロードを解析し、危険パターンとスキーマ逸脱を検査する。

Behavior回数と順序

認証情報試行、scraping、列挙、異常な操作順序を時間軸で判断する。

Action通す・止める・確かめる

許可、ブロック、レート制限、CAPTCHA、ログ、別システムへの通知を行う。

署名と肯定モデルを使い分ける

否定モデルは既知の攻撃パターンや異常をブロックします。広いWeb機能へ導入しやすい一方、未知変形やobfuscationを見逃す場合があります。

肯定セキュリティモデルは、許可する方式、パス、パラメーター、種類、長さをスキーマとして定義し、それ以外を拒否します。APIでは強力ですが、仕様変更と規則更新を同期させる必要があります。

エンコーディングを正規化してから判断する

同じ文字をURL符号化、Unicode、二重符号化、圧縮、分割で表せます。WAFとアプリケーションの復号順が違うと、WAFでは安全に見え、アプリケーションでは攻撃になる要求smuggling・evasionが起き得ます。

プロキシ、WAF、Webサーバー、frameworkのHTTP解析差を試験し、曖昧な要求を拒否します。

誤検知を根拠とともに調整する

正規の検索語、ソースコード投稿、JSON、ファイルアップロードが攻撃パターンに似てブロックされるfalse肯定があります。最初は監視モードでbaselineを取り、規則ID、パラメーター、要求サンプルから狭い例外を作ります。

WAF全体やSQL注入分類を無効にせず、対象パス・パラメーター・方式へ限定し、期限と所有者を付けます。

仮想パッチは暫定的な経路防御

アプリケーションパッチをすぐ適用できないとき、特定パスやペイロードをブロックする規則を仮想パッチと呼ぶことがあります。攻撃面を早く減らせますが、別経路・エンコーディング・内部アクセスで回避される可能性があります。

恒久的にコード・設定を修正し、配備後に一時的な規則を見直します。

WAFが見えない範囲を把握する

SSH、データベース、メールなど非HTTPプロトコル、内部から直接バックエンドへ届く経路、クライアント側だけの問題、盗まれた正規アカウントの許可操作はWAFだけで守れません。

オリジンをWAF経由だけに制限し、アプリケーション認証・認可、安全coding、依存先更新、ログ監視を続けます。

応答と識別情報をログへ残す

要求ID、クライアント情報、ホスト・パス、規則ID、操作、バックエンド状態、遅延を残し、アプリケーションログと対応させます。本文やCookieには個人情報・秘密情報があるためマスキングと保管制限を行います。

WAFの価値は規則数ではなく、実際のWeb仕様に合わせた検査と例外、バックエンドを迂回させない構成、検知をコード修正へ戻す運用にあります。

Web application防御の確認資料:NIST CSRC Glossary「Web Application Firewall」OWASP「Web Application Firewall」

関連用語