WebサイトやWebサービスは、インターネットに公開されている以上、常に攻撃の的になります。こうした攻撃からWebアプリケーションを守る仕組みが、WAF(Web Application Firewall)です。ファイアウォールでは防げない、Webアプリケーションを狙った攻撃を防ぐのが役割です。
ここでは、WAFとは何かを、防げる攻撃と仕組みから解説します。ファイアウォールやIDS・IPSとの違いに加えて、WAFの種類と、導入・運用で気をつけることもまとめました。
この記事で分かること
- WAFとは何か、防げる攻撃と必要とされる理由
- WAFの仕組みと、ファイアウォール・IDS・IPSとの違い
- WAFの種類と主なサービス、導入・運用の進め方
WAFとは?
Webアプリケーションを守るファイアウォール
WAF(Web Application Firewall、読み方は「ワフ」)は、WebサイトやWebサービスを動かすWebアプリケーションへの攻撃を防ぐ仕組みです。利用者とWebサーバーのあいだに置き、やり取りされる通信の中身を調べて、攻撃と判断した通信を止めます。
| 通信の流れ | 内容 |
|---|---|
| 1. 利用者 | ブラウザーからWebサイトにアクセスする |
| 2. WAF | 通信の中身を調べ、攻撃なら止める |
| 3. Webサーバー | 問題のない通信だけを受け取り、処理する |
WAFで防げる主な攻撃
| 攻撃 | 内容 |
|---|---|
| SQLインジェクション | 入力欄に細工した文字列を入れ、データベースの情報を盗んだり書き換えたりする |
| クロスサイトスクリプティング(XSS) | Webページに悪意のあるスクリプトを埋め込み、利用者の情報を盗む |
| OSコマンドインジェクション | サーバーに不正な命令を実行させる |
| ディレクトリトラバーサル | 本来は見られないサーバーのファイルを読み出す |
| 不正ログイン・大量のアクセス | パスワードの総当たりや、ボットによる大量のアクセスを行う |
どれも、Webアプリケーションの作りのすき(脆弱性)を突く攻撃です。通信の宛先や経路だけを見ていても、正しい通信と見分けられないのが特徴です。
WAFが必要とされる理由
Webアプリケーションの脆弱性は、見つかってもすぐに直せるとは限りません。プログラムの修正や試験には時間がかかるうえ、外部の製品を使っている場合は、メーカーの修正を待つ必要もあります。
WAFを置いておけば、脆弱性を直すまでのあいだも、攻撃の通信を手前で止められます。このように、プログラムを直す前に攻撃をふさぐ使い方は「仮想パッチ」とも呼ばれます。個人情報やカード情報を扱うWebサイトでは、WAFを入れることが一般的になっています。
WAFの仕組みとファイアウォール・IPSとの違い
WAFの仕組み
WAFは、Webの通信(HTTP・HTTPS)の中身を、あらかじめ決めたルールと照らし合わせて調べます。
| 方式 | 内容 |
|---|---|
| ブラックリスト方式 | 攻撃によく使われる文字列のパターン(シグネチャ)に当てはまる通信を止める |
| ホワイトリスト方式 | 正しい通信のパターンを決めておき、それ以外の通信を止める |
多くのWAFは、ブラックリスト方式を中心に、メーカーが用意したルールを使います。HTTPSの通信は暗号化されているため、WAFは通信の暗号をいったん解いてから中身を調べます。
WAFには、攻撃を見つけたときの動き方として、次の2つのモードがあります。
| モード | 動き方 |
|---|---|
| 検知モード | 攻撃と判断しても通信は止めず、記録だけを残す |
| 遮断モード | 攻撃と判断した通信を止める |
ファイアウォールとは
ファイアウォールは、通信の送り元・宛先のIPアドレスやポート番号を見て、通してよい通信かどうかを判断する仕組みです。社内のネットワークとインターネットの境目などに置き、許可していない通信を止めます。
ただし、Webサイトへのアクセスは、もともと許可された通信(HTTPSの443番ポートなど)として届きます。
そのため、通信の中身に攻撃が含まれていても、ファイアウォールだけでは見分けられません。ネットワークの基本は、[ネットワークとは]で解説しています。
ファイアウォール・IDS・IPS・WAFの違い
| 項目 | ファイアウォール | IDS・IPS | WAF |
|---|---|---|---|
| 守る対象 | ネットワーク全体 | サーバーやネットワーク | Webアプリケーション |
| 見るところ | IPアドレス、ポート番号 | 通信の中身(OSやミドルウェアを狙う攻撃) | Webの通信の中身(Webアプリケーションを狙う攻撃) |
| 主な役割 | 許可していない通信を止める | 不正な通信を見つける(IDS)、止める(IPS) | Webアプリケーションへの攻撃を止める |
| 防げる例 | 公開していないポートへのアクセス | 既知の脆弱性を狙った攻撃、不審な通信 | SQLインジェクション、XSS |
IDSは「侵入検知システム」、IPSは「侵入防止システム」のことです。IDSは不正な通信を見つけて知らせ、IPSは見つけた通信を止めます。
組み合わせて守る
ファイアウォール、IPS、WAFは、どれか1つを選ぶものではありません。それぞれが得意な攻撃を受け持ち、何重にも組み合わせて守る(多層防御)のが基本です。
| 層 | 置くもの | 防ぐもの |
|---|---|---|
| 外側 | ファイアウォール | 許可していない通信 |
| 中間 | IPS | OSやミドルウェアを狙う攻撃 |
| Webサーバーの手前 | WAF | Webアプリケーションを狙う攻撃 |
最近は、1台でファイアウォール・IPS・WAFなどの機能をまとめて持つ製品や、クラウドでまとめて提供するサービスも増えています。
新しい守り方の考え方については、[ゼロトラストとは]や[SASEとは]で解説しています。
WAFの種類と導入・運用
WAFの3つの種類
| 種類 | 内容 | 向いている場面 |
|---|---|---|
| アプライアンス型 | WAFの専用の機器を、ネットワークに置く | 自社のデータセンターで、多くのWebサイトをまとめて守る |
| ソフトウェア型 | Webサーバーに、WAFのソフトウェアを入れる | サーバーの台数が少なく、機器を置かずに始めたい |
| クラウド型 | クラウドのサービスとして、WAFを利用する | 機器の管理をせずに、すばやく導入したい |
いまは、機器やソフトウェアの管理がいらず、ルールの更新もサービス側が行うクラウド型が主流になりつつあります。
主なクラウドのWAF
| サービス | 特徴 |
|---|---|
| AWS WAF | AWSのロードバランサーやCDNと組み合わせて使う |
| Azure Web Application Firewall | Azureのロードバランサーなどと組み合わせて使う |
| Google Cloud Armor | Google Cloudのロードバランサーと組み合わせて使う |
| CDNの事業者が提供するWAF | Cloudflareなど、CDNのサービスに組み込まれたWAFを使う |
料金や機能はサービスによって違い、変わることもあります。導入を検討するときは、各サービスの公式サイトで確認してください。
導入の進め方
WAFは、入れてすぐに遮断モードにすると、正しい通信まで止めてしまうことがあります。次の流れで進めるのが一般的です。
| ステップ | やること |
|---|---|
| 1. 守る範囲を決める | どのWebサイト・どのURLを守るかを決める |
| 2. 検知モードで動かす | 通信は止めずに、どんな通信が攻撃と判断されるかを記録する |
| 3. ルールを調整する | 正しい通信が攻撃と判断されていないかを確かめ、ルールを直す |
| 4. 遮断モードに切り替える | 調整が終わったら、攻撃の通信を止める |
正しい通信を攻撃と判断してしまうことを誤検知と呼びます。誤検知が起きると、利用者がWebサイトを使えなくなるため、検知モードでの確認は欠かせません。
運用で気をつけること
| 気をつけること | 内容 |
|---|---|
| ログを確かめる | どんな攻撃が来ているか、誤検知がないかを定期的に確かめる |
| ルールを更新する | 新しい攻撃の手口に合わせて、ルールを最新に保つ |
| アプリの変更を伝える | Webアプリケーションを変えたときは、WAFのルールに影響がないかを確かめる |
| 障害の切り分けに入れる | 「Webサイトの一部が使えない」ときは、WAFが止めていないかも確かめる |
インフラエンジニアは、WAFの導入や設定、ログの監視、障害のときの切り分けを担当することが多くあります。
障害の切り分けの進め方は、[インフラエンジニアの障害対応とは]で解説しています。
WAFでよくある疑問
WAFがあれば、アプリの脆弱性対策はいらない?
必要です。WAFは、知られている攻撃のパターンを止める仕組みで、すべての攻撃を防げるわけではありません。Webアプリケーション自体の脆弱性を直すことが基本で、WAFはそれを補う守りと考えましょう。
ファイアウォールだけでは守れない?
Webアプリケーションを狙う攻撃は、許可されたHTTPSの通信として届くため、ファイアウォールだけでは防げません。インターネットに公開しているWebサイトがあるなら、ファイアウォールに加えてWAFを置くのが一般的です。
誤検知ってどれくらい起きる?
守るWebアプリケーションの作りや、使うルールによって大きく変わります。入力欄に特殊な記号をよく使うサイトなどでは、起きやすくなります。導入の最初に検知モードで様子を見て、ルールを調整することで減らせます。
WAFの仕事に関わるにはどんな知識が必要?
HTTP・HTTPSの仕組みや、Webサーバー、ネットワークの基本の知識が土台になります。そのうえで、SQLインジェクションなどの攻撃の仕組みを理解しておくと、ログを読み解けるようになります。
セキュリティの仕事については、[セキュリティエンジニアとは]で紹介しています。知識を証明するなら、[情報処理安全確保支援士とは]も参考にしてください。
まとめ
WAFは、ファイアウォールでは防げない、Webアプリケーションを狙った攻撃を防ぐ仕組みです。
この記事のポイントは次のとおりです。
- WAFとは
Webの通信の中身を調べ、SQLインジェクションやXSSなどの攻撃を止める仕組み。 - 必要な理由
脆弱性を直すまでのあいだも、攻撃を手前で止められる。仮想パッチとも呼ばれる。 - ファイアウォール・IPSとの違い
ファイアウォールはIPアドレスやポート、IPSはOSやミドルウェアへの攻撃、WAFはWebアプリケーションへの攻撃を受け持つ。 - WAFの種類
アプライアンス型、ソフトウェア型、クラウド型があり、いまはクラウド型が主流になりつつある。 - 導入と運用
検知モードで誤検知を確かめてから遮断モードに切り替え、ログの確認とルールの更新を続ける。
WAFは、Webサイトを守る多層防御の大切な1枚です。まずは、自分が担当するWebサイトがどの層で守られているかを確かめるところから始めてみてください。

