WAFとは?仕組みとファイアウォール・IPSとの違い

WAFとは?仕組みとファイアウォール・IPSとの違い

WebサイトやWebサービスは、インターネットに公開されている以上、常に攻撃の的になります。こうした攻撃からWebアプリケーションを守る仕組みが、WAF(Web Application Firewall)です。ファイアウォールでは防げない、Webアプリケーションを狙った攻撃を防ぐのが役割です。

ここでは、WAFとは何かを、防げる攻撃と仕組みから解説します。ファイアウォールやIDS・IPSとの違いに加えて、WAFの種類と、導入・運用で気をつけることもまとめました。

SUMMARY
この記事で分かること
  • 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・IPSWAF
守る対象ネットワーク全体サーバーやネットワークWebアプリケーション
見るところIPアドレス、ポート番号通信の中身(OSやミドルウェアを狙う攻撃)Webの通信の中身(Webアプリケーションを狙う攻撃)
主な役割許可していない通信を止める不正な通信を見つける(IDS)、止める(IPS)Webアプリケーションへの攻撃を止める
防げる例公開していないポートへのアクセス既知の脆弱性を狙った攻撃、不審な通信SQLインジェクション、XSS

IDSは「侵入検知システム」、IPSは「侵入防止システム」のことです。IDSは不正な通信を見つけて知らせ、IPSは見つけた通信を止めます。

組み合わせて守る

ファイアウォール、IPS、WAFは、どれか1つを選ぶものではありません。それぞれが得意な攻撃を受け持ち、何重にも組み合わせて守る(多層防御)のが基本です。

層置くもの防ぐもの
外側ファイアウォール許可していない通信
中間IPSOSやミドルウェアを狙う攻撃
Webサーバーの手前WAFWebアプリケーションを狙う攻撃

最近は、1台でファイアウォール・IPS・WAFなどの機能をまとめて持つ製品や、クラウドでまとめて提供するサービスも増えています。

新しい守り方の考え方については、[ゼロトラストとは]や[SASEとは]で解説しています。

WAFの種類と導入・運用

WAFの3つの種類

種類内容向いている場面
アプライアンス型WAFの専用の機器を、ネットワークに置く自社のデータセンターで、多くのWebサイトをまとめて守る
ソフトウェア型Webサーバーに、WAFのソフトウェアを入れるサーバーの台数が少なく、機器を置かずに始めたい
クラウド型クラウドのサービスとして、WAFを利用する機器の管理をせずに、すばやく導入したい

いまは、機器やソフトウェアの管理がいらず、ルールの更新もサービス側が行うクラウド型が主流になりつつあります。

主なクラウドのWAF

サービス特徴
AWS WAFAWSのロードバランサーやCDNと組み合わせて使う
Azure Web Application FirewallAzureのロードバランサーなどと組み合わせて使う
Google Cloud ArmorGoogle Cloudのロードバランサーと組み合わせて使う
CDNの事業者が提供するWAFCloudflareなど、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サイトがどの層で守られているかを確かめるところから始めてみてください。

記事の企画・執筆

IT基盤(インフラ)エンジニアのための求人・情報サイト「テックドック」の編集部です。ネットワーク・サーバー・クラウド・セキュリティなど、IT基盤の仕事・技術・資格・キャリアに役立つ情報を、実務に即した視点で発信しています。