Das Dynamic Host Con­fi­gu­ra­ti­on Protocol (DHCP) macht die Kon­fi­gu­ra­ti­on des Netzwerks einfacher: Statt jeden Client, jeden PC, jedes Smart­phone, jedes netz­werk­fä­hi­ge Gerät einzeln ein­zu­rich­ten, verwendet man heut­zu­ta­ge meist DHCP. Über einen Server erhalten die einzelnen Netz­werk­teil­neh­mer ihre IP-Adressen, Sub­netz­mas­ken und weitere In­for­ma­tio­nen. Das ver­ein­facht nicht nur die Arbeit mit großen Netz­wer­ken, sondern minimiert auch Feh­ler­quel­len: Da die Adress­ver­ga­be dynamisch abläuft, kann es nicht passieren, dass zwei Geräten die gleiche IP-Adresse zu­ge­ord­net wird. Außerdem ver­rin­gert es den be­nö­tig­ten Adress­raum: Scheidet das Gerät aus dem Netz aus, kann die IP-Adresse au­to­ma­tisch wieder für einen neuen Netz­teil­neh­mer frei­ge­ge­ben werden.

Diese Ver­ein­fa­chung schafft aber gleich­zei­tig ein Ein­falls­tor für Kri­mi­nel­le. Wenn man sich darauf verlässt, dass jemand anderes die Arbeit für einen übernimmt, gibt man die Kontrolle ab. So können im Hin­ter­grund Dinge ablaufen, von denen man nichts mehr mit­be­kommt. Dies kann auch bei DHCP passieren. Aber es gibt eine Lösung: Dem Miss­brauch von DHCP begegnet man mit dem so­ge­nann­ten DHCP-Snooping. Wie funk­tio­niert diese Si­cher­heits­tech­nik?

Wofür braucht man DHCP-Snooping?

Beim DHCP sorgt ein Server dafür, dass die einzelnen Clients ihre Kon­fi­gu­ra­ti­on erhalten. Dafür sendet der Client zunächst eine Anfrage per Broadcast an das Netzwerk. Der Netz­teil­neh­mer möchte damit fest­stel­len, welche DHCP-Server überhaupt vorhanden sind und reagieren können. Alle ver­füg­ba­ren DHCP-Server antworten auf diese Nachfrage. Sollten mehrere Server in das Netz ge­schal­tet sein, wählt der Client den­je­ni­gen aus, dessen Antwort ihn als erste erreicht. Mit diesem DHCP-Server durch­läuft der Client dann die Adress­ver­ga­be. An dieser Stelle findet man die Schwach­stel­le des Systems, die Zu­griffs­mög­lich­keit für Kri­mi­nel­le.

Es ist möglich, weitere Server (so­ge­nann­te Rogue-DHCP-Server) in das Netzwerk ein­zu­spei­sen. Wenn ein solcher es schafft, den Client zuerst mit einer Antwort zu erreichen, erhält der Netz­teil­neh­mer die Kon­fi­gu­ra­ti­ons­in­for­ma­tio­nen über den schäd­li­chen Server. Der Rogue-DHCP-Server wird dann feh­ler­haf­te oder ma­ni­pu­lier­te Daten senden. Der Client ist somit falsch ein­ge­stellt. Dadurch ist es möglich, den Client auf ein falsches Gateway zu lotsen – das so­ge­nann­te DHCP-Spoofing. Über das Gateway können Kri­mi­nel­le den Da­ten­trans­fer mit­schnei­den und so sensible In­for­ma­tio­nen erlangen, was man auch als Man-in-the-Middle-Angriff be­zeich­net. Feh­ler­haf­te Adress­ver­ga­be kann hingegen zu einer Denial-of-Service-Attacke führen: Das komplette Netzwerk wird dabei lahm­ge­legt. DHCP-Snooping un­ter­bin­det die Kon­takt­auf­nah­me zu schäd­li­chen Servern.

Fakt

In den meisten Heim­netz­wer­ken – egal, ob LAN oder WLAN – übernimmt ein Router die Funktion des DHCP-Servers. Das ändert al­ler­dings wenig an den Gefahren durch DHCP-Spoofing, denn prin­zi­pi­ell kann jedes Gerät zu einem DHCP-Server werden. Kri­mi­nel­le können bei­spiel­wei­se einen Laptop in das WLAN ein­schleu­sen und so die Adress­ver­ga­be kon­trol­lie­ren.

DHCP-Snooping schützt aber nicht nur vor kri­mi­nel­len Ma­chen­schaf­ten, sondern auch vor Feh­ler­quel­len durch den un­be­dach­ten Einsatz von zu­sätz­li­chen Routern. Wird ein neuer Router in ein bereits be­stehen­des Netz eingebaut, kann dieser das DHCP durch­ein­an­der­brin­gen: Der neue Router vergibt dann Adressen, die ei­gent­lich nicht vergeben werden sollten. Das kann zu Ver­bin­dungs­feh­lern führen. Besonders im Un­ter­neh­mens­kon­text kann es Probleme ver­ur­sa­chen, wenn An­ge­stell­te ohne das Wissen des Netz­werk­ad­mi­nis­tra­tors eigene Geräte ins Netzwerk einfügen.

Was ist DHCP-Snooping?

DHCP-Snooping ist eine Si­cher­heits­funk­ti­on auf der zweiten Ebene des OSI-Modells. Eingebaut ist die Funktion in den Switch, der die Clients mit den DHCP-Servern verbindet. Einfach aus­ge­drückt handelt es sich um ein Protokoll, das alle DHCP-In­for­ma­tio­nen, die über den Switch laufen, zunächst überprüft. Nur zu­ge­las­se­ne Pakete von ver­trau­ens­wür­di­gen Servern werden an die Clients durch­ge­las­sen.

Fakt

Cisco war der erste Her­stel­ler, der DHCP-Snooping in seinen Geräten verwendet hat. Die Firma war auch Mitautor des RFC 7513, in dem das Prinzip erläutert wird. In­zwi­schen haben aber viele Her­stel­ler von Netz­werk­pe­ri­phe­rie nach­ge­zo­gen und bieten die Si­cher­heits­funk­ti­on (teilweise unter anderem Namen) in ihren Geräten an.

Auf diese Weise kann ein Rogue-DHCP-Server zwar das DHCP­DIS­CO­VER-Paket (die Frage des Clients nach einem DHCP-Server) empfangen – weil er den Broadcast be­ob­ach­tet – 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 ver­trau­ens­wür­di­gen Server kommt bzw. falsche In­for­ma­tio­nen enthält, und blockiert die Wei­ter­lei­tung.

Ver­trau­ens­wür­di­ge Ports

Um si­cher­zu­stel­len, dass nur die richtigen Server in die Vergabe von Kon­fi­gu­ra­ti­ons­in­for­ma­tio­nen ein­grei­fen 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 ein­zu­grei­fen, 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 Ad­mi­nis­tra­tor 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 ver­trau­ens­wür­di­gen Port kommen, blockiert der Switch die Wei­ter­lei­tung. Ein Client wird die In­for­ma­ti­on nicht erhalten.

DHCP-Snooping-Binding-Database

Ein Angreifer kann aber auch versuchen, das Netzwerk zu stören, indem er sich als einer der be­stehen­den Clients ausgibt und als dieser Angebote des DHCP-Servers ablehnt. DHCP-Snooping nutzt daher eine Datenbank, die vom System selbst­stän­dig angelegt und ak­tua­li­siert wird. Das Protokoll liest alle DHCP-In­for­ma­tio­nen mit (nicht al­ler­dings die tat­säch­li­chen Daten nach der er­folg­rei­chen Ver­bin­dung) 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 ver­trau­ens­wür­di­gen Port laufen. Die ge­sam­mel­ten In­for­ma­tio­nen umfassen die MAC-Adresse, die zu­ge­ord­ne­te IP-Adresse, den ver­wen­de­te Switch­port, das logische Teilnetz (VLAN) und die Dauer der Lease Time. So kann DHCP-Snooping si­cher­stel­len, dass nur die ori­gi­na­len Clients, die an der Kom­mu­ni­ka­ti­on teil­ge­nom­men haben, Befehle an den Server senden können. Denn nur bei diesen stimmen MAC-Adresse und Switch­port des Geräts mit den in der Datenbank ge­spei­cher­ten In­for­ma­tio­nen überein.

Fakt

Auch andere Si­cher­heits­maß­nah­men wie ARP In­spec­tion oder IP Source Guard greifen auf die DHCP-Snooping-Binding-Database zu.

Logs

Zu­sätz­lich können manche Netz­werk­ge­rä­te im Rahmen von DHCP-Snooping einen Bericht zum Ab­wehr­vor­gang erstellen. Die Logs kann man sich wei­ter­lei­ten lassen und an­schlie­ßend ana­ly­sie­ren. Das Verfahren un­ter­schei­det bei der Do­ku­men­ta­ti­on zwei Fehler: Dis­kre­panz zwischen der aktuellen MAC-Adresse und der in der Datenbank ge­spei­cher­ten Info auf der einen Seite und auf der anderen Seite Server-Pakete, die über einen nicht ver­trau­ens­wür­di­gen Port gesendet werden.

Die erste Sorte von Feh­ler­mel­dun­gen entsteht in den meisten Fällen durch schlecht um­ge­setz­te Netz­werk­aspek­te in einem Client-Gerät – sie bilden in der Regel also keinen Grund zur Besorgnis. Der zweite Typ von Feh­ler­mel­dun­gen weist hingegen auf kri­mi­nel­le Absichten hin: Jemand hat ab­sicht­lich versucht, das Netzwerk mit einem Rogue-DHCP-Server zu in­fil­trie­ren. Da das DHCP-Snooping alles auf­zeich­net, kann man ziel­füh­ren­de Un­ter­su­chun­gen solcher Pro­blem­fäl­le einleiten.

Tipp

DHCP-Server können sich ohne Ihr Wissen in das Netzwerk ein­schlei­chen. Diese so­ge­nann­ten Spurious-DHCP-Server lassen sich aber durch einen Blind­gän­ger in Form des Pakets DHCP­DIS­CO­VER aufdecken. Der schäd­li­che Server antwortet auf die Anfrage und offenbart sich so.

Option 82

Noch mehr Si­cher­heit erhält man durch die Ak­ti­vie­rung von Option 82, auch bekannt als DHCP-Relay-Agent-In­for­ma­tio­nen. Hierbei schaltet sich der Switch aktiv in die Kom­mu­ni­ka­ti­on 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 zu­sätz­li­che In­for­ma­tio­nen hinzu. Mit diesen kann der Server den Switch und damit den Ort des Clients nach­voll­zie­hen.

Der DHCP-Server liest die zu­sätz­li­chen Details aus und vergibt die IP-Adressen abhängig von den Stand­ort­in­for­ma­tio­nen. Der Server schickt das Ant­wort­pa­ket über den Switch zurück an den Client. Erreicht das Paket den Switch, erkennt dieser an den immer noch ent­hal­te­nen In­for­ma­tio­nen, dass die Kom­mu­ni­ka­ti­on tat­säch­lich ü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 zu­sätz­li­chen In­for­ma­tio­nen umgehen zu können. Ansonsten ignoriert der DHCP-Server die Option-82-Daten einfach und behandelt die Client-Anfrage wie einen ge­wöhn­li­chen DHCP-Request.

Zum Hauptmenü