ファイアウォール — 出入口で危険な通信だけ遮断する門番

概要 — まず全体をつかむ

初級ではファイアウォールを「出入口の門番」と捉えました。中級では、その門番がどんなルールで通信を仕分けているのか、その仕組みを見ます。

詳細 — 1段階ずつ追う

これは何をする係?

ファイアウォールの基本はパケットフィルタリング※1です。行き交う通信のひとかたまり(パケット)の宛名の情報を見て、機械的に許可/拒否します。

  • 送信元・宛先のIPアドレス(どこから、どこ宛か)
  • ポート番号(どの用途か。443=HTTPS、22=SSH など)
  • プロトコル(TCP/UDP など、どんな通信方式か)

これらをルール表に照らし、「宛先ポート443は許可」「22は拒否」のように仕分けます。ルールに書いていない通信は、後述のデフォルト拒否で通しません。

アニメーション『パケットフィルタリング(許可・拒否)』を開く
外部ネットインターネット(危険も届く)内部ネット社内サーバ・PCファイアウォールルール表で門番をする宛先443 / HTTPS許可宛先80 / HTTP許可宛先22 / SSH拒否宛先3389 / RDP拒否その他すべて拒否守りたい中身サーバ・PC・データベース宛先 443HTTPS宛先 80HTTP宛先 22SSH宛先 3389RDPデフォルト拒否 = ルールに書いていない通信は、通さないステートフル(状態を覚える)内側から始めた通信の「戻り」は、覚えているので自動で通す(外からの突然の通信は通さない)

登場人物メモ:

  • ※1 パケットフィルタリング — IP・ポート・プロトコルで許可/拒否する最も基本の方式
  • ※2 ステートフルインスペクション — 通信の「状態」を覚えて、戻りの通信だけ通す方式
やさしく言うと(初級

ファイアウォールは、ネットワークの出入口に立つ門番です。マンションの入口にいる警備員をイメージしてください。

  • 通ってよい人(通信)は通す
  • 怪しい人(危険な通信)は遮断する
  • 誰でも自由に素通り、にはさせない

つまり「つなぐ/つながない」のに立ち、通信を1つずつ見て通す・通さないを判断する係です。

登場人物メモ:

  • ※1 通信 — 機器と機器の間でやり取りされるデータのひとまとまり
  • ※2 遮断(ブロック) — その通信を通さずに捨てること

仕事の流れ

  1. パケットが出入口に届く
  2. IP・ポート・プロトコルを読み取る
  3. ルール表を上から順に照合し、最初に一致したルールで許可/拒否を決める
  4. どのルールにも一致しなければ、デフォルト拒否で通さない
やさしく言うと(初級
  1. 出入口に通信がやってくる
  2. あらかじめ決めたルールに照らす(この相手・この用途は通してよい?)
  3. OKなら通す、ダメなら遮断する
  4. これを、行き交うすべての通信について繰り返す

設計の勘所

ステートフルインスペクション※2 — 単に1つ1つのパケットを見るだけでなく、通信の状態を覚えておく方式です。内側から始めた通信を記録しておき、その戻りの通信だけを通します。外から突然来た通信は「始めた覚えがない」ので通しません。これは NATとポート の「内側発は戻せるが外からは入れない」という性質とちょうど重なります。

allow/deny リストとデフォルト拒否 — ルールには「許可(allow)」と「拒否(deny)」を並べます。安全側の原則はデフォルト拒否——まず全部拒否し、業務に必要な穴だけを許可で開けます。こうすれば「書き忘れ=遮断」に倒れ、想定外の通り道が生まれにくくなります。逆にデフォルト許可だと、書き忘れがそのまま穴になり危険です。

WAFとの違い(守る層の分担) — 基本のファイアウォールが見るのは主にネットワーク層(IP・ポート)です。一方 WAF(Web Application Firewall)は、Webアプリの層まで踏み込み、リクエストの中身を見て攻撃(不正な入力など)を弾きます。守る層が違うので、両者は役割分担で併用します。

境界を越えて拠点間を安全につなぐ通信そのものは、暗号化トンネルの VPN が担い、ファイアウォールはその出入口で通す・通さないを見張ります。

アニメーション『ステートフルインスペクション』を開く
ステートフルインスペクション — 状態を覚えて戻りだけ通す内部ネット社内PC・サーバ外部ネットインターネットファイアウォール① 内部から開始状態表に記録② 戻り:表にあるので通す状態表(覚えている通信)内部PC → 外部:443確立済内部PC → 外部:53確立済③ 外から勝手に表に無い → 遮断パケットフィルタ(状態を覚えない)1件ずつルール表に照らすだけ。「戻りかどうか」は分からないステートフル(状態を覚える)内側発を記録し、その戻りだけ自動で通す。外からの新規は表に無く遮断
この部分をもっと深く(上級

ステートフルインスペクションの正体は、コネクション追跡の状態表です。1つ1つのパケットを孤立して見るのではなく、通信の一連の流れを1エントリとして覚えます。

  • 表に載るのは「送信元・宛先のIP/ポート・プロトコル・状態(確立中・確立済みなど)」の組
  • 内側発の通信が始まると新しいエントリを作り、その戻りだけを一致させて通す。NATとポート の変換表と同じ「内側発は戻せる・外からは入れない」構造
  • 使い終わった接続はタイムアウトで表から消す。表が溢れないようにする運用も要点
アニメーション『パケットフィルタリング(許可・拒否)』を開く
外部ネットインターネット(危険も届く)内部ネット社内サーバ・PCファイアウォールルール表で門番をする宛先443 / HTTPS許可宛先80 / HTTP許可宛先22 / SSH拒否宛先3389 / RDP拒否その他すべて拒否守りたい中身サーバ・PC・データベース宛先 443HTTPS宛先 80HTTP宛先 22SSH宛先 3389RDPデフォルト拒否 = ルールに書いていない通信は、通さないステートフル(状態を覚える)内側から始めた通信の「戻り」は、覚えているので自動で通す(外からの突然の通信は通さない)

パケットフィルタ型 vs プロキシ型 — フィルタ型は宛名(IP・ポート)を見て素通しに近い形で中継します。プロキシ型(※1)は接続をいったん受け止め、代理で相手へつなぎ直す。中身まで検査でき制御は強いが、間に立つぶん遅く重くなる。速さのフィルタ型、深さのプロキシ型という分担です。

登場人物メモ:

  • ※1 プロキシ — 通信を代理で受けて相手へつなぎ直す仲介役。中身を見て仕分けできる
  • ※2 シグネチャ — 既知の攻撃の「特徴パターン」。これと照合して不正を見つける
やさしく言うと(初級

インターネットは世界中とつながっています。つながっている=相手からの通信も届くということ。買い物や動画などの便利な通信も、悪意ある攻撃も、同じ入口を通ってきます。

だから入口で「これは通す・これは通さない」と絞る必要があるのです。何でも通してしまえば、家の中(内部ネット)に危険がそのまま入ってきてしまいます。

実は、家庭用のルーターの中にも簡単なファイアウォールが入っています。だから普段は意識しなくても、ある程度守られています。会社や大きなサービスでは、もっと本格的なファイアウォールを置いて守ります。

⚠️ うまくいかないとき

  • ルールの順序ミス — 上から順に一致するため、広い許可を上に置くと後の拒否が効かない
  • 穴の開けすぎ — 「とりあえず許可」を重ね、実質デフォルト許可になってしまう
  • 戻り通信の考慮漏れ — ステートフルでないと、正当な戻りまで塞いでしまう
  • 層の取り違え — ネットワーク層のFWだけでアプリ層の攻撃(不正入力など)は防げない。WAFなど別の層の守りが要る
この部分をもっと深く(上級

門番はつい入ってくる通信ばかり見張りがちです。しかし本当に効くのは、出ていく通信の管理でもあります。

  • egress(外向き)制御 — 入口を突破されても、外向きを絞れば、乗っ取られた端末が外部の指令サーバへ連絡(C2通信)したり、データを持ち出したりするのを断てる。「入れない」だけでなく「勝手に出さない」
  • ゼロトラストとマイクロセグメンテーション — 「社内は全部信頼」をやめ、社内を細かい区画に割って区画間にも門番を置く。ある区画が破られても、隣へ横移動できない。ステートフルFWの状態表を、社内の内側にも張り巡らせる発想
  • 層の取り違えに注意 — L3/L4のFWだけでアプリ層の攻撃は防げない。ネットワークの層 を押さえ、どの層を誰が守るかを設計することが、過不足のない守りにつながる
やさしく言うと(初級
  • 通しすぎ — ルールが緩すぎて、危険な通信まで入れてしまう
  • 絞りすぎ — 必要な通信まで止めて、アプリがつながらなくなる
  • 入口だけ油断 — 門番を通り抜けた後(内部)は無防備、では不十分
  • 中身までは見ていない — 「通してよい相手」でも、送ってくる中身が悪いことはある

門番が守るのはあくまでネットワークの出入口です。中級では、この門番がどんなルールで通信を見分けているのかを詳しく見ていきます。

理解度チェック

そのまま解けます(成績は保存されません)。無料アカウントを作ると、学習の記録と進捗の山登りが始まります。

1. パケットフィルタリング型ファイアウォールが、通す・通さないを判断するために見るのは主にどれ?

2. 「デフォルト拒否(原則すべて拒否し、必要な通信だけ許可する)」の考え方が安全とされる理由は?

3. ステートフルインスペクションの説明として正しいのはどれ?

4. パケットフィルタリングのルール表は、どう評価される?

5. 基本のファイアウォールとWAFの関係として正しいのはどれ?

6. ルールの順序ミスで起きがちな問題はどれ?

7. HTTPS通信で使われる代表的なポート番号は?

8. IP・ポート・プロトコルという宛名情報を見て機械的に許可・拒否する、最も基本のファイアウォール方式を何という?