WAFを理解する

WAFはWeb Application Firewallの略で、HTTP/HTTPSのリクエストやレスポンスを解析し、Webアプリケーションへの攻撃を検知・遮断する。

この単元で学ぶこと

  • WAFの意味と役割を説明できる
  • SQLインジェクションの意味と役割を説明できる
  • XSSの意味と役割を説明できる
  • FWとの違いを説明し、Web攻撃対策としてWAFを適切に配置・運用できる

本文解説

通常のファイアウォールがIPやポートを主に見るのに対し、WAFはURL、ヘッダ、Cookie、パラメータ、本文などWebアプリ層の内容を検査する。SQLインジェクションやXSSなどへの対策として利用する。

WAF HTTP/HTTPS通信の内容を解析してWebアプリへの攻撃を検知・遮断する仕組み。 ネットワークFWとは検査対象の層が異なる。

SQLインジェクション 入力値を悪用して意図しないSQLを実行させる攻撃。 WAFで典型パターンを検知できるが、アプリ側のプレースホルダ利用等も重要。

XSS Webページへ悪意あるスクリプトを混入させ利用者ブラウザで実行させる攻撃。 出力エスケープやCSPなどアプリ側対策と組み合わせる。

シグネチャ/ルール 既知の攻撃パターンや条件を定義しHTTP通信と照合する検査ルール。 誤検知と見逃しを減らすためチューニングが必要。

リバースプロキシ配置 Webサーバの前段で通信を受け、検査後にバックエンドへ転送する代表的構成。 実装方式は製品により異なるが前段検査の考え方を理解する。

TCP443が許可された後のHTTP内容を問う問題ならWAFの役割を検討する。

外部HTTPSを許可する必要があるWebサイトで、SQLインジェクション文字列を内容ベースで遮断するのがWAFの役割。

図解

WAFの検査位置
HTTPS許可後のHTTPリクエスト内容をWAFがWebサーバ前段で検査する。

重要ポイント

  • WAF: HTTP/HTTPS通信の内容を解析してWebアプリへの攻撃を検知・遮断する仕組み。
  • SQLインジェクション: 入力値を悪用して意図しないSQLを実行させる攻撃。
  • XSS: Webページへ悪意あるスクリプトを混入させ利用者ブラウザで実行させる攻撃。
  • シグネチャ/ルール: 既知の攻撃パターンや条件を定義しHTTP通信と照合する検査ルール。
  • WAFはWebアプリ攻撃への追加防御であり、安全なアプリ実装やパッチ適用を置き換えるものではない。

間違えやすい点

  • WAFがあればアプリの脆弱性修正が不要と考えない。
  • 通常のFWとWAFを同じ検査内容だと考えない。
  • 誤検知を放置して正規リクエストを大量遮断しない。

用語解説

WAF
HTTP/HTTPS通信の内容を解析してWebアプリへの攻撃を検知・遮断する仕組み。
SQLインジェクション
入力値を悪用して意図しないSQLを実行させる攻撃。
XSS
Webページへ悪意あるスクリプトを混入させ利用者ブラウザで実行させる攻撃。
シグネチャ/ルール
既知の攻撃パターンや条件を定義しHTTP通信と照合する検査ルール。
リバースプロキシ配置
Webサーバの前段で通信を受け、検査後にバックエンドへ転送する代表的構成。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。