従来のファイアウォールとWAFの違い・Cloudflare WAFの強みは?
「WAFを導入しましょう」と言われて、「ファイアウォールとは違うの?」と思ったことはありませんか?
どちらも「ファイアウォール」という名前がついているし、どこが違うのだろう?
今回は、従来のファイアウォールとWAFの違いを、できるだけ専門用語を使わずに解説します。
従来のファイアウォールとWAFは「見ているもの」が違う
先に結論を言うと、最も重要な違いは以下の通りです:
- 従来のファイアウォール → 「どこから来たか」を見る
- WAF → 「何をしようとしているか」を見る
この違いが、Webアプリケーションのセキュリティにおいて決定的に重要なのです。
それでは、この違いを分かりやすく解説していきましょう。
従来のファイアウォールとWAFの違い
郵便配達で例えると
従来のファイアウォール = 封筒の外側をチェックする門番
封筒の外側だけを確認します:
- 差出人の住所(送信元IPアドレス)
- 宛先の住所(宛先IPアドレス)
- 配送方法(TCPかUDPか)
- どの入口から入るか(ポート番号)
正規の送信元ではない場合「郵便物は受け取らない」「この入口(ポート)は閉鎖」という判断をし、拒否します。
WAF = 封筒を開けて中身をチェックする検閲係
封筒を開けて中身を詳しく確認します:
- 手紙の内容(HTTPリクエストの本文)
- どんな用件か(GETかPOSTか)
- 添付物は何か(パラメータの値)
- 怪しい文章や記号がないか(攻撃コード)
「正規の住所から来ても、中に危険物が入っていたら止める」という判断をします。
ネットワーク層とアプリケーション層の違い
インターネット通信は「階層構造」になっている
インターネット通信は、役割が事なる7つの層(Layer)が重なって動いています。
従来のファイアウォールとWAFは、この異なる層で動作しているため、見えるものが全く違うのです。
下の層(物理的な部分)
ネットワーク層(Layer 3)
- IPアドレス(どこからどこへ)
- ルーターがここで働く
- 例:「東京都渋谷区○○から、大阪市北区○○へ配達」
トランスポート層(Layer 4)
- ポート番号(どの入口から)
- TCP(確実配達)かUDP(速達)か
- 例:「正面玄関(ポート80)から配達」
従来のファイアウォールはここで動作します
上の層(内容の部分)
アプリケーション層(L7)
- HTTP、HTTPS(Webページ)
- 実際のデータ内容
- 例:「寿司10貫、醤油多め、わさび抜き」
- 例:「ユーザーID: tanaka、パスワード: ****」
WAFはここで動作します
建物で例えると分かりやすい
ネットワーク層・トランスポート層(L3/L4)
- 建物の住所
- 何階の何号室か
- エレベーターでの移動
アプリケーション層(L7)
- 部屋に入って実際に何をするか
- 書類を提出する、会議をする、荷物を受け取る
- 具体的な用件の内容
実際のWebアクセスで見る違い
あなたが「https://example.com/login」にログインしようとする時:
ネットワーク層・トランスポート層(L3/L4)が見ているもの
送信元:あなたのPC(192.168.XXX.XXX)
宛先:example.comのサーバー(203.0.XXX.XXX)
ポート:443(HTTPS用)
プロトコル:TCP
→ 「誰がどこに行こうとしているか」だけ
アプリケーション層(L7)が見ているもの
POST /login HTTP/1.1
Host: example.com
Cookie: session_id=abc123
username=admin' OR '1'='1
password=anything
→ 「何をしようとしているか」まで見える → このSQLインジェクション攻撃を検知できる!
なぜWAFが必要なのか
従来のファイアウォールでは防げない攻撃
従来のファイアウォールは、以下のような判断しかできません:
- 「正規の住所(IPアドレス)から来た」
- 「正規のポート(80/443)を使っている」 → OK、通します
しかし、攻撃者は正規のルートを使って攻撃してきます。
Webアプリケーションを狙う主な攻撃
SQLインジェクション
データベースに不正なSQL文を送り込む攻撃です。顧客情報の漏洩やデータの改ざんにつながります。
クロスサイトスクリプティング(XSS)
悪意のあるJavaScriptコードを埋め込み、ユーザーのセッション情報を盗む攻撃です。
不正ログイン試行(ブルートフォース攻撃)
大量のパスワードを試行してアカウントを乗っ取ろうとする攻撃です。
ゼロデイ攻撃
まだパッチが提供されていない脆弱性を突く攻撃です。
APIへの攻撃
過剰なリクエストでサービスを停止させたり、不正なデータを送り込んだりする攻撃です。
これらの攻撃は、すべて正規のIPアドレスから、正規のポートを使ってやってきます。
従来のファイアウォールでは、中身を見ることができないため、防ぐことができません。
WAFだけが中身を開けて検査できるのです。
従来のファイアウォールとWAFは「補完関係」
両方必要な理由
従来のファイアウォールとWAFは、役割が違います。
どちらか一方だけでは不十分で、両方を組み合わせることで、多層防御が実現できます。
従来のファイアウォール(L3/L4)
- ネットワークレベルの不正アクセスをブロック
- 不要なポートを閉じる
- 基本的な通信制御
WAF(L7)
- Webアプリケーションへの攻撃をブロック
- SQLインジェクション、XSSなどを防御
- アプリケーションレベルの保護
Cloudflare WAFの強み
Cloudflareは世界330以上の都市にデータセンターを展開し、常に世界中のトラフィック・リクエストを見ています。
だから機械学習がとても早く、新種の攻撃にも素早く対応・自動でアップデートされます。
ほかのWAFよりも優れているのは世界中でCloudflareが使用されているからですが、なぜCloudflareが使用されているかというと、
機能充実ながら無料プランがあることや、有料プランも20ドルからという脅威のコスパではないでしょうか。
このコスパが利用客を呼び、この利用客が結局CloudflareのWAFの性能アップに還元されているとも言えますね。
これからのWebセキュリティ
Webアプリケーションへの攻撃は、今後ますます巧妙化していきます。
「ファイアウォールがあるから大丈夫」という時代は終わりました。
WAFは「あると良い」ものではなく、「必須」のセキュリティ対策です。
特にCloudflare WAFは、強力な保護機能を持ちながら料金も安価なので、手軽に導入できるのではないでしょうか。
注意事項
Cloudflareの機能や詳細は、公式サイトで最新情報をご確認ください。
最終的なセキュリティ対策の選択は、あなたのサイトの要件や予算を考慮したうえで、ご自身の責任で判断してください。