ファイアウォールとは何か:通信を「選別」する仕組み

ファイアウォールは、端末やネットワークの境界に置かれ、通信の試行をルールに照らして「許可するか/遮断するか」を決める仕組みです。IPアドレス、ポート番号、プロトコル(TCP/UDPなど)、送受信方向、アプリケーションの種類(可能な場合)といった情報を使って判定します。

重要なのは、ファイアウォールが理解しているのは主に「通信の特徴」であり、すべてを完全に保証する魔法ではないことです。たとえば、ルールの書き方が不適切だと正しい通信まで止めたり、逆に意図しない通信を通してしまったりします。また、暗号化されている内容そのものを、必ずしも判別できるとは限りません(方式や設定、機能によって可否が変わります)。

基本モデル:ルール判定と状態(ステート)

ファイアウォールの動作をシンプルに捉えると、次の流れになります。

  1. 通信の試行が来る(例:ある送信元から特定の宛先・ポートへアクセス)
  2. ルール(条件と処理)が上から順に評価される、または照合方式に従って最終判定される
  3. 許可なら通信を通し、拒否なら遮断(ログ記録だけで止める場合もある)

ここでよく登場するのが「状態(ステート)管理」です。ステートフルな方式では、単発のパケットだけでなく、通信の流れ(セッションの成立や応答の関係)を追跡します。これにより、たとえば“応答として正しい戻り通信だけ”を通し、“関連が薄い単発の侵入試行”を止める、といったきめ細かい制御がしやすくなります。

ただし、状態管理にも限界があります。相手や経路の都合でセッションの見え方が変わると、想定と異なる挙動(遮断や遅延)が起きる可能性があります。特に暗号化トンネルや中継を含む環境では、どこまでが「同一セッション」として扱われるかは方式次第で変わります。

VPNにとってなぜ重要か:入口・経路・見え方が変わる

VPNは、通信をトンネルで包み、途中で読み取りにくくすることを目的とする仕組みです。では、ファイアウォールはVPNにどう関わるのでしょうか。

まず、VPNでは「普通の通信」と「トンネル通信」が混在します。ファイアウォールは、基本的に“境界をまたぐ通信”を判定します。そのため、VPN接続を成立させるために必要な通信(初期の確立、鍵交換、トンネル維持に関わる通信)が、ルールで許可されないとそもそも接続できません。逆に、許可しすぎると、本来想定していない経路が成立する余地が生まれます。

次に、「見え方」も変わります。 VPNのトンネル内は暗号化されるため、ファイアウォールが従来のやり方で中身(アプリの詳細やペイロード)を判断しにくくなる場面があります。 その結果、ファイアウォールが得意とする“通信の特徴ベースの判定”に寄っていきます。