VLAN間ルーティング(L3)のACL設計:必要最小限の通信許可ルールと管理ポリシー

セグメントを分けるだけでは「防壁」にならない

VLANでネットワークを論理的に分割しても、L3スイッチやルーターで「VLAN間ルーティング」を有効にしただけでは、すべてのVLAN同士が自由に行き来できてしまう。これでは隔離の意味がない。分割の真の価値は、その境界線上に**ACL(アクセス制御リスト)**を配置し、通信の「パスポート(許可)」を厳格に管理することにある。

1. ACL設計の基本原則:デフォルト・デナイ(Default Deny)

すべての通信を「許可」してから不要なものを止めるのではなく、「すべてを拒否(Deny All)」した状態から、必要な通信だけを一つずつ許可(Permit)するのが鉄則である。

許可すべき最小限の通信例(ポジティブリスト)

  • ディレクトリサービス: 業務VLAN → ドメインコントローラー(DNS, Kerberos, LDAP等)。
  • 共有リソース: 業務VLAN → NAS/ファイルサーバー(SMB/Port 445)。
  • インターネット出口: 全VLAN → ルーターの内部インターフェース(HTTP/HTTPS等、必要に応じて)。
  • 運用監視: 管理VLAN → 各機器(SNMP, SSH等)。

2. 通信の「方向」を制御する(インバウンド vs アウトバウンド)

ACLを適用する際、パケットが「インターフェースに入る時(In)」にチェックするか、「出る時(Out)」にチェックするかを使い分ける。

  • 推奨:インバウンド(In)適用
    • パケットがL3スイッチの処理(ルーティング)に入る直前で捨てるため、CPU負荷を最小限に抑えられる。
    • 例:IoT VLAN の入り口で 業務VLAN 行きのパケットを即座に破棄する。

3. ステートフル・インスペクションを意識した設計

一般的なL3スイッチのACLは「行きのパケット」と「戻りのパケット」の両方を個別に許可する必要がある(ステートレス)。

  • 落とし穴: 「PC → サーバー」の通信を許可しても、「サーバー → PC」の戻り通信を許可し忘れると通信は成立しない。
  • 対策: 高機能なファイアウォール(UTM)をゲートウェイにする場合は、一度許可されたセッションの戻り通信を自動で通す「ステートフル機能」を活用し、ルール設定の複雑さを回避する。

4. 管理ポリシーとメンテナンス性

120を超えるような大規模なルールセットは、後に管理不能(スパゲッティ化)になる。

  • コメント行の活用: 「2026/04/08 〇〇用に追加」などの注釈を必ず入れる。
  • オブジェクトグループの利用: IPアドレスを個別に書くのではなく、「プリンター群」「サーバー群」といったグループ名でルールを定義する。
  • 定期的な棚卸し: 撤去されたサーバーや廃止されたプロジェクトの古い許可ルールが残っていないか、半年に一度は精査する。