Post on 25-Feb-2020
Darstellung von Layer-2-Angriffsmöglichkeiten,
die Gefahren, die dadurch entstehen und
die Lösungen, die im IOS vorgesehen sind mit Packet Tracer demonstrieren
Ziel
Layer-2-Angriffsmöglichkeiten
� STP-Root schützen (Spanning-Tree Protocol)
� Manipulation von STP-Parametern verhindern
� Broadcaststürme unterbinden
� MAC-Adresstabellen-Überläufe abwehren
� DTP-Angriffe ausschließen (Dynamic Trunking Protocol)
� DHCP-Spoofing und –Starvation verhindern
STP-Root schützen
� Parameter zur Netzwerksteuerung werden meistens unverschlüsselt übertragen, um die Performance nicht zu schmälern -> daraus resultiert ein Sicherheitsrisiko
� In der Cisco-Architektur basiert die Ebene Distribution-Access auf Layer-2-Protokollen
Gefahr
� Schritt 1: Ein Angreifer platziert einen Switch in das Netzwerk durch einen Port oder eine freie Netzwerkdose.
� Schritt 2: Der Switch wird als Trunk konfiguriert und mit einer hohen Priorität versehen – wenn kein Schutz installiert ist und die Ports als Access-Ports konfiguriert sind.
� Schritt 3: Der „Rogue-Switch“ wird Root-Bridge
� Der Datenverkehr läuft über die Root-Bridge und kann mitgeschnitten werden.
Lösung
� Um zu verhindern, dass der Rogue-Switch zur Root wird, wird ein Schutzmechanismus auf den Trunk-Interfaces der Root-Bridge implementiert. Aus Architekturgründen werden diese Ports niemals zu ROOT-Ports - Root Guard
� Root Guard ist ein von Cisco entwickelter Sicherheitsmechanismus für das Spanning Tree Protocol (STP).
� Versucht ein Gerät hinter einem Port mit aktivem Root Guard (die aktuelle Root-Bridge) zur Root Bridge zu werden, deaktiviert der Switch diesen Port.
� Damit lassen sich Angriffe auf Spanning Tree wirksam abwehren.
Packet Tracer
interface fa0/20
spanning-tree guard root
exitfür jedes Trunk-Interface der Root-Bridge im Interface-Modus. Es deaktiviert das entsprechende Interface für den Empfang „besserer“ BPDUs
Manipulation von STP-Parametern
� STP verfügt über keinerlei Sicherheitsmechanismen. Jede Station kann ohne Authentifikation BPDUs erzeugen und ins Netz senden.
� Switches werten diese BPDUs aus.
Gefahr
� Grundsätzlich sendet und empfängt jeder Switchport BPDUs. Diese Eigenschaft bietet allerdings Angreifern die Möglichkeit, die Topologie auszulesen und sie mit gefälschten BPDUs zu verändern.
Lösung
� Das Abschalten von STP ist keine gute Idee. Eine Schleife auf Layer 2 löst dann sofort einen Broadcast Storm aus.
� BPDU Guard wird auf Access Ports aktiviert, d.h. Geräte hinter einem mit Portfast konfiguriertem Port sollen nicht in der Lage sein, die STP-Topologie zu beeinflussen
� Empfängt ein Access-Port auf dem BPDU Guard aktiviert ist eine BPDU, wird dieser Port deaktiviert.
� BPDU Guard sollte zusammen mit PortFast genutzt werden
� Wird in Folge von BPDU Guard der Port deaktiviert, wechselt der Interface-Status in ERR-Disabled. Die Folge ist ein Recovery, dass bis zu 5 Min dauern kann.
Beispiel
Switch A ist die Rootbrigde mit Priorität 8192Switch B ist die Backup-Root mit Priorität 16384Switch C ist ein Access-Switch mit Portfast-Kon-figuration zu Switch D
Sind alle weiteren Parameter als Default vereinbart,befindet sich der Port zu Switch B im Blocking-Status
Beispiel cont.
Versucht Switch D eine Teilnahme an STPmit einer Priorität von 0, um Root-Bridgezu werden, verhindert BPDU guard aufSwitch C dieses.
Packet Tracer
interface FastEthernet0/1
spanning-tree portfast
spanning-tree bpduguard enableIm Interfacemodus wird BPDU Guard auf dem entsprechenden Interface aktiviert (nur für Access-Ports)
spanning-tree portfast bpduguard defaultIm globalen Konfigurationsmodus wird portfast und BPDU Guard auf allen Access Ports aktiviert
Broadcaststürme unterbinden
� Broadcaststürme können leicht ganze Netzwerke zum Ausfall durch Überlastung bringen. Sie breiten sich innerhalb einer Broadcast Domain des Layer 2 aus.
� Ein Broadcaststurm bedeutet, dass Broadcasts und Multicasts auf alle Switch-Ports weitergeleitet werden mit Ausnahme desjenigen Ports, von dem der Datenverkehr stammt. Dadurch wird eine Schleife erzeugt, und die Switches leiten die Broadcasts des jeweils anderen Switches weiter, so dass es innerhalb kürzester Zeit zur Überlastung des Netzwerkes kommt.
Gefahr
� Der typische Verursacher für einen Broadcaststurm ist der kleine Switch im Büro oder auf dem Besprechungstisch, der versehentlich eine Schleife (Loop) erzeugt, weil er nur temporär genutzt werden soll.
� Die weitere Ursache ist die redundante Verkabelung von zwei oder mehr Uplinks zwischen zwei Switches.
Lösung
� Cisco IOS bietet mit dem Feature Storm Control die Möglichkeit, auf Broadcast-, Multicast- und Unicast-Storms zu reagieren.
� Pro Trunk-Interface können Schwellwerte für die Erkennung eines Storms in Bit pro Sekunde, Paketen pro Sekunde oder Prozent der Bandbreite angegeben werden.
Packet Tracer
interface FastEthernet0/1
storm-control broadcast level pps 100
storm-control multicast level pps 500
storm-control action shutdownHier erfolgt die Angabe in Paketen pro Sekunde pro Trunk-Interface
MAC-Adresstabellenüberlauf
� Bei dieser Angriffsform versucht der Angreifer den Switch mit gefälschten Source-MAC-Adressen zu überhäufen.
� Da die MAC-Adresstabelle eine endliche Ressource ist, führt die Menge der Frames zu einem Tabellenüberlauf.
� In Folge dieses Überlaufs geht der Switch in einen „fail-open“ Modus über. Er handelt dann als HUB und flutet jeden neu empfangenen Frame auf alle Interfaces.
Gefahr
� Der Angreifer kann nun den „normalen“ Datenverkehr mitschneiden, da er alle Frames zwischen den Opfer-Hosts sieht.
� Diese Möglichkeit schafft ihm Einblick in die Kommunikation der beteiligten Rechner und damit Einsichten über das Netz.
Lösung
� Port-Security als Merkmal der Schicht 2 ist hier eine Lösung.
� Hierdurch wird die Zahl möglicher MAC-Adressen auf einem Port begrenzt.
� Bei Überschreiten dieser Maximalzahl kann eine abgestufte Entscheidung bezüglich der Portverfügbarkeit getroffen werden.
� Beispiel: beträgt die pro Port zugelassenen Zahl von MAC-Adressen 3, so löst ein weiterer Frame mit unbekannter MAC-Adresse eine administrativ konfigurierte Entscheidung aus
� Diese Entscheidung ist nur suboptimal. Insbesondere bei Verwendung virtueller Maschinen, bei der mehrere VMs einen physikalischen Port benutzen, ist diese Maßnahme eher unkomfortabel
� Die Anzahl der MAC-Adressen kann auf eins begrenzt und manuell konfiguriert werden. Diese Einschränkung kann sinnvoll sein, wenn z.B. ein Drucker angebunden wird
Packet Tracer
switchport port-securityDieser Befehl ist auf Accessports beschränkt!
switchport port-security maximum 3Beschränkt die Anzahl maximal zulässiger MAC-Adressen
switchport port-security violation {shutdown, restrict, protect}Aktion bei Überschreiten der maximalen Zahl. Default: shutdown
Die allgemein Konfiguration erlaubt ein dynamisches Lernen der MAC-Adressen (sticky) oder eine manuelle Vorkonfiguration.
DTP-Angriff
� DTP wird zur Verhandlung von Trunk-Verbindungen auf der Basis von ISL oder Dot1q verwendet.
� Defaultmäßig ist DTP aktiviert
� DTP besitzt zwei Modi:
� Dynamic Auto: bildet die Standardeinstellung und versucht keine automatische Trunkverhandlung
� Dynamic Desirable: versucht aktiv eine Trunkverhandlung mit seinen Nachbarn
� Schließt ein Angreifer einen Switch an einen Trunkport, der im Standard den Modus Dynamic Auto besitzt, mit Dynamic Desirable an, sieht der Angreifer den Datenverkehr auf allen VLANs, der das Interface passiert
Lösung
� Es gibt zwei Lösungen:
� Den betreffenden Port als Accessport definieren. Dies führt zur automatischen Deaktivierung von DTP
� DTP gezielt deaktivieren
DHCP-Spoofing und Starvation
� Der Angreifer versucht Antworten eines zulässigen DHCP-Servers zu fälschen.
� Das falsche DHCP-Device antwortet auf eine DHCP-Anfrage eines Clients schneller als der gültige DHCP-Server.
� Diese Antwort enthält den Angreiferserver als Default-Gateway oder DNS-Server
� Beim DHCP-Starvation fordert der Angreifer kontinuierlich IP-Adressen an und ändert gleichzeitig permanent die Source-MAC-Adresse, d.h. verlangt eine IP-Adresse für immer weitere Endnutzer.
Gefahr
� Spoofing: Im Falle eines Gateways werden die Pakete des Clients an den Angreifer weitergeleitet, der diese dann dem Empfänger zustellt – Man-in-the-Middle
� Starvation: Im Erfolgsfall werden alle verfügbaren IP-Adressen vergeben, so dass die ordnungsgemäßen Nutzer leer ausgehen
Lösung
� Zur Verhinderung dieser Angriffsform werden DHCP-Snooping und Port-Security verwendet.
� Snooping verwendet das Prinzip vertrauenswürdiger Ports.
� Nur vertrauenswürdige Ports können die Quelle/Erzeuger von DHCP-Nachrichten sein. Nicht vertrauenswürdige Ports können nur antworten.
� DHCP-Server sind mit einem vertrauenswürdigen Port verbunden.
� Versucht ein falscher DHCP-Server an einem nicht vertrauenswürdigen Port eine DHCP-Nachricht zu senden, wird der Port deaktiviert.
� Nicht vertrauenswürdige Ports sind alle diejenigen, die nicht explizit als vertrauenswürdig konfiguriert wurden. Für diese Ports wird eine DHCP-Bindingtabelle erstellt, die MAC-Adresse, IP-Adresse, Lease-Time, VLAN-Zugehörigkeit etc. enthält
Packet Tracer
� Schritt 1: ip dhcp snooping� Im globalen Konfigurationsmodus
� Schritt 2: ip dhcp snooping vlan number #� Aktiviert DHCP-Snooping für ein spezifisches VLAN im globalen Konfigurationsmode
� Schritt 3: interface fa0/1
� ip dhcp snooping trust� Definiert Ports im Interfacemodus als vertrauenswürdig. Dazu zählen alle
Uplinkports in Richtung DHCP-Server
� Schritt 4: show ip dhcp snooping� Zeigt an, für welches Interface DHCP-Snooping aktiviert ist