DHCP: Das steckt hinter dem Dynamic Host Configuration Protocol
Geräte mit einem bestehenden TCP/IP-Netzwerk zu verbinden, ist inzwischen denkbar einfach: Musste man die IP-Adressen früher noch mühsam per Hand vergeben und in die verschiedenen Systeme eintragen, findet die Adressverwaltung heutzutage automatisch statt. Dass Kommunikationshardware (wie Router, Hubs oder Switches) verbindungssuchenden Geräten automatisch eine individuelle Adresse zuweisen und sie in Netzwerke einbinden kann, ist durch das Dynamic Host Configuration Protocol (DHCP) möglich.
Was ist DHCP?
Das Dynamic Host Configuration Protocol ist eine Erweiterung des 1985 entwickelten Bootstrap Protocols (BOOTP), das der Verbindung einfacher Geräte wie Terminals und festplattenlosen Workstations mit einem Bootserver diente. Über den Server bezogen diese Geräte dann ihr Betriebssystem. DHCP wurde als Lösung für größere Netzwerke und tragbare Computer entwickelt und ergänzt BOOTP daher unter anderem durch die Fähigkeit der automatischen Zuweisung von wiederverwendbaren Netzwerkadressen sowie durch zusätzliche Konfigurationsmöglichkeiten. Nach ersten Definitionen des Protokolls in den RFCs 1531 und 1541 (beide 1993) wurde die endgültige Standardspezifikation 1997 im RFC 2131 festgehalten. Die Internet Assigned Numbers Authority (IANA) wies dem Kommunikationsprotokoll die UDP-Ports 67 und 68 (für IPv6: Port 546 und 547) zu, die auch für das Bootstrap Protocol vorgesehen sind.
Die Adresszuordnung mit DHCP funktioniert nach dem Client-Server-Prinzip: Die verbindungssuchenden Geräte fordern die IP-Adresskonfiguration von einem DHCP-Server an, der seinerseits auf eine Datenbank zurückgreift, in der die einzustellenden Netzwerkparameter vorgegeben sind. Unter anderem kann dieser Server, der Bestandteil jedes modernen DSL-Routers ist, dem Client mithilfe seiner Datenbankinformationen folgende Einstellungen zuweisen:
- eindeutige IP-Adresse
- Subnetzmaske
- Standard-Gateway
- DNS-Server
- Proxy–Konfiguration via WPAD (Web Proxy Auto-Discovery Protocol)
📖Definition: Das Dynamic Host Configuration Protocol (DHCP) ist ein Kommunikationsprotokoll für Computernetzwerke, das 1997 im RFC 2131 definiert wurde. Nach dem Client-Server-Prinzip sorgt es dafür, dass verbindungssuchende Geräte automatisch eine wiederverwendbare Netzwerkadresse und alle weiteren relevanten Parameter beziehen. Die Internet Assigned Numbers Authority (IANA) hat DHCP zu diesem Zweck die UDP-Ports 67 und 68 zugewiesen.
DHCP Ablauf: So kommunizieren DHCP-Client und -Server
Die automatische Adresszuordnung über das Dynamic Host Configuration Protocol läuft in vier aufeinanderfolgenden Schritten ab:
- Zu Beginn versendet der Client ein DHCPDISCOVER-Paket mit der Zieladresse 255.255.255.255 und der Quelladresse 0.0.0.0. Mit diesem sogenannten Broadcast kontaktiert er alle Netzwerkteilnehmer, um verfügbare DHCP-Server zu lokalisieren und über die Adressanforderung zu informieren. Im Optimalfall gibt es nur einen einzigen Server, sodass es zu keinerlei Komplikationen bei der Zuordnung kommt.
- Den Broadcast beantworten alle erreichten DHCP-Server, die auf Port 67 lauschen und auf entsprechende Anfragen warten, mit einem DHCPOFFER-Paket. Selbiges enthält neben einer möglichen, freien IP-Adresse und der MAC-Adresse des Clients auch die Subnetzmaske sowie die IP-Adresse und ID des Servers.
- Der DHCP-Client wählt aus den erhaltenen Adressdaten die gewünschten aus und informiert den betreffenden Server mittels DHCPREQUEST. Alle anderen Server erhalten diese Nachricht ebenfalls und wissen dadurch, dass die Wahl zugunsten eines anderen Vertreters gefallen ist. Ferner bittet der Client den Server um die Betätigung der offerierten Daten. Der DHCPREQUEST dient außerdem dazu, bereits zu einem früheren Zeitpunkt erhaltene Parameter zu bestätigen.
- Abschließend bestätigt der Server die TCP/IP-Parameter und übermittelt sie ein weiteres Mal an den Client, wobei er ein DHCPACK-Paket (DHCP acknowledged, „anerkannt“) verwendet. Dieses enthält zusätzliche Angaben – beispielsweise über DNS-, SMTP- oder POP3-Server. Der DHCP-Client speichert nun alle erhaltenen Daten lokal ab und verbindet sich mit dem Netzwerk. Stehen dem Server keine Adressen mehr zur Verfügung oder wurde die jeweilige IP während des Konfigurationsprozesses einem anderen Client zugeteilt, antwortet er mit DHCPNAK (DHCPnot acknowledged „nicht anerkannt“). Die automatisch vergebene Adresse wird in Kombination mit der MAC-Adresse in der Datenbank des Servers gespeichert, wodurch die Konfiguration permanent bestehen bleibt. Das Gerät baut die Verbindung zu dem Netzwerk also immer mit der zugewiesenen IP-Adresse auf, die für andere Clients blockiert ist. Das hat allerdings auch den Nachteil, dass neue DHCP-Clients keine Adresse erhalten, wenn der gesamte Adressbereich bereits vergeben ist – auch, wenn einige der IPs nicht mehr aktiv genutzt werden. Wesentlich verbreiteter sind daher die dynamische IPs und in speziellen Fällen die manuelle Zuordnung via DHCP-Server, um die es im folgenden Abschnitt gehen soll.
DHCP: Manuelle und dynamische Zuordnung der Adresse
Das Problem eines komplett belegten Adressbereiches ist bei der Nutzung der dynamischen Adresszuordnung eher unwahrscheinlich. Prinzipiell gleicht dieses Verfahren weitestgehend der automatischen Vergabe, allerdings gibt es dennoch einen kleinen, aber feinen Unterschied: Die vom DHCP-Server übermittelten IP-Konfigurationen sind nämlich nicht auf unbestimmte Zeit gültig, sondern mit einer vom Administrator definierten Lease-Time (dt. Leihdauer) versehen. Diese gibt an, wie lange das Gerät mit der jeweiligen IP-Adresse auf das Netzwerk zugreifen kann. Vor dem Ablauf dieses Zeitfensters müssen standardkonforme Clients um eine Verlängerung bitten, indem Sie erneut ein DHCPREQUEST-Paket schicken. Bleibt dies aus, kommt es nicht zum sogenannten DHCP-Refresh und der Server gibt die betreffende Adresse wieder frei.
Während Administratoren sowohl bei der automatischen als auch bei der dynamischen Zuordnungsvariante nicht allzu viel zu tun haben, gestaltet sich die Situation bei der manuellen Adressvergabe gänzlich anders. Bei diesem Verfahren, das man auch als statisches DHCP bezeichnet, weist man die verfügbaren IP-Adressen mithilfe des DHCP-Servers bestimmten MAC-Adressen per Hand zu. Eine Einschränkung bezüglich der Gültigkeitsdauer gibt es dabei nicht.
Aufgrund des hohen Verwaltungsaufwandes, der dem eigentlichen Sinn und Zweck des Dynamic Host Configuration Protocols widerspricht, ist diese Zuordnungsart nur für sehr wenige Anwendungsszenarien sinnvoll. So sind statische IPs zum Beispiel notwendig, wenn auf dem betreffenden Computer Server-Dienste gehostet werden, die für die anderen Netzwerkteilnehmer jederzeit erreichbar sein sollen. Und auch für Portweiterleitungen ist es wichtig, dass die IP-Adresse unverändert bleibt.
DHCP-Server informiert das Domain Name System
Damit die von den Clients bezogenen IP-Adressen auch ihrem vollqualifizierten Namen in der Domäne zugeordnet werden können, muss ein DNS-Server für die Namensauflösung sorgen. Werden eine bereits eingetragene Adresse oder der Hostname geändert, benötigt der Nameserver ein Update. Bei stetig wechselnden IP-Adressen, die aus der dynamischen Zuordnung über einen DHCP-Server resultieren, wäre die manuelle Durchführung für den Administrator des Netzwerks mit erheblichem Aufwand verbunden – und ebenso für den Nutzer, der sich mit seinen Geräten zu Hause mit dem Internet verbinden möchte. Dass beide sich auch bei dynamischer Vergabeart nicht mit der Aktualisierung auseinandersetzen müssen, verdanken sie DHCP-Servern, die sich um den Informationsaustausch kümmern und den DNS-Server mit Updates versorgen, sobald eine neue IP-Adresse zugewiesen worden ist.
Wie sicher ist DHCP?
Eine Schwäche des Dynamic Host Configuration Protocols ist seine leichte Manipulierbarkeit: Da der Client alle potenziellen DHCP-Server kontaktiert, ist es Angreifern beispielsweise möglich, einen eigenen Vertreter ins Spiel zu bringen, wenn Sie Zugriff zu dem betreffenden Netzwerk haben. Ein solcher „Rogue“-DHCP-Server (dt. bösartig) versucht mit seiner Antwort auf das Verbindungsgesuch des Clients schneller zu sein als der eigentliche Server. Im Erfolgsfall übermittelt er manipulierte oder unbrauchbare Parameter. Auf diese Weise kann er beispielsweise Denial-of-Service-Angriffe auf das Netzwerk starten, indem er kein Gateway übermittelt, jedem Client ein eigenes Subnetz zuweist oder auf alle Anfragen mit der gleichen IP-Adresse antwortet.
Ein noch dramatischeres, aber mögliches Szenario wäre der Versuch, mithilfe falscher Gateway- und DNS-Angaben einen fremden Router einzuschleusen, der den Datenverkehr des Clients mitschneidet oder gar umleitet. Ein solcher Man-in-the-Middle-Angriff zielt – anders als erstgenannte Angriffsart – nicht auf den Absturz des Netzwerks ab, sondern auf die Entwendung sensibler Daten wie Bankdaten, Passwörter oder Adressinformationen.
Unabhängig von der Angriffsart benötigen Fremde aber in jedem Fall direkten Zugriff auf Ihr Netzwerk, um das DHCP-Protokoll für ihre Zwecke zu missbrauchen. Treffen Sie die notwendigen Sicherheitsvorkehrungen, profitieren Sie von den Vorteilen des Kommunikationsprotokolls, ohne derartige Attacken fürchten zu müssen. Als Verantwortlicher für ein größeres lokales Netzwerk sollten der Komplettschutz vor externen und internen Angriffsversuchen sowie die stetige Überwachung aller Netzwerkprozesse mit Tools wie Nagios für Sie ohnehin zum Standard gehören. In unserem Ratgeber zum Thema WLAN-Sicherheit informieren wir zusätzlich darüber, welche Möglichkeiten Ihnen zum Schutz kabelloser Netze zur Verfügung stehen.
Quelle: https://www.ionos.at/digitalguide/server/konfiguration/dhcp-das-client-server-protokoll-im-ueberblick/