33
ABWEHR VON SICHERHEITSATTACKEN - EINE DEMO MIT PACKET TRACER Academy Day, Esslingen, 26.9.2015

ABWEHR VON SICHERHEITSATTACKEN - EINE DEMO MIT …...Packet Tracer interface FastEthernet0/1 storm-control broadcast level pps 100 storm-control multicast level pps 500 storm-control

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

ABWEHR VON SICHERHEITSATTACKEN -

EINE DEMO MIT PACKET TRACER

Academy Day, Esslingen, 26.9.2015

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

Aktivitäten im Internet

� Übersicht der Aktivitäten der bekanntesten Web-Sites

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

Packet Tracer Beispiel

� Spanning-Tree-Schutzmechanismen

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.

Packet Tracer Beispiel

� Port-Security-Demo

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

Gefahr

� Der Angreifer sieht die verwendeten IP-Adressen, Hostnamen, DNS-Server etc.

Lösung

� Es gibt zwei Lösungen:

� Den betreffenden Port als Accessport definieren. Dies führt zur automatischen Deaktivierung von DTP

� DTP gezielt deaktivieren

Packet Tracer

switchport nonegotiateManuelle Deaktivierung des Trunkports

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

Packet Tracer Beispiel

� DHCP-Schutzmechanismus