コンテンツにスキップ

Web Application Firewall

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Wakuna99 (会話 | 投稿記録) による 2019年1月26日 (土) 05:07個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

Web Application Firewall(略称:WAF、ワフ)とは、ウェブアプリケーション脆弱性を悪用した攻撃からウェブアプリケーションを保護するセキュリティ対策の一つ[1]。WAFを導入するウェブサイト運営者は、検出パターンを設定することで、ウェブサイトとウェブサイト利用者との間の通信の内容を機械的に検査する。WAFを使用することで、以下の効果が期待できる[1]

  • 脆弱性を悪用した攻撃からウェブアプリケーションを防御する。
  • 脆弱性を悪用した攻撃を検出する。
  • 複数のウェブアプリケーションへの攻撃をまとめて防御する。

検出パターンにクレジットカードの番号個人番号といった特徴のある個人情報のパターンを設定することで、そういった個人情報が悪意のある人に送信されてしまうことを防ぐといった使い方もできる[1]

セキュリティ対策としては、ウェブアプリケーションの実装面での根本的な対策ではなく、あくまでも攻撃による影響を低減する運用面での対策となる[1]

ウェブアプリケーションそのものに脆弱性を作り込まないために対策も各種あるが、現実的にはウェブアプリケーションの脆弱性を悪用した攻撃は後を絶たない。また、脆弱性が発見された場合においても、ウェブサイト運営者側の事情から即時に脆弱性を修正できないという実情もある。このため、ウェブアプリケーションが攻撃の被害にあわないためのセキュリティ対策の一つとして、WAFの使用が有効だと考えられている[1]

WAFを導入する主なケースとして、レンタルサーバ提供ベンダーや、複数のグループ企業を束ねている大手企業など、直接自分で管理していないウェブアプリケーションを保護したい場合、他社が開発したウェブアプリケーションを利用しているなど自分では脆弱性を防ぐことができない場合、事業継続の観点からウェブアプリケーションを停止できず脆弱性を行ったりパッチを当てたりできない場合等があり[2]、根本対策のコストよりもWAFの導入・運用のコストのほうが安い場合にWAFを導入する[2]

PCI-DSSでは、定期的なアプリケーションコードの見直しかWAFの導入のいずれかを行わなければならないと定められている[3]

概要

WAFはウェブサイトの前に設置し、ウェブアプリケーションの脆弱性に対する攻撃と思われる通信の遮断等を行うものであり、LANとインターネットの境界などに設置されることが多い通常のファイヤーウォールとは(その名称にもかかわらず)機能が異なる[4]。WAFが検知する攻撃はウェブサイトへのものに特化しており、HTMLを解釈してクロスサイトスクリプティングSQLインジェクションなどの攻撃を遮断する。

攻撃を遮断する点においてIPSと類似するが、IPSはOSやファイル共有サービスなど様々なものに対する攻撃を遮断するために不正な通信パターンをブラックリストとして登録しておくのに対し、WAFの防御対象はウェブアプリケーションに限定されている為ブラックリスト型の遮断のみならず、正常な通信を事前登録してホワイトリスト型の遮断も行うことができる[5]

WAFにはHTTP通信(リクエスト、レスポンス)を検査し、検査結果に基づいて通信を処理し、処理結果をログとして出力する機能がそなわっている[6]。通信の検査は前述のようにホワイトリスト、ブラックリストを用いて行う。検査結果に基づいた通信の処理としては、そのまま通過させる、エラー応答を返す、遮断する、通信内容の一部を書き換えた上で通過させる、という4通りがある[7]。またセッションのパラメータの正当性やHTTPリクエストの正当性を確認してCSFR等の攻撃を防ぐ機能、ウェブサイトの画面遷移の正当性を確認する機能、ホワイトリストやブラックリストを自動更新する機能、ログをレポートの形で出力する機能、不正な通信を管理者にメール等で通知する機能等がついている事もある[8]

WAFはウェブアプリケーションがあるサーバ(=ウェブサーバ)にインストールする場合と、ウェブサーバとインターネットの間に別サーバを設置してそこにインストールする場合がある。それぞれの比較は下記のとおりである[9]

インストール場所 利点 欠点・制約
ウェブサーバ
  • ウェブサーバがHTTPSに対応していればWAFがHTTPSに対応していなくてもHTTPSを処理できる。
  • ウェブサーバの動作環境に依存する
  • 複数のウェブサーバがある場合その全てにWAFを導入する必要がある。
  • WAFがウェブサーバの性能劣化の原因になる可能性がある
ウェブサーバとインターネットの間にある別のサーバ
  • ウェブサーバの動作環境に依存しない
  • 複数のウェブサーバがあっても1台のWAFで防御できる(ようにネットワークを構成できる)。特にネットワークベンダーがWAFを用意してくれれば、そのベンダーを利用してウェブサーバを構築した企業は自身でWAFを導入しなくて済む
  • 既存のウェブサイトに後からWAFを導入する場合はネットワーク構成を見直す必要がある
  • WAFによりウェブサイトの可用性が劣化する可能性がある

なお、たとえばウェブアプリケーションの認可機能に問題があるが、HTTP通信自身には問題がないケースなどではWAFは異常を検知してくれないので別の対策が必要となる[10]

代表的なオープンソースソフトウェアのWAF

韓国インターネット振興院オープンソースソフトウェアのWAFとして以下のソフトウェアを紹介している[1]

参考文献

出典・脚注