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アドレスを個別に書くのではなく、「プリンター群」「サーバー群」といったグループ名でルールを定義する。
- 定期的な棚卸し: 撤去されたサーバーや廃止されたプロジェクトの古い許可ルールが残っていないか、半年に一度は精査する。