VLAN Hopping 攻撃対策【スイッチで行う防御設定まとめ】

  • URLをコピーしました!

VLAN Hopping(VLANホッピング)攻撃とは、攻撃者が本来アクセス権のない VLAN に不正に侵入し、異なるセグメントへ横移動を行う攻撃手法です。 スイッチ環境を用いた企業ネットワークでは、VLAN は最も基本的なセキュリティ境界であり、この攻撃を防ぐための正しい設定は非常に重要です。

本記事では、VLAN Hopping の仕組み・発生原因、代表的な 2つの攻撃手法、そして実務で必ず実装すべき防御設定を体系的に解説します。

📌 ネットワーク障害を体系的に整理したい方へ
症状別に切り分け手順をまとめた総合トラブルガイドはこちら。
ネットワークトラブルシューティングまとめ

目次

1. VLAN Hopping 攻撃とは

VLAN Hopping とは、攻撃者が自分の接続する VLAN から別の VLAN にパケットを送信し、スイッチに誤認識させて他 VLAN へ侵入する攻撃です。 通常 VLAN 間は L3 ルーティングでのみ通信可能ですが、L2 スイッチの設定不備・仕様を悪用することで L2 だけで VLAN を跨ぐことが可能になります。

● VLAN Hopping が危険な理由

  • ネットワーク境界(セグメント)を容易に突破される
  • L2 の攻撃であるため、FW・ACL では防ぎにくい
  • 誤設定が原因のため、検知されず内部から攻撃されやすい
  • 成功すると全 VLAN に侵入されるリスクがある

2. VLAN Hopping の代表的な攻撃手法

● (1) スイッチ・トランキング攻撃(Switch Spoofing)

攻撃者が PC をスイッチのように振る舞わせ、DTP (Dynamic Trunking Protocol) を使用した「意図しないトランク自動確立」を悪用する攻撃です。

攻撃の流れ:

  1. 攻撃者のPCが DTPパケットを送信し、スイッチに「私はトランクポートです」と偽装
  2. スイッチが誤ってトランクを確立
  3. 攻撃者は全 VLAN のタグを送信できるようになる
  4. 結果 → 他VLAN に進入可能

実務では古いスイッチ・誤設定環境で今なお発生します。

● (2) ダブルタグ攻撃(Double Tagging Attack)

VLANタグを「二重」に挿入(Double Tag)したパケットを送信し、スイッチの処理仕様を悪用して別VLANへ入り込む攻撃です。

攻撃の仕組み:

  1. 攻撃者が VLAN タグを2つ付ける(外側・内側)
  2. 最初のスイッチが外側のタグのみを削除し転送
  3. 次のスイッチが “内側のタグ” に従い、ターゲットVLAN に転送
  4. 結果 → 本来アクセスできない VLAN に侵入成功

この攻撃は、「ネイティブVLAN未設定」「タグなしVLANを許可」の構成で特に有効です。

3. VLAN Hopping 攻撃が起こる原因

  • アクセスポートが “動的” にトランクへ変化する状態
  • DTP 無効化やトランク固定設定をしていない
  • ネイティブ VLAN がデフォルトのまま(VLAN 1)
  • ネイティブ VLAN のタグなし通信が許可されている
  • 異常な VLAN タグをフィルタリングしていない
  • ユーザーポートをトランクとして動作させてしまう設定漏れ

つまり、設定ミスが防げば攻撃の大半を無効化できます。

4. VLAN Hopping 対策(スイッチで行う実務設定)

● (1) アクセスポートは必ず「access」固定にする

interface Gi1/0/10
 switchport mode access
 switchport access vlan 10
 spanning-tree portfast

→ “動的トランク” を防止。

● (2) DTP(Dynamic Trunking Protocol)を完全無効化する

DTPを使うとアクセスポートが自動でトランクになる危険があるため、必ず無効化します。

interface Gi1/0/10
 switchport nonegotiate

※ 重要:トランク設定済みポートでも nonegotiate を推奨。

● (3) ネイティブVLANを変更し、タグ付き通信に強制

デフォルトの VLAN 1 をネイティブとして使うのは非常に危険です。

interface Gi1/0/1
 switchport trunk native vlan 999
 switchport trunk allowed vlan 10,20,30

VLAN 999 のように、未使用の VLAN をネイティブVLANに設定するのが実務の鉄板です。 さらに、可能であればネイティブ VLAN も「タグ付き」に強制するのが最善策です。

● (4) トランクポートは「許可VLAN」を厳格に制限

デフォルトでは全VLANが通るため、攻撃面が広がります。

switchport trunk allowed vlan 10,20,30

→ 使っていない VLAN を絶対に通さない。

● (5) BPDU Guard / Root Guard をユーザーポートに適用

L2 攻撃対策の一環として、STP関連の攻撃を防ぐための設定も必須です。

interface Gi1/0/10
 spanning-tree portfast
 spanning-tree bpduguard enable

BPDU Guard によって攻撃者のスイッチ接続を無効化できます。

● (6) VLAN 1 を管理・データ用に「絶対に使わない」

  • ネイティブ VLAN になりやすい
  • 管理VLANとして狙われやすい
  • Cisco 機器では多くが VLAN1 をデフォルトに使おうとする

VLAN 1 は無効化または隔離し、必ず別の管理 VLAN(例:VLAN 100, 200)を定義すること。

● (7) Private VLAN / Port Isolation を活用

攻撃者同士が同一 VLAN 内で水平移動(Lateral Movement)するのを防ぐために有効です。

  • 同一 VLAN 内のホスト間の通信を拒否
  • ゲストWiFi、監視カメラ、入退室装置などの隔離に効果的

● (8) 802.1X / MAB によるポート認証を導入

不正デバイスがユーザーポートに接続されること自体を防ぐ手段として、認証ベースのアクセス制御が有効です。

  • 802.1X(端末証明書)
  • MAB(MAC 認証)

→ VLAN Hopping 自体を “入り口で” 防ぐ強固な対策。

5. 実務でよくある誤設定パターン

以下のような環境は VLAN Hopping の温床になります。

  • ユーザーポートが “dynamic auto” のまま
  • ネイティブ VLAN が VLAN 1 のまま
  • トランクで allowed VLAN を絞っていない
  • DTP を無効化していない
  • BPDU Guard が未設定
  • 管理VLAN が VLAN 1
  • 無線APやIP電話がトランクに接続されている

このような誤設定は現場でも非常に多く、攻撃が成功する大きな要因となります。

6. VLAN Hopping 防御構成テンプレート(Cisco例)

以下は現場でよく利用される最適構成テンプレートです。

! --- アクセスポート
interface Gi1/0/10
 description User Port
 switchport mode access
 switchport access vlan 10
 switchport nonegotiate
 spanning-tree portfast
 spanning-tree bpduguard enable

! --- トランクポート
interface Gi1/0/1
 description Uplink to Core
 switchport trunk encapsulation dot1q
 switchport mode trunk
 switchport trunk native vlan 999
 switchport trunk allowed vlan 10,20,30,999
 switchport nonegotiate

7. まとめ

VLAN Hopping は VLAN を使うネットワークで必ず考慮すべきセキュリティリスクであり、設定不備によって簡単に成立してしまう攻撃です。 しかし、正しく対策すればほぼ 100% 防ぐことができます。

  • アクセスポートは必ず access 固定
  • DTP 無効化(nonegotiate)は絶対
  • ネイティブ VLAN は VLAN1 から変更し、タグ付き強制
  • トランクは許可 VLAN を厳格に制限
  • BPDU Guard / Root Guard を併用
  • VLAN1 を使わない(管理VLANは別で設計)
  • 802.1X/MAB で不正端末接続を防ぐ

これらの対策はすべて企業ネットワークで必須の設定であり、導入することで VLAN セグメント間の境界を強固に保護できます。

目次