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) を使用した「意図しないトランク自動確立」を悪用する攻撃です。
攻撃の流れ:
- 攻撃者のPCが DTPパケットを送信し、スイッチに「私はトランクポートです」と偽装
- スイッチが誤ってトランクを確立
- 攻撃者は全 VLAN のタグを送信できるようになる
- 結果 → 他VLAN に進入可能
実務では古いスイッチ・誤設定環境で今なお発生します。
● (2) ダブルタグ攻撃(Double Tagging Attack)
VLANタグを「二重」に挿入(Double Tag)したパケットを送信し、スイッチの処理仕様を悪用して別VLANへ入り込む攻撃です。
攻撃の仕組み:
- 攻撃者が VLAN タグを2つ付ける(外側・内側)
- 最初のスイッチが外側のタグのみを削除し転送
- 次のスイッチが “内側のタグ” に従い、ターゲットVLAN に転送
- 結果 → 本来アクセスできない 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 セグメント間の境界を強固に保護できます。



