なぜ、WAFが必要とされるのか|WAF導入時の課題・ポイントについて解説
Webサイト・Webサービスのセキュリティ対策として最近耳にすることが多くなった「WAF」(ワフ)ですが、導入すれば全て解決!というものではありません。WAFで防げるサイバー攻撃は何なのか、ファイアウォールやIPS/IDS、DDoS対策、マルウェア対策など、その他のセキュリティ対策ソリューションとはどのように違うのか、どのように使い分けるべきなのかを理解しなくては、脅威に対して無防備な部分が残ってしまいかねません。この記事ではWAFについて、他のソリューションとどのように違うのか、WAFが必要とされる背景・WAFの種類・導入時に検討すべきポイントなどについて解説します。
WAFとは
WAFとはWeb Application Firewallの頭文字をとったもので、「ワフ」と呼ぶのが一般的です。その名の通り、Webアプリケーションを攻撃から守るためのセキュリティソリューションです。ファイアウォールやIPS/IDSなどでは防御できない、Webアプリケーションの脆弱性を突いた攻撃を検知・遮断することができます。Webサーバーへの通信内容を解析し、登録されている攻撃パターンと一致すれば不正なアクセスであると見なして攻撃を遮断するといった処理を行います。
WAFとファイアウォール・IPS/IDSとの違い
同様にサイバー攻撃からの保護を目的としたサーバセキュリティ対策として使われるものとして、ファイアウォールやIDS/IPSもあります。ただファイアウォールは基本的にIPアドレスやポート番号を識別して通信を制御するものであり、HTTP/HTTPSといったプロトコルで行われている内容にまで踏み込んで通信を制御できないため、WebサーバやWebアプリケーションを狙った攻撃を検知することはできません。
一方、IDS/IPSは主に内部ネットワークへの不正侵入の検知、あるいはOSやその上で動作するアプリケーションソフトウェアの保護が対象です。Webサーバを対象とした攻撃にはIDS/IPSで防げるものもありますが、さらにその上位層で実行されるWebアプリケーションの保護はIDS/IPSでは不十分です。
このため、Webアプリケーションまで含めたWeb環境全体のセキュリティを強化したいのであれば、IDS/IPSだけで安心するのではなく、WAFの導入も検討するべきでしょう。
WAFで防御できるサイバー攻撃
WebサイトやWebアプリケーションを狙う攻撃の手法は数多くあります。
-
・SQLインジェクション
Webアプリケーションの不備を突き、背後にあるデータベースの情報を不正に取得する攻撃
-
・クロスサイトスクリプティング
ウェブサイト上にある入力フォームに悪意のあるスクリプトを埋め込み、サイト訪問者の個人情報を盗み取る攻撃
-
・OSコマンドインジェクション
パラメータにOSコマンドを挿入し、プログラムに意図しないコマンドを実行させることを狙った攻撃
自社のWebサイトがマルウェアの配布に使われたといった攻撃のケースも目立っています。具体的には、Webサーバに不正アクセスし、WebブラウザでアクセスするとマルウェアをダウンロードするようにWebサイトの内容を改ざんします。このようなことが行われると被害者であると同時にマルウェアを拡散した加害者にもなり、アクセスした多くのユーザに被害を与えることになってしまいます。
こうしたサイバー攻撃を防ぐためのセキュリティ対策として、積極的に活用したいのがWAFなのです。
セキュリティ対策にWAFが必要とされる背景
個人情報漏洩事故の多くは「Webサービスへの攻撃」が原因
サイバー攻撃による被害は「サービス停止」「売上機会の損失」「ブランドイメージの棄損」などにとどまらず、予期せぬ二次災害を起こす可能性もあります。
Verizon社の調査によると、2018年に発生した情報漏洩インシデントの原因となった攻撃手法を分析した結果、「Webアプリケーション攻撃」が最も多く、全体の約29%を占めていました。※
これまでよく見られていたDDos攻撃や不正侵入、改ざんなどのサイバー攻撃からWebアプリケーションの脆弱性をついた攻撃へと傾向が変わっており、企業は新たなWebサービスへの脅威に対してセキュリティ対策が十分でないことが伺えます。
※参考:独立行政法人情報処理推進機構「情報セキュリティ白書 2019」
脆弱性とWAFの有効性について
Webサービスへの攻撃は、Webサーバー・Webアプリケーションに脆弱性がなければ本来成立しないものです。そのため、根本対策としてはWebサービス開発時に脆弱性を作らないセキュアコーディングを心がけ、万が一脆弱性が発見された場合には早急に修正することです。しかし現在WAFが重要視されている背景にはどのような事情があり、WAFの導入は脆弱性対策としてどのように有効なのでしょうか。
2017年3月、オープンソースのJava Webアプリケーションフレームワークとして提供されているApache Struts2の特定バージョンにおいて、リモートで任意のコードが実行される脆弱性(CVE-2017-5638)が発見されました。この脆弱性が悪用された場合、サーバー上で任意のコードが実行される可能性があるというものでした。
この脆弱性では、日本時間の3月6日に脆弱性が報告されてからPoC(※1)が確認されるまで12時間程度であったと言われており、日本国内でこの脆弱性を悪用した被害が発生したのは3月8日の17時頃であったと報告されています。このように、広く利用されているソフトウェアに深刻な脆弱性が発覚した場合、極めて短い期間でその脆弱性を悪用した攻撃が行われることが確認されています。非常に短期間で脆弱性が悪用されるとなると、企業においてアップデートなど即座に対応することは困難であり、サイバー攻撃の脅威に晒されてしまいます。しかし、この脆弱性に関しては複数のWAFベンダーからは3月7日中に攻撃を遮断できるシグネチャがリリースされていました。
※1 PoC(Proof of Concept):コンピュータセキュリティにおいて、脆弱性を利用した攻撃が可能であることを示した実際のコードのこと
※引用元:独立行政法人情報処理推進機構 セキュリティセンター「Web Application Firewall(WAF)の導入に向けた検討事項」
公表された脆弱性情報に基づき、すばやくセキュリティ対策を図るためには、各Webサーバーで使われているミドルウェアの種類やそのバージョンを細かく記録するといった構成管理は欠かせません。しかし実際には、社内で利用しているWebサーバーをすべて把握していない、あるいはミドルウェアのバージョンまでは管理できていないといったことが少なくないのが現状ではないでしょうか。数多くのWebサーバーを運用している場合、それぞれで使われているミドルウェアの種類やバージョンを適切に把握し、管理するのは容易ではありません。
構成管理ができていなければ、脆弱性情報が発表されてから調査を開始することになり、セキュリティ対策を実施するまでにタイムラグが生じてしまいます。この間に攻撃を受ければ、Webサーバーに蓄積している機密情報の漏洩など、大きな被害を受けることにもなりかねません。しかし、WAFを導入していればこのような場合において被害を食い止められる可能性があるのです。
WAF導入時のポイント
では、実際にWAFを導入する際にはどのようなことを検討する必要があるのでしょうか。ここではWAFの種類、WAF利用時の課題、導入時にチェックすべきポイントについて解説します。
WAFの種類
まずWAFにはどのような種類があるのか、ここでは導入/設置場所の違いと提供形態の違いの2つの観点から説明します。
●導入/設置場所の違い
・ゲートウェイ型(ネットワーク設置型)
ゲートウェイ型はネットワーク上に設置し、Webサーバーの手前で通信を精査する方式です。
Webサーバーの台数に依存しないため、複数台をまとめて保護したい場合などは特に有効です。Webサーバーと独立して存在するため、Webサーバーの動作環境や性能に影響を与えないというメリットがあります。ただし、導入する形態によってはネットワーク構成の変更が必要であったり、WAFに障害が発生するとWebサイトの閲覧ができなくなる可能性があるといった点には注意が必要です。
・ホスト型(サーバーインストール型)
ホスト型はWebサーバーに直接ソフトウェアやエージェントをインストールする方式です。
ネットワーク構成を変えずに導入できるため、一般的に手軽かつ安価に導入できる点がメリットです。ただし、Webサーバーごとに導入する必要があるため、複数台で構成している場合など対象サーバーが多い場合は却ってコストが嵩んでしまう可能性があります。
●提供形態の違い
・アプライアンス型
ハードウェアと一体になったアプライアンス型のWAFは、Webサーバーのあるサーバールームやデータセンターのネットワーク内に設置して利用します。
顧客自身で設計・構築・運用が可能なため、Webサービスの特性に応じた細かなチューニングが可能です。しかし専用の機器となるため導入費用は高価で、導入時にネットワーク構成の変更などが必要となります。WAF機器の運用保守や、設定のチューニングなどの運用負荷も高いため、小規模なWebサイトなどには不向きです。
・ソフトウェア型
ソフトウェアとしてWAFをインストールするタイプです。Webサーバーに直接インストールするタイプが多いですが、サーバーにインストールしたものをネットワークに設置する場合もあります。
専用機器が不要のため、アプライアンス型と比較して安価で、中には無償で利用できるオープンソースのものも存在しています。Webサーバーにインストールする場合は、ネットワーク構成の変更が不要で比較的導入も容易ですが、Webサーバー内で稼働するため性能に影響を及ぼす場合があります。また、運用開始後のアップデートや検知設定のチューニングといった運用作業は必要となります。
・クラウド/サービス型
最近増えているWAFをクラウドサービスとして利用するものです。ゲートウェイとしてクラウド上のWAFサービスを通過させるタイプと、ホスト型としてWebサーバーにエージェントをインストールして利用するタイプがあります。
機器やライセンスの調達が不要なため、導入費用が比較的安価で運用開始までの期間が短いです。導入の敷居の低さに加え、運用開始後もサービスベンダーがソフトウェアやシグネチャのアップデートを行うため、運用負荷が低く、専門知識がなくても導入可能な点が特長です。ただし、検知設定などのチューニングにどこまで対応可能かはサービスベンダーによって異なり、細かなチューニングはできない場合が多い点は注意が必要です。
WAF利用時の課題
・正常な通信が誤ってブロックされてしまうことがある
WAFのシグネチャや検知設定によっては、問題のないはずの正常な通信が攻撃と見なされブロックされてしまうことがあります。自社で運用するアプライアンス型やソフトウェア型では細かなチューニングで対応が可能な場合もありますが、クラウド型の場合はその検知設定自体を無効にするなど、WAFの防御ルールを緩めるしかない場合があります。特にレンタルサーバーなど共有型のホスティングサービスで標準提供されているWAFなどは、誤検知を少なくするために防御ルールが緩くなっている場合があります。
・チューニング・運用作業の煩雑さ
一般的にアプライアンス型やソフトウェア型は、自社Webサイトの性質に応じて適切な検知対象や検知ルールを設定することが前提になっており、専門知識が必要とされます。自社のWebアプリケーションに改修が入った場合などはそれに応じてWAFもチューニングする必要があり、その他にも新しいシグネチャの追加やWAF機能のアップデートといった運用作業が継続的に発生します。クラウド型の登場でシグネチャのアップデートは任せられるようになりましたが、前述のような細かなチューニングができないといった限界があります。
・監視運用対象が増える
チューニングの作業とは別に、WAFの監視運用作業が発生します。WAFが障害でダウンしていないか、問題なく稼働しているか監視しておく必要があります。導入しているWAFの構成によっては、WAFに障害が発生した場合はWebサイトへアクセスできなくなる場合もあるため、WAF障害時の影響範囲や対応策について予め確認し検討しておきましょう。その他にもWAFのログの保管・監視なども必要になります。
WAF導入時に検討すべきポイント
・防御したい攻撃に対応しているか
防ぎたいサイバー攻撃の種類によっては、WAFを導入しても防御できない可能性があります。どのような攻撃を防げるのか、これまでの実績などを確認すると良いでしょう。
・Webサイトの構成への影響
自社のWebサイトの構成への影響を考慮する必要があります。ネットワーク構成の変更ができない場合はWebサーバーにインストールするホスト型、Webサーバーの仕様上インストールができない場合はゲートウェイ型といったように、自社の環境に応じて検討しましょう。
・Webサイトの性能面での影響
どのようなWAFであってもWebサイトへの影響は発生します。ホスト型の場合はWebサーバーのリソースを消費し性能が落ちる可能性がありますし、ゲートウェイ型の場合は可用性や通信に影響を与える可能性があります。それぞれどの程度の影響が想定されるのか比較検討するようにしましょう。
・設定の自由度
特にクラウド型のWAFでは、チューニングや運用の手間が少ない分、設定変更の自由度が低い可能性があります。万が一誤検知が発生した場合どのような対応が可能かなど、対応の柔軟さなども確認しておくと良いでしょう。
・運用業務の負荷
WAFの導入後、どのような運用業務が発生するのか、その負荷はどの程度なのか確認しておきましょう。自社での対応が難しそうな場合、運用を含めたマネージドサービスを検討するのも選択肢の一つとなるでしょう。
導入から運用までお任せできる「攻撃遮断くんマネージドサービス」
クラウド型WAFの1つであり、多くの企業で採用されているのが「攻撃遮断くん」です。シグネチャは自動的にアップデートされるため、運用の手間をかけることなくWebサーバーへのサイバー攻撃に備えることができます。冒頭で紹介したApache Struts2の脆弱性を利用した攻撃を防いだほか、最新の攻撃手法にもいち早く対応します。仮にユーザー側でパッチの適用が間に合わなくても脆弱性を突いた攻撃を防げる可能性があり、WebサイトやWebアプリケーションのセキュリティを大幅に高められるでしょう。
物理サーバー・仮想サーバーをシームレスに利用できるクラウドサービス「ベアメタルクラウド」では、オプションサービスとしてリーズナブルなコストで利用できる「攻撃遮断くんマネージドサービス」を提供しています。導入時の初期設定から問い合わせ対応・設定変更・月次のレポート提供などまるっとお任せいただけるため、知識のない方でも簡単に導入が可能です。自社のWebサイト・Webサービスのセキュリティが心配な方はお気軽にご相談ください。