初級ではファイアウォールを「出入口の門番」と捉えました。中級では、その門番がどんなルールで通信を仕分けているのか、その仕組みを見ます。
概要 — まず全体をつかむ
詳細 — 1段階ずつ追う
これは何をする係?
ファイアウォールの基本はパケットフィルタリング※1です。行き交う通信のひとかたまり(パケット)の宛名の情報を見て、機械的に許可/拒否します。
- 送信元・宛先のIPアドレス(どこから、どこ宛か)
- ポート番号(どの用途か。443=HTTPS、22=SSH など)
- プロトコル(TCP/UDP など、どんな通信方式か)
これらをルール表に照らし、「宛先ポート443は許可」「22は拒否」のように仕分けます。ルールに書いていない通信は、後述のデフォルト拒否で通しません。
アニメーション『パケットフィルタリング(許可・拒否)』を開く
登場人物メモ:
- ※1 パケットフィルタリング — IP・ポート・プロトコルで許可/拒否する最も基本の方式
- ※2 ステートフルインスペクション — 通信の「状態」を覚えて、戻りの通信だけ通す方式
やさしく言うと(初級)
ファイアウォールは、ネットワークの出入口に立つ門番です。マンションの入口にいる警備員をイメージしてください。
- 通ってよい人(通信)は通す
- 怪しい人(危険な通信)は遮断する
- 誰でも自由に素通り、にはさせない
つまり「つなぐ/つながない」の間に立ち、通信を1つずつ見て通す・通さないを判断する係です。
登場人物メモ:
- ※1 通信 — 機器と機器の間でやり取りされるデータのひとまとまり
- ※2 遮断(ブロック) — その通信を通さずに捨てること
仕事の流れ
- パケットが出入口に届く
- IP・ポート・プロトコルを読み取る
- ルール表を上から順に照合し、最初に一致したルールで許可/拒否を決める
- どのルールにも一致しなければ、デフォルト拒否で通さない
やさしく言うと(初級)
- 出入口に通信がやってくる
- あらかじめ決めたルールに照らす(この相手・この用途は通してよい?)
- OKなら通す、ダメなら遮断する
- これを、行き交うすべての通信について繰り返す
設計の勘所
ステートフルインスペクション※2 — 単に1つ1つのパケットを見るだけでなく、通信の状態を覚えておく方式です。内側から始めた通信を記録しておき、その戻りの通信だけを通します。外から突然来た通信は「始めた覚えがない」ので通しません。これは NATとポート の「内側発は戻せるが外からは入れない」という性質とちょうど重なります。
allow/deny リストとデフォルト拒否 — ルールには「許可(allow)」と「拒否(deny)」を並べます。安全側の原則はデフォルト拒否——まず全部拒否し、業務に必要な穴だけを許可で開けます。こうすれば「書き忘れ=遮断」に倒れ、想定外の通り道が生まれにくくなります。逆にデフォルト許可だと、書き忘れがそのまま穴になり危険です。
WAFとの違い(守る層の分担) — 基本のファイアウォールが見るのは主にネットワーク層(IP・ポート)です。一方 WAF(Web Application Firewall)は、Webアプリの層まで踏み込み、リクエストの中身を見て攻撃(不正な入力など)を弾きます。守る層が違うので、両者は役割分担で併用します。
境界を越えて拠点間を安全につなぐ通信そのものは、暗号化トンネルの VPN が担い、ファイアウォールはその出入口で通す・通さないを見張ります。
アニメーション『ステートフルインスペクション』を開く
この部分をもっと深く(上級)
ステートフルインスペクションの正体は、コネクション追跡の状態表です。1つ1つのパケットを孤立して見るのではなく、通信の一連の流れを1エントリとして覚えます。
- 表に載るのは「送信元・宛先のIP/ポート・プロトコル・状態(確立中・確立済みなど)」の組
- 内側発の通信が始まると新しいエントリを作り、その戻りだけを一致させて通す。NATとポート の変換表と同じ「内側発は戻せる・外からは入れない」構造
- 使い終わった接続はタイムアウトで表から消す。表が溢れないようにする運用も要点
アニメーション『パケットフィルタリング(許可・拒否)』を開く
パケットフィルタ型 vs プロキシ型 — フィルタ型は宛名(IP・ポート)を見て素通しに近い形で中継します。プロキシ型(※1)は接続をいったん受け止め、代理で相手へつなぎ直す。中身まで検査でき制御は強いが、間に立つぶん遅く重くなる。速さのフィルタ型、深さのプロキシ型という分担です。
登場人物メモ:
- ※1 プロキシ — 通信を代理で受けて相手へつなぎ直す仲介役。中身を見て仕分けできる
- ※2 シグネチャ — 既知の攻撃の「特徴パターン」。これと照合して不正を見つける
やさしく言うと(初級)
インターネットは世界中とつながっています。つながっている=相手からの通信も届くということ。買い物や動画などの便利な通信も、悪意ある攻撃も、同じ入口を通ってきます。
だから入口で「これは通す・これは通さない」と絞る必要があるのです。何でも通してしまえば、家の中(内部ネット)に危険がそのまま入ってきてしまいます。
実は、家庭用のルーターの中にも簡単なファイアウォールが入っています。だから普段は意識しなくても、ある程度守られています。会社や大きなサービスでは、もっと本格的なファイアウォールを置いて守ります。
⚠️ うまくいかないとき
- ルールの順序ミス — 上から順に一致するため、広い許可を上に置くと後の拒否が効かない
- 穴の開けすぎ — 「とりあえず許可」を重ね、実質デフォルト許可になってしまう
- 戻り通信の考慮漏れ — ステートフルでないと、正当な戻りまで塞いでしまう
- 層の取り違え — ネットワーク層のFWだけでアプリ層の攻撃(不正入力など)は防げない。WAFなど別の層の守りが要る
この部分をもっと深く(上級)
門番はつい入ってくる通信ばかり見張りがちです。しかし本当に効くのは、出ていく通信の管理でもあります。
- egress(外向き)制御 — 入口を突破されても、外向きを絞れば、乗っ取られた端末が外部の指令サーバへ連絡(C2通信)したり、データを持ち出したりするのを断てる。「入れない」だけでなく「勝手に出さない」
- ゼロトラストとマイクロセグメンテーション — 「社内は全部信頼」をやめ、社内を細かい区画に割って区画間にも門番を置く。ある区画が破られても、隣へ横移動できない。ステートフルFWの状態表を、社内の内側にも張り巡らせる発想
- 層の取り違えに注意 — L3/L4のFWだけでアプリ層の攻撃は防げない。ネットワークの層 を押さえ、どの層を誰が守るかを設計することが、過不足のない守りにつながる
やさしく言うと(初級)
- 通しすぎ — ルールが緩すぎて、危険な通信まで入れてしまう
- 絞りすぎ — 必要な通信まで止めて、アプリがつながらなくなる
- 入口だけ油断 — 門番を通り抜けた後(内部)は無防備、では不十分
- 中身までは見ていない — 「通してよい相手」でも、送ってくる中身が悪いことはある
門番が守るのはあくまでネットワークの出入口です。中級では、この門番がどんなルールで通信を見分けているのかを詳しく見ていきます。
理解度チェック
そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。
問1. パケットフィルタリング型ファイアウォールが、通す・通さないを判断するために見るのは主にどれ?
問2. 「デフォルト拒否(原則すべて拒否し、必要な通信だけ許可する)」の考え方が安全とされる理由は?
問3. ステートフルインスペクションの説明として正しいのはどれ?
問4. パケットフィルタリングのルール表は、どう評価される?
問5. 基本のファイアウォールとWAFの関係として正しいのはどれ?
問6. ルールの順序ミスで起きがちな問題はどれ?
問7. HTTPS通信で使われる代表的なポート番号は?
問8. IP・ポート・プロトコルという宛名情報を見て機械的に許可・拒否する、最も基本のファイアウォール方式を何という?