Secure Trunking: VLAN Hopping verhindern (Best Practices)

Secure Trunking bedeutet: Trunks werden bewusst, statisch und minimalistisch betrieben, damit VLANs nur dort transportiert werden, wo sie wirklich gebraucht werden. Das reduziert nicht nur Betriebsfehler, sondern schließt auch klassische Angriffswege wie VLAN Hopping. VLAN Hopping ist in der Praxis fast immer eine Kombination aus Fehlkonfiguration (z. B. DTP aktiv, Native VLAN = produktives VLAN, „allow all“) und fehlenden Standards. Mit wenigen Best Practices kannst du Trunks auf Cisco Switches sehr robust härten.

VLAN Hopping verstehen: Welche Angriffswege gibt es?

„VLAN Hopping“ ist kein einzelner Exploit, sondern eine Klasse von Fehlkonfigurations-Risiken. Zwei Klassiker sind: ungewolltes Trunking (DTP) und Double-Tagging über eine produktive Native VLAN.

  • Switch Spoofing (DTP): Ein Endgerät verhandelt einen Trunk, wenn der Port dynamisch ist
  • Double-Tagging: Frames werden doppelt getaggt und nutzen Native VLAN (untagged) als „Sprungbrett“
  • „Allow all“: zu breite Allowed VLANs vergrößern die Angriffsfläche

Wichtige Realität

In modernen Netzen mit statischen Trunks, ungenutzter Native VLAN und restriktiven Allowed VLANs ist VLAN Hopping deutlich schwerer. Die größten Risiken entstehen durch Design- und Betriebsfehler.

Best Practice 1: Access-Ports hart auf Access setzen (keine dynamischen Modi)

Die wichtigste Maßnahme gegen Switch Spoofing ist, dass Endgeräte-Ports niemals dynamisch trunk werden können. Setze Ports explizit auf Access und deaktiviere DTP-Verhandlungen.

Client-Port-Template (Access, sicher)

enable
configure terminal
interface range gigabitEthernet 1/0/1 - 24
 description EDGE-CLIENTS
 switchport mode access
 switchport access vlan 10
 spanning-tree portfast
 spanning-tree bpduguard enable
end

Ungenutzte Ports parken und deaktivieren

configure terminal
vlan 998
 name PARKING
exit

interface range gigabitEthernet 1/0/25 - 47
description UNUSED-PARKED
switchport mode access
switchport access vlan 998
shutdown
end

Best Practice 2: Trunks statisch konfigurieren und DTP deaktivieren

Trunks sollten bewusst statisch gesetzt werden. DTP ist in vielen Enterprise-Designs nicht nötig und erhöht das Risiko ungewollter Trunk-Bildung.

Trunk-Template: statisch + nonegotiate

configure terminal
interface gigabitEthernet 1/0/48
 description UPLINK-TRUNK
 switchport mode trunk
 switchport nonegotiate
end

Verifikation: Ist wirklich ein Trunk aktiv?

show interfaces trunk
show interfaces gigabitEthernet 1/0/48 switchport

Best Practice 3: Native VLAN ungenutzt setzen (und konsistent halten)

Double-Tagging nutzt die Tatsache, dass Native VLAN auf Trunks untagged übertragen wird. Eine ungenutzte Native VLAN reduziert das Risiko, dass untagged Traffic in produktive Netze fällt. Wichtig ist: auf beiden Enden identisch setzen.

Native VLAN als ungenutztes VLAN definieren

configure terminal
vlan 999
 name NATIVE-UNUSED
exit

interface gigabitEthernet 1/0/48
switchport trunk native vlan 999
end

Native VLAN Mismatch erkennen

show interfaces trunk
show logging | include NATIVE|VLAN|TRUNK

Best Practice 4: Allowed VLANs strikt whitelisten (Minimalprinzip)

Ein Trunk sollte nur die VLANs transportieren, die wirklich benötigt werden. „Allow all“ ist betriebsriskant und erweitert die Angriffsfläche unnötig.

Allowed VLANs setzen (Whitelist)

configure terminal
interface gigabitEthernet 1/0/48
 switchport trunk allowed vlan 10,20,30,99
end

Allowed VLANs pflegen (Add/Remove)

configure terminal
interface gigabitEthernet 1/0/48
 switchport trunk allowed vlan add 40
 switchport trunk allowed vlan remove 30
end

Best Practice 5: Trunk nur dort, wo er wirklich nötig ist

Viele Sicherheitsprobleme entstehen, weil Ports „einfach mal als Trunk“ gesetzt werden, obwohl ein Access-Port genügt. Setze Trunks nur für Switch-Uplinks, Router/Firewall-Anbindungen oder APs mit mehreren SSIDs.

  • Switch-to-Switch Uplinks
  • Switch-to-Router/Firewall (mehrere VLANs)
  • Access Point Ports (Corp/Guest/Mgmt VLANs)
  • Hypervisor/Server mit VLAN-Tagging

Best Practice 6: Management- und Native VLAN von User-VLANs trennen

Management-Traffic gehört in ein eigenes VLAN und soll nicht „nebenbei“ als Native oder als unkontrolliertes VLAN laufen. Das reduziert das Risiko, dass untagged oder falsch getaggter Traffic Management erreicht.

  • MGMT VLAN (z. B. 99) nur für Infrastruktur
  • Native VLAN (z. B. 999) ungenutzt
  • ACLs für Management-Zugriff (nur Admin-Netze)

VTY-ACL (Beispiel für Management-Härtung)

configure terminal
ip access-list standard ACL-MGMT
 permit 10.1.99.0 0.0.0.255
 deny any
exit

line vty 0 15
transport input ssh
access-class ACL-MGMT in
end

Best Practice 7: Layer-2-Schutzmechanismen ergänzen

Secure Trunking ist ein Fundament. In Access-Netzen solltest du es mit STP- und L2-Security-Mechanismen ergänzen, um Fehlpatching, Rogue Devices und Spoofing zu begrenzen.

  • PortFast + BPDU Guard auf Edge-Ports
  • Root Guard auf Downlinks Richtung Access
  • DHCP Snooping, DAI, IP Source Guard (gegen Spoofing)
  • Storm Control als Notanker gegen Floods

Verifikation: Nachweis, dass Trunks „secure“ sind

Nach dem Hardening solltest du prüfen, ob Trunks statisch sind, ob Native VLAN korrekt ist und ob Allowed VLANs nicht „ausufern“. Zusätzlich sind Logs auf Mismatch/Trunk-Events wertvoll.

show interfaces trunk
show interfaces gigabitEthernet 1/0/48 switchport
show running-config interface gigabitEthernet 1/0/48
show vlan brief
show logging | include DTP|TRUNK|NATIVE|VLAN

Typische Fehlerbilder

  • Trunk kommt nicht hoch: Gegenstelle erwartet DTP, nonegotiate blockiert Aushandlung
  • VLANs fehlen: Allowed VLANs zu restriktiv oder VLAN nicht angelegt
  • Native VLAN mismatch: Warnungen, unerwartete VLAN-Zuordnung
  • AP/Server ohne Tagging: falscher Port-Modus (Access statt Trunk oder umgekehrt)

Praxis-Blueprint: Sicherer Uplink-Trunk (kompakt)

Dieses Template deckt die wichtigsten Secure-Trunking-Basics ab: statischer Trunk, DTP aus, Native VLAN ungenutzt, Allowed VLANs whitelisted und klare Description.

configure terminal
vlan 999
 name NATIVE-UNUSED
exit

interface gigabitEthernet 1/0/48
description UPLINK-TRUNK-TO-DIST
switchport mode trunk
switchport trunk native vlan 999
switchport trunk allowed vlan 10,20,30,99
switchport nonegotiate
end

copy running-config startup-config

Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab (CCNA)

Hallo! Ich bin ein CCNA-Network Engineer und unterstütze Sie bei Cisco Router- und Switch-Konfigurationen – inklusive eines vollständigen Cisco Packet-Tracer-Labs (.pkt). Ideal für Lern-/Übungsszenarien, Validierung oder eine saubere Demo-Topologie.

Was ich (je nach Paket) umsetze

  • Switching: VLANs, Trunking (802.1Q), Port-Zuweisung, STP-Basics (PortFast/BPDU Guard wo sinnvoll)

  • Routing: Default/Static Routing oder OSPF, Inter-VLAN Routing (Router-on-a-Stick)

  • Services: DHCP (Pools/Scopes), NAT/PAT für Internet-Simulation

  • Optional Security: Basic ACLs und SSH-Hardening

  • Test & Verifikation: Ping/Traceroute + wichtige Show-Commands (mit erwarteten Ergebnissen)

Sie erhalten

  • Packet Tracer .pkt Datei

  • ✅ Saubere Konfigurations-Notizen pro Gerät

  • ✅ Verifikations-Checkliste + erwartete Outputs

  • ✅ Kurze Dokumentation (wie die Topologie funktioniert)

Bitte schreiben Sie mir vor der Bestellung, damit wir Scope, Packet-Tracer-Version, Geräteanzahl und Deadline klären.

Konfiguriere Cisco Router & Switches | Cisco Packet-Tracer-Labs. Finden Sie mich auf Fiverr.

Related Articles