Web Application Firewall
第2世代のWAFは第1世代WAFと同じ構造で設計されたため、Webセキュリティ環境に存在する様々なWeb攻撃に適切に対応できず、結局第1世代WAFの限界であったパフォーマンス劣化や誤検知の問題は引き続き解決できなかった。また、依然として管理者による手動設定が必要であったため結果的に全体的な管理負担を増加につながった。
通信の検査は前述のようにホワイトリスト、ブラックリストを用いて行う。検査結果に基づいた通信の処理としては、そのまま通過させる、エラー応答を返す、遮断する、通信内容の一部を書き換えた上で通過させる、という4通りがある。またセッションのパラメータの正当性やHTTPリクエストの正当性を確認してCSRF等の攻撃を防ぐ機能、ウェブサイトの画面遷移の正当性を確認する機能、ホワイトリストやブラックリストを自動更新する機能、ログをレポートの形で出力する機能、不正な通信を管理者にメール等で通知する機能等がついている事もある。
WAFはウェブアプリケーションがあるサーバ(=ウェブサーバ)にインストールする場合と、ウェブサーバとインターネットの間に別サーバを設置してそこにインストールする場合がある。それぞれの比較は下記のとおりである:
なお、たとえばウェブアプリケーションの認可機能に問題があるが、HTTP通信自身には問題がないケースなどではWAFは異常を検知してくれないので別の対策が必要となる。
第1世代のWAFは、ブラックリスト及びホワイトリストを管理者があらかじめ登録しておいて、Webトラフィックをアプリケーション層で分析する際、その内容が登録されているパターンと一致するかどうかを比較する方式を採用した。
現在のWAFは検知能力を更に高めるためにAI・マシンラーニング技術を用いて、第3世代のWAFを補っていく方向に進化している。