「WAFだけ導入すればセキュリティ対策は十分?」
「WAFの効果はどのくらいなの?」
WAF(ワフ)とは、Webアプリケーションに潜む脆弱性を狙った攻撃を防ぐためのセキュリティ製品です。
導入することで、ファイアウォールやIPS/IDSでは対応できないクロスサイトスクリプティングなどの攻撃も防げます。ただしWAFでは防げない攻撃もあるため、脆弱性診断など他の製品と組み合わせて不足を補うことが重要です。
本記事では、以下の内容を詳しく解説します。
- WAFとは
- WAFの必要性
- WAFの機能
- WAFの種類
- WAFの効果
- WAFのしくみ
- WAFで防げる攻撃
- WAFを使用する際の注意点
本記事を読むことでWAFの必要性や、セキュリティ対策はWAFだけで十分なのかが分かります。
WAFを導入すべきか迷っている企業の方は、ぜひご一読ください。
Webサイトの利活用が増えている組織の方、必見!
WAFだけ導入すればセキュリティ対策は十分?
最新バージョンへ適宜アップデートする体制を整え、セキュアな状態を維持することが必要不可欠です。また、実装したコードに潜む脆弱性を見落とさないためにも、Webシステム全体の脆弱性をチェックし、最適な対策を実施する工程を加えましょう。まずは、こちらの資料をご覧ください。
WAFとは|Webアプリケーションを狙う攻撃を防御する壁
WAF(Web Application Firewall)とは、Webアプリケーションに潜むバグや不具合を狙った攻撃を防ぐためのセキュリティ製品です。
ネットワークやWebアプリケーションの前面などに配置し、通信の中身を確認してサイバー攻撃を検出・ブロックします。攻撃がWebアプリケーションに到達する前に遮断できるため、脆弱性をすぐ修正できない場合の対策として有効です。
WAFはWebアプリケーション層が守備範囲です。
クロスサイトスクリプティングやSQLインジェクションなどからWebアプリケーションを保護できますが、WAFを導入すれば他のセキュリティ対策が不要になるわけではありません。WAFの守備範囲外の欠陥から攻撃を受ける可能性もあるため、別の対策も導入して補完しあう必要があります。
ファイアウォール(FW)との違い
ファイアウォールとは、IPアドレスやポート番号といった通信の送信元・送信先の情報を確認し、アクセスを制限してネットワークへの攻撃を防ぐセキュリティ製品です。外部と内部ネットワークの中間に設置し、異常な侵入を防ぐ「防火壁」として機能します。外部から社内ネットワークへの不正な通信を制限したり、社内の機密情報を外部へ漏れないように保護したりします。
ただしファイアウォールは通信の中身まで確認しないため、正常な通信になりすました攻撃には対応できないのが弱点です。より巧妙化した攻撃に対しては、通信の中身までチェックするWAFで対応する必要があります。
IDS/IPSとの違い
IDS(不正侵入検知システム)は、OSやミドルウェアを狙った攻撃を検知するセキュリティ製品です。一方でIPS(不正侵入防止システム)は攻撃の検知に加え、攻撃をブロックすることもできます。攻撃パターンを定義したルールをもとに通信の中身をチェックし、リアルタイムで不正な通信を検知します。
ネットワーク・サーバー全般を狙った攻撃に対応でき、DDoS攻撃・バッファオーバーフロー・マルウェア感染など幅広い攻撃からWebシステム・アプリを守れるのが特徴です。ただしWebアプリケーションを狙った攻撃には複雑なものが多く、全てには対応できないため、弱点を補うにはWAFを導入する必要があります。
WAFの必要性
セキュリティ製品によって防御できる攻撃が異なり、Webアプリケーション層を保護できるのはWAFだけとなっています。IPAの「ソフトウェア等の脆弱性関連情報に関する届出状況」によると、サイバー攻撃の中でもっとも狙われやすいのはWebアプリケーションの脆弱性です。
WAFを導入すれば既知の脆弱性を狙った攻撃、パターン化された攻撃にはほとんど対応することが可能です。ただし、攻撃パターンを複数組み合わせたものや、Webサイトの特徴や仕組みを悪用した攻撃に対応することは難しい場合があります。
予算がない中小企業は最低限のセキュリティ対策としてWAFを導入しましょう。
個人情報やクレジットカード情報を取り扱っている企業は特に狙われやすいため、安全性を高めるためにWAFを導入しつつ、WAFで対応できない攻撃を検知するために脆弱性診断を実施するのが有効です。
また、独自の複雑な機能を持つWebサイトを運営する大企業やWebサイトのセキュリティ対策に不安が残る企業も同様に、WAFと脆弱性診断を導入することをおすすめします。
▼関連記事
脆弱性診断(セキュリティ診断)とは|必要性からやり方まで、すべて解説
WAFが攻撃を検知する3つの仕組み
WAFが攻撃を検知するしくみには、次の3つがあります。
- シグネチャ
- スコアリング
- AI
WAFは守りたいWebサイトにあわせて調整すれば非常に高い確率で攻撃を防げますが、その調整にはスキルが必要で時間もかかります。専門的なスキルがあり時間をかけて安全性を高めたいなら、シグネチャ型のWAFがおすすめです。
一方で導入の手間をかけずある程度のレベルまで対策したいなら、スコアリング型・AI型のWAFがよいでしょう。ただし防ぎきれない攻撃を受ける可能性もあるため、脆弱性診断を組み合わせて使うことが重要です。
以下、3つのWAFの仕組みについて詳しく解説します。
1. シグネチャ
シグネチャとは、既知の攻撃や想定される攻撃のパターンをまとめた定義ファイルのことです。Webアプリケーションへの通信内容をシグネチャを用いて検査し、不正な通信を検出します。
シグネチャに定義されたパターンから外れた通信は許可してしまうため、攻撃者の腕が良いと防げないデメリットがあります。また検出の精度はシグネチャの品質に依存するため、発見されたばかりの脅威にも対応できるよう定期的に更新することが大切です。
なお検知方法には、ブラックリスト型とホワイトリスト型の2種類があります。
ブラックリスト型
既知の攻撃パターンをリスト化し、不正な攻撃を拒否するのがブラックリスト型です。未知の攻撃には対応できず、新しい攻撃手法が見つかり次第シグネチャを更新する必要があります。
ホワイトリスト型
許可する通信をリスト化し、シグネチャに一致しなかった通信をすべて拒否するのがホワイトリスト型です。未知の攻撃も防ぐことが可能ですが、設定が厳しいと悪意のないユーザーも弾いてしまうため、使い勝手を優先して設定を甘くしている企業も多いのが現状です。このように、ホワイトリスト型はどの通信を許可するかの判断が難しい面があります。
2. スコアリング
スコアリングは通信内容を確認してさまざまな要素をスコア化し、一定数を超えた通信を攻撃と判断する方法です。例えば、たまたま誤った操作をしてしまった場合の通信は弾かない一方で、何度も不審な動きをした場合は攻撃とみなして遮断します。シグネチャによる検知に比べて誤検知が少ないのが特徴です。
未知の攻撃にも対応でき、設定を見直す頻度も少ない傾向にあります。ただし誤検知が発生して検知基準を調整する際は、修正箇所が多いため対応が難しいデメリットがあります。
3. AI
AIを利用した検知方法では、既存の攻撃パターンやさまざまなデータから通信の正常・異常を判断します。柔軟な判断ができるため未知の攻撃に対応でき、誤検知も比較的少ないのが特徴です。
ただし攻撃判定のロジックを説明するのが難しく、WAF製品によっては検知方法や精度が詳しく公開されていないものがあります。実際に導入するまで性能の高さや使い勝手が分かりにくいのがデメリットです。
WAFの主な5つの機能
WAFは、5つのセキュリティ機能を備えています。
- 通信の監視・ブロック
- Cookieの保護・暗号化
- 特定のURL・IPアドレスの設定
- ログ・レポートの確認
- シグネチャの更新
WAFを使いこなすには、どのような機能があるのか把握しておくことが大切です。本章では5つの機能について解説します。ぜひ参考にしてください。
1. 通信の監視・ブロック
WAFは通信を常時監視し、通信内容を判断して不正な通信をブロックする機能があります。判断方法は、シグネチャ・スコアリング・AIそれぞれの攻撃検知の仕組みに準拠しています。
2. Cookieの保護・暗号化
WAFでは、Webサイトの閲覧・入力情報を保存するCookieを保護したり、暗号化したりできます。CookieにはID・パスワードの情報などが保存されているため、攻撃者に盗まれると不正アクセスなどの被害を受ける可能性があります。Cookieを狙った攻撃は多いため、被害を防ぐにはWAFで保護することが有効です。
3. 特定のURL・IPアドレスの設定
WAFでは、危険ではないURLのアクセスをチェック対象から外したり、攻撃に使用されるIPアドレスからのアクセスを除外したりする設定が可能です。設定によって毎回すべての通信内容をチェックする必要がなくなるため、通信パフォーマンスの低下を防げます。
4. ログ・レポートの確認
WAFが通信を拒否したURL・IPアドレスやサイバー攻撃は、ログやレポートで内容を確認できます。攻撃の種類やアクセスされた回数などをデータ化してくれる製品もあるため、うまく活用すればセキュリティ対策をより強化できるでしょう。
5. シグネチャの更新
シグネチャを利用したWAFの場合、定期的にシグネチャが更新されるため、新たな攻撃手法が見つかっても早急な対応が可能です。自分で設定を見直さなくても最新状態を保持でき、管理が楽になります。
ただし、自動更新されるのは主にクラウド型で、アプライアンス型とソフトウェア型は手動で設定を変えなければならないケースもあります。更新の手間を省きたい場合は、製品選びの際に自動更新があるかチェックしましょう。
WAFの効果
WAFを導入することによって得られる効果は、次の2つです。
- 脆弱性が修正されるまでの時間を稼げる
- セキュリティ対策を均質化できる
WAFはゼロデイ攻撃のような緊急時の対応にも有効であり、全体のセキュリティレベルの底上げにもつながります。WAFのメリットを理解し、Webアプリケーションの安全な運用に役立てましょう。
脆弱性が修正されるまでの時間を稼げる
WAFはさまざまなサイバー攻撃に対応できるため、新たな脆弱性が発見されたとしても攻撃を遮断できる可能性が高く、修正パッチが配信されるまでの時間を稼げます。また脆弱性を把握していながら、Webアプリケーションの改修規模が大きくすぐに対応できない場合にも、暫定対策としてWAFは有効です。
セキュリティ対策を均質化できる
複数のWebサーバーやWebシステムを活用している場合、WAFを導入すればセキュリティ対策を均質化できます。脆弱性対策が不十分な箇所や対策漏れがあった場合、WAFで攻撃リスクを低減できるため、セキュリティレベルを一定に保つことができるでしょう。
WAFで防げる7つの攻撃
WAFで防げる攻撃には、主に次の7つがあります。
- クロスサイトスクリプティング
- SQLインジェクション
- OSコマンドインジェクション
- DDoS攻撃
- バッファオーバーフロー
- ディレクトリトラバーサル
- ブルートフォースアタック
紹介する攻撃の中には、WAF以外のセキュリティ製品では防げないものもあります。サイバー攻撃におけるWAFの有効性を確認していきましょう。
1. クロスサイトスクリプティング
クロスサイトスクリプティング(XSS)は最も多い攻撃手法です。Webサイトのリンクや入力フォームなどにスクリプトを仕掛け、ユーザーがリンクを押下することで不正な動作が実行されます。偽の画面に誘導して個人情報を入力させたり、Cookieに含まれる認証情報を盗んだりします。
XSSは不正なスクリプトにより引き起こされるため、通信の中身を監視して攻撃を検知できるWAFが有効です。IDS/IPSには通信の中身を精査する仕組みがないため、XSSをリアルタイムに検出・防御したいのであればWAFの導入を検討しましょう。
▼関連記事
クロスサイトスクリプティング(XSS)|影響と対策をわかりやすく解説
2. SQLインジェクション
SQLインジェクションは、データベースへの命令文であるSQLを悪用して不正な動作を誘発する攻撃です。攻撃を受けるとデータベースに保存された個人情報やクレジットカード情報などが盗まれたり、不正アクセスされたりする可能性があります。
SQLインジェクションもWebアプリケーションを狙った攻撃のため、通信の中身を監視して攻撃を検知できるWAFが有効です。WAFの種類や設定によっては、正しいSQLクエリと攻撃用のSQLクエリを判別して、危険な攻撃だけ防ぐことができるWAFもあります。
▼関連記事
SQLインジェクションの対策|被害事例と攻撃が起こる仕組みを解説
3. OSコマンドインジェクション
OSコマンドインジェクションは、Webサイトの入力フォームなどにOSコマンド(コンピュータへの命令)を仕掛け、不正な動作を実行する攻撃です。攻撃を受けると、情報漏えい・ファイルの改ざん・データベースの破壊など、さまざまな被害が発生する可能性があります。
OSコマンドインジェクションもWebアプリケーションを介して行われる攻撃であり、通信の中身を監視して攻撃を検知するWAFが有効です。
▼関連記事
OSコマンドインジェクション|仕組みと脅威、効果的な対策を解説
4. DDoS攻撃
DDoS攻撃は、Webサーバーに大量のデータを送付して負荷をかけ、サーバーダウンを狙う攻撃です。攻撃を受けるとWebサイトにアクセスできなくなり、企業は金銭的ダメージを受けるだけでなく、ユーザーからの信頼を失うことにもなります。
DDoS攻撃は、WAFとIDS/IPSで攻撃を防ぐことが可能です。どちらもDDoS攻撃を検知し、攻撃が到達する前に遮断します。
5. バッファオーバーフロー
バッファオーバーフローは、パソコンに大量のデータを送信し、データ許容量を超えさせることで誤作動を引き起こす攻撃です。攻撃を受けると管理者権限が盗まれてWebサイトが改ざんされたり、犯罪の踏み台として利用されたりします。
バッファオーバーフローを防ぐには、WAFで受信できるデータの許容量を設定しておくのが有効です。
6. ディレクトリトラバーサル
ディレクトリトラバーサルは、一般には公開していないファイルに不正アクセスし、情報を盗取する攻撃です。不正アクセスされるとファイルを改ざん・削除されたり、重要な情報を盗まれたりする可能性があります。
WAFを導入しておけば不審な通信を検知するため、非公開のファイルへアクセスを試みる通信をブロックします。
7. ブルートフォースアタック
ブルートフォースアタックは、Webアプリケーションなどへのログインに必要なID・パスワードを総あたりで解析し、不正アクセスを試みる攻撃です。アカウントが乗っ取られると、Webサイトを改ざんされたり踏み台として利用されたりする可能性があります。
WAFを導入しておくと、ログイン情報を解析しようとする不審な動きを検知し、通信を遮断できます。
WAFの導入方法は3パターン
WAFには、以下の3つの種類があります。
- アプライアンス型(ゲートウェイ型・ネットワーク型)
- ソフトウェア型(ホスト型)
- クラウド型(サービス型)
種類によって費用やカスタマイズ性、導入のしやすさ、専門知識の有無などが異なります。
本章ではWAFの種類ごとのメリット・デメリットを解説するので、自社に適したWAF選びの参考にしてください。
1. アプライアンス型(ゲートウェイ型・ネットワーク型)
アプライアンス型は、ネットワーク内にWAFの専用機器を独立して設置する方法です。以下のようなメリット・デメリットがあります。
メリット
• 専用機器は独立して動作するため、Webサーバーに負担がかからない
• Webサーバーの環境に依存せず、機器の設定を柔軟に行える
• 保護したいWebサーバーの数が多い場合はコストパフォーマンスがよい
デメリット
• 導入・運用コストが高い
• 専用機器を導入する必要があり、管理するハードウェアが増える
• 細かな設定を行うには専門知識が必要
運用しているWebシステムの規模が大きく、複数のWebサーバーを利用している場合はアプライアンス型が向いているでしょう。ただし企業独自の細かな設定を行うには専門知識が必要なため、社内で運用が難しい場合は外部委託を検討する必要があります。
2. ソフトウェア型(ホスト型)
ソフトウェア型は、保護したいWebサーバーにWAFをインストールする方法です。以下のようなメリット・デメリットがあります。
メリット
• 専用機器が必要なく、比較的低コストで導入できる
• WAFをインストールしたWebサーバー以外の端末への影響がない
• 設定のカスタマイズが可能
デメリット
• Webサーバー1台1台にインストールする必要がある
• インストールするWebサーバーの数が多いとコストがかさむ
• WAFを導入するとWebサーバーに負荷がかかり、処理スピードなどの性能に影響が出る
保護したいWebサーバーの台数が少なく、アプライアンス型よりも手軽に設定変更したい場合はソフトウェア型が向いているでしょう。比較的安価ですが、Webサーバーのパフォーマンスに影響が出てしまう点に注意が必要です。
3. クラウド型(サービス型)
クラウド型は近年主流となっているWAFで、インターネット経由でWAFの機能を利用する方法です。以下のようなメリット・デメリットがあります。
メリット
• 導入コストが安価
• サービスを契約するだけですぐにWAFを導入できる
• ベンダーがWAFの運用・保守を行うため、社内・外注でリソースを割く必要がない
デメリット
• カスタマイズ性が低い
• サービスの質がベンダーによって異なる
• 監視したいURLや通信量が多いとコストが高くなる
コストが安く運用のための専門知識が不要なため、気軽にWAFを導入したい場合はクラウド型が向いているでしょう。ただしサービスの質はベンダーに依存するため、質の高さは実績や評判を確認して判断する必要があります。
WAFを使用する際の注意点
WAFを使用する際には、次の2点に注意しましょう。
- 誤検知・誤遮断の可能性がある
- すべての攻撃を防げる訳ではない
WAFは防げる攻撃の種類も多くセキュリティ対策として非常に有効ですが、完璧な製品というわけではありません。「WAFがあればセキュリティは問題ない」と過信せず、注意点を知った上で活用しましょう。
誤検知・誤遮断の可能性がある
WAFのセキュリティレベルが厳しいと誤検知・誤遮断する可能性があり、正常な通信を弾いてしまうことがあります。誤検知・誤遮断を減らすためには、その都度設定を見直さなければなりません。
ただし、セキュリティレベルが低すぎると攻撃を受けるリスクが上がるため、専門知識がないと設定の加減が難しいでしょう。社内で専門の担当者を用意するのが困難な場合は、外部委託を検討する必要があります。
他の手段として、脆弱性診断ツールを導入する方法があります。脆弱性診断ツールとは、Webアプリケーションの不備や脆弱性を検知、報告するツールのことです。
攻撃を遮断するWAFとは機能が違いますが、脆弱性診断ツールを導入することにより、WAFの設定を外部に委託する必要はなくなり、自社で脆弱性を発見して対策を講じることが可能になります。
「脆弱性診断ツール(サービス)|有料・無料の違いと5つの選定ポイント」をお読みいただき、自社に合うWebアプリケーションのセキュリティ対策の選択肢を広げてみてはいかがでしょうか。
すべての攻撃を防げる訳ではない
WAFは万能なセキュリティ製品ではなく、ネットワークやOS・ミドルウェアへの攻撃、botによる不正ログインなどは防げない場合があります。安全性を高めるには、ファイアウォールやIDS/IPSなど、複数のセキュリティ製品を導入して多層防御することが大切です。
また、セキュリティをすり抜ける攻撃がないかどうか、脆弱性診断を実施して確認することも重要です。脆弱性診断は外部攻撃を受けるリスクを検出・通知してくれるため、問題にいち早く対応できます。
さまざまなセキュリティ製品を導入することで被害を受けるリスクを小さくできるため、WAF以外の製品の導入も検討しましょう。
まとめ|脆弱性が修正されるまではWAFで防御が有効
WAFとは、Webアプリケーションに潜む脆弱性を狙った攻撃を防ぐためのセキュリティ製品です。通信の中身を確認して攻撃がWebアプリケーションに到達する前に遮断するため、脆弱性が修正されていなくても防御できます。ファイアウォールやIPS/IDSでは対応できない、クロスサイトスクリプティングなどの攻撃にも有効です。
WAFの導入には、以下の2つのメリットがあります。
- 脆弱性が修正されるまでの時間を稼げる
- セキュリティ対策を均質化できる
緊急時の対応にWAFは有効であり、全体のセキュリティレベルの底上げができます。ただしWAFだけ導入すれば安心というわけではなく、安全性を高めるにはファイアウォールやIDS/IPS、脆弱性診断など複数のセキュリティ製品との併用が必要になる場合があります。
必要最低限のセキュリティ対策としてWAFを導入し、WAFで対応していない脆弱性の対策には他の製品の導入も検討しましょう。