ファイアウォールとは何か

ファイアウォール(firewall)は、ネットワークを流れる通信を「ルール」に従って許可または遮断する仕組みです。目的は、不正アクセスや不要な通信を減らし、ネットワークの境界や特定区間での通信方針を一貫させることにあります。ルールは、送受信先(IPやホスト名など)、通信の種類(プロトコル)、ポート番号、方向(入ってくる/出ていく)などの条件で組み立てられます。

基本の仕組み(シンプルモデル)

まずは最も単純な考え方として、「この条件なら通す/通さない」を照合する段階があります。たとえば次のような判断が行われます。

  • 送信元や宛先が条件に一致するか
  • プロトコル(例:TCP/UDPなど)が一致するか
  • ポート番号が一致するか
  • 通信の方向が一致するか

一致した場合に「許可」や「遮断」が適用されます。ただし現実には、単に一致判定をするだけでなく、通信の状態(セッション)を見ながら動作するタイプや、より上位の情報まで見ようとするタイプもあります。その結果、同じ“ポート”に見えても、成立する通信が異なることがあります。

どんな種類があるか(方式と影響)

ファイアウォールは大きく分けると、少なくとも次の観点で差が出ます。

状態管理(ステート)

状態管理型では、通信が「すでに成立しているやり取りの一部」かどうかを手がかりに判断します。これにより、許可したセッションに関係する通信は通しやすくなり、関係のない通信は遮断されやすくなります。

対象の階層(見える範囲)

見る範囲が異なると、制御の精度も変わります。より上位の情報(アプリ層の性質)を手がかりにする方式では、単純なポート番号だけでは表しにくい制御が可能になる場合があります。一方で、通信が暗号化されていると、中身の内容まで判断できないことがあり、その場合は「見えている情報だけ」で判断する形になります。

制限と誤解しやすい点

ファイアウォールには限界があります。特に次の点は、理解しておくと配置や運用の判断ミスを減らせます。