WAFの選択はパフォーマンスや手軽さがカギ

 WAFの選定に際して,次のようなポイントを重視したい。

  • パフォーマンス
  • 運用の手軽さ
  • どのような攻撃から守るのか
  • 導入形態は単一か統合か
  • その他

 パフォーマンスについては,会社の規模が大きいからといって高パフォーマンスなWAFが必要なわけではない。注意する点はアクセス数とサイトの規模である。(1)どれくらいのユーザが利用しているのか,(2)いくつのサイトをWAFで防御するのか,を考慮し,必要なパフォーマンスを算出する。

 運用の手軽さを示す一例として,自動更新機能の有無がある。最近のWAFは,運用段階でのルール更新作業の負荷を軽減する機能として,自動更新機能を備えた製品が出ている。WAFのルール設定は短くても数週間の期間が必要だったが,自動更新機能を備えた製品では,ルール設定に必要な期間を削減し,導入時の負荷を減らすことも可能である。ルール設定はWebサイトに合わせて行うのが理想ではあるが,時間が取れない場合には自動更新機能を使用するのも1つの手だろう。

 どのような攻撃から守るのかについては,最近のWAFはルールの設定方法に若干の違いはあるものの,対応しているぜい弱性の種類にはほとんど差が無い。先に説明したように,すべての攻撃をWAFで防ぐことができるわけではない。若干の違いであれば特に問題にはならないため,機器による違いは気にする必要はほとんどないだろう。

 WAFの導入形態としては,(1)単一機能としてWAFを導入する,(2)ファイアウォールに拡張モジュールとしてWAF機能を追加する,(3)Webサーバーにインストールするホスト型形態――が存在する。また,ロードバランサ機能やSSLアクセラレータ機能,Webキャッシュなどの機能を統合した製品もある。WAF以外の製品も購入予定であれば統合製品を検討してもよいだろう。

 その他に考慮すべき点として「クローキング機能」がある。クローキングとは,インバウンド通信に対する対策だけでなく,アウトバウンド通信に対する対策も実施できる機能である。WAFのルール設定をかいくぐり,SQLインジェクション攻撃が成功してしまっても,クローキング機能は,サーバーからクライアントへのアウトバウンド通信を確認し,通信を遮断することにより,クレジットカード番号の流出を阻止することができる。ただし,アウトバウンド通信を行わない攻撃(データの削除・変更など)が行われた場合には被害が発生することを忘れてはならない。クレジットカード番号を例として説明したが,フォーマットを定義することで,個人情報の漏洩を防止することも可能である。

 また,攻撃者は攻撃を開始する前に予備調査としてサーバーやアプリケーションの種類やバージョン情報を調べ,既知のぜい弱性が存在する場合には,そのぜい弱性を突いた攻撃を行う。WAFによっては,このような予備調査に使用されるバージョン情報などを隠す機能を備えたものも出ているので,有効利用するのも手だろう。