DHCP-Snooping: Mehr Sicherheit für Ihr Netzwerk

Das Dynamic Host Configuration Protocol (DHCP) macht die Konfiguration des Netzwerks einfacher: Statt jeden Client, jeden PC, jedes Smartphone, jedes netzwerkfähige Gerät einzeln einzurichten, verwendet man heutzutage meist DHCP. Über einen Server erhalten die einzelnen Netzwerkteilnehmer ihre IP-Adressen, Subnetzmasken und weitere Informationen. Das vereinfacht nicht nur die Arbeit mit großen Netzwerken, sondern minimiert auch Fehlerquellen: Da die Adressvergabe dynamisch abläuft, kann es nicht passieren, dass zwei Geräten die gleiche IP-Adresse zugeordnet wird. Außerdem verringert es den benötigten Adressraum: Scheidet das Gerät aus dem Netz aus, kann die IP-Adresse automatisch wieder für einen neuen Netzteilnehmer freigegeben werden.

Diese Vereinfachung schafft aber gleichzeitig ein Einfallstor für Kriminelle. Wenn man sich darauf verlässt, dass jemand anderes die Arbeit für einen übernimmt, gibt man die Kontrolle ab. So können im Hintergrund Dinge ablaufen, von denen man nichts mehr mitbekommt. Dies kann auch bei DHCP passieren. Aber es gibt eine Lösung: Dem Missbrauch von DHCP begegnet man mit dem sogenannten DHCP-Snooping. Wie funktioniert diese Sicherheitstechnik?

Wofür braucht man DHCP-Snooping?

Beim DHCP sorgt ein Server dafür, dass die einzelnen Clients ihre Konfiguration erhalten. Dafür sendet der Client zunächst eine Anfrage per Broadcast an das Netzwerk. Der Netzteilnehmer möchte damit feststellen, welche DHCP-Server überhaupt vorhanden sind und reagieren können. Alle verfügbaren DHCP-Server antworten auf diese Nachfrage. Sollten mehrere Server in das Netz geschaltet sein, wählt der Client denjenigen aus, dessen Antwort ihn als erste erreicht. Mit diesem DHCP-Server durchläuft der Client dann die Adressvergabe. An dieser Stelle findet man die Schwachstelle des Systems, die Zugriffsmöglichkeit für Kriminelle.

Es ist möglich, weitere Server (sogenannte Rogue-DHCP-Server) in das Netzwerk einzuspeisen. Wenn ein solcher es schafft, den Client zuerst mit einer Antwort zu erreichen, erhält der Netzteilnehmer die Konfigurationsinformationen über den schädlichen Server. Der Rogue-DHCP-Server wird dann fehlerhafte oder manipulierte Daten senden. Der Client ist somit falsch eingestellt. Dadurch ist es möglich, den Client auf ein falsches Gateway zu lotsen – das sogenannte DHCP-Spoofing. Über das Gateway können Kriminelle den Datentransfer mitschneiden und so sensible Informationen erlangen, was man auch als Man-in-the-Middle-Angriff bezeichnet. Fehlerhafte Adressvergabe kann hingegen zu einer Denial-of-Service-Attacke führen: Das komplette Netzwerk wird dabei lahmgelegt. DHCP-Snooping unterbindet die Kontaktaufnahme zu schädlichen Servern.

Fakt

In den meisten Heimnetzwerken – egal, ob LAN oder WLAN – übernimmt ein Router die Funktion des DHCP-Servers. Das ändert allerdings wenig an den Gefahren durch DHCP-Spoofing, denn prinzipiell kann jedes Gerät zu einem DHCP-Server werden. Kriminelle können beispielweise einen Laptop in das WLAN einschleusen und so die Adressvergabe kontrollieren.

DHCP-Snooping schützt aber nicht nur vor kriminellen Machenschaften, sondern auch vor Fehlerquellen durch den unbedachten Einsatz von zusätzlichen Routern. Wird ein neuer Router in ein bereits bestehendes Netz eingebaut, kann dieser das DHCP durcheinanderbringen: Der neue Router vergibt dann Adressen, die eigentlich nicht vergeben werden sollten. Das kann zu Verbindungsfehlern führen. Besonders im Unternehmenskontext kann es Probleme verursachen, wenn Angestellte ohne das Wissen des Netzwerkadministrators eigene Geräte ins Netzwerk einfügen.

Was ist DHCP-Snooping?

DHCP-Snooping ist eine Sicherheitsfunktion auf der zweiten Ebene des OSI-Modells. Eingebaut ist die Funktion in den Switch, der die Clients mit den DHCP-Servern verbindet. Einfach ausgedrückt handelt es sich um ein Protokoll, das alle DHCP-Informationen, die über den Switch laufen, zunächst überprüft. Nur zugelassene Pakete von vertrauenswürdigen Servern werden an die Clients durchgelassen.

Fakt

Cisco war der erste Hersteller, der DHCP-Snooping in seinen Geräten verwendet hat. Die Firma war auch Mitautor des RFC 7513, in dem das Prinzip erläutert wird. Inzwischen haben aber viele Hersteller von Netzwerkperipherie nachgezogen und bieten die Sicherheitsfunktion (teilweise unter anderem Namen) in ihren Geräten an.

Auf diese Weise kann ein Rogue-DHCP-Server zwar das DHCPDISCOVER-Paket (die Frage des Clients nach einem DHCP-Server) empfangen – weil er den Broadcast beobachtet – und ist dann auch in der Lage, ein DHCPOFFER-Paket zu senden (die Antwort auf das Gesuch), dieses wird aber keinen Client erreichen. DHCP-Snooping im Switch erkennt, dass das Paket nicht von einem vertrauenswürdigen Server kommt bzw. falsche Informationen enthält, und blockiert die Weiterleitung.

Vertrauenswürdige Ports

Um sicherzustellen, dass nur die richtigen Server in die Vergabe von Konfigurationsinformationen eingreifen können, setzt DHCP-Snooping auf mehrere Schritte. Zunächst legt man einen sicheren Port für den oder die eigenen Server fest. Alle Geräte, die über einen anderen Port versuchen, in das Netzwerk einzugreifen, werden als unsicher angesehen. Dazu gehören auch alle Clients. Das bedeutet demnach, dass ein Host, auf dem ein DHCP-Server läuft, der aber nicht vom Administrator genehmigt wurde, als unsicher angesehen wird. Sollte nun ein DHCP-Paket, das nur von einem Server gesendet werden kann (DHCPOFFER, DHCPACK, DHCPMAK), über einen nicht vertrauenswürdigen Port kommen, blockiert der Switch die Weiterleitung. Ein Client wird die Information nicht erhalten.

DHCP-Snooping-Binding-Database

Ein Angreifer kann aber auch versuchen, das Netzwerk zu stören, indem er sich als einer der bestehenden Clients ausgibt und als dieser Angebote des DHCP-Servers ablehnt. DHCP-Snooping nutzt daher eine Datenbank, die vom System selbstständig angelegt und aktualisiert wird. Das Protokoll liest alle DHCP-Informationen mit (nicht allerdings die tatsächlichen Daten nach der erfolgreichen Verbindung) und zieht hieraus Details für die DHCP-Snooping-Binding-Database.

Das System nimmt sämtliche Hosts in die Datenbank auf, die über einen nicht vertrauenswürdigen Port laufen. Die gesammelten Informationen umfassen die MAC-Adresse, die zugeordnete IP-Adresse, den verwendete Switchport, das logische Teilnetz (VLAN) und die Dauer der Lease Time. So kann DHCP-Snooping sicherstellen, dass nur die originalen Clients, die an der Kommunikation teilgenommen haben, Befehle an den Server senden können. Denn nur bei diesen stimmen MAC-Adresse und Switchport des Geräts mit den in der Datenbank gespeicherten Informationen überein.

Fakt

Auch andere Sicherheitsmaßnahmen wie ARP Inspection oder IP Source Guard greifen auf die DHCP-Snooping-Binding-Database zu.

Logs

Zusätzlich können manche Netzwerkgeräte im Rahmen von DHCP-Snooping einen Bericht zum Abwehrvorgang erstellen. Die Logs kann man sich weiterleiten lassen und anschließend analysieren. Das Verfahren unterscheidet bei der Dokumentation zwei Fehler: Diskrepanz zwischen der aktuellen MAC-Adresse und der in der Datenbank gespeicherten Info auf der einen Seite und auf der anderen Seite Server-Pakete, die über einen nicht vertrauenswürdigen Port gesendet werden.

Die erste Sorte von Fehlermeldungen entsteht in den meisten Fällen durch schlecht umgesetzte Netzwerkaspekte in einem Client-Gerät – sie bilden in der Regel also keinen Grund zur Besorgnis. Der zweite Typ von Fehlermeldungen weist hingegen auf kriminelle Absichten hin: Jemand hat absichtlich versucht, das Netzwerk mit einem Rogue-DHCP-Server zu infiltrieren. Da das DHCP-Snooping alles aufzeichnet, kann man zielführende Untersuchungen solcher Problemfälle einleiten.

Tipp

DHCP-Server können sich ohne Ihr Wissen in das Netzwerk einschleichen. Diese sogenannten Spurious-DHCP-Server lassen sich aber durch einen Blindgänger in Form des Pakets DHCPDISCOVER aufdecken. Der schädliche Server antwortet auf die Anfrage und offenbart sich so.

Option 82

Noch mehr Sicherheit erhält man durch die Aktivierung von Option 82, auch bekannt als DHCP-Relay-Agent-Informationen. Hierbei schaltet sich der Switch aktiv in die Kommunikation zwischen Client und Server ein. Dieses Vorgehen ist sinnvoll, wenn sich Clients und Server nicht im gleichen Subnetz befinden. Wenn der Client einen Request an den DHCP-Server sendet, fügt der Switch dem Header dieser Anfrage zusätzliche Informationen hinzu. Mit diesen kann der Server den Switch und damit den Ort des Clients nachvollziehen.

Der DHCP-Server liest die zusätzlichen Details aus und vergibt die IP-Adressen abhängig von den Standortinformationen. Der Server schickt das Antwortpaket über den Switch zurück an den Client. Erreicht das Paket den Switch, erkennt dieser an den immer noch enthaltenen Informationen, dass die Kommunikation tatsächlich über ihn läuft. Daraufhin löscht das Gerät die Option-82-Daten wieder aus dem Header und leitet die Antwort weiter.

Tipp

Um die Option 82 nutzen zu können, muss DCHP-Snooping global aktiviert sein. Auch der Server muss in der Lage sein, mit den zusätzlichen Informationen umgehen zu können. Ansonsten ignoriert der DHCP-Server die Option-82-Daten einfach und behandelt die Client-Anfrage wie einen gewöhnlichen DHCP-Request.