Von Bineli Manga, Alibaba Cloud Community Blog Autor.
Dynamic Host Configuration Protocol (DHCP) ist ein Kommunikationsprotokoll, mit dem Computer Geräten, die mit einem lokalen Netzwerk oder über das Internet verbunden sind, automatisch IP-Adressen zuweisen. Vor der Erfindung des DHCP-Protokolls erforderte das Hinzufügen eines neuen Computers zu einem Netzwerk manuelle Maßnahmen, um seine Mac-Adresse zu einer IP-Adresse hinzuzufügen. Die Verwaltung des Netzwerks war bei einer großen Anzahl von Hosts über ein Netzwerk kompliziert. Wenn DHCP jedoch in einem lokalen Netzwerk installiert und konfiguriert ist, erhält jeder Computer, der im Netzwerk akzeptiert wird, automatisch eine IP-Adresse, die seiner Mac-Adresse zugeordnet ist. Ein Domain Name Server (DNS) verwaltet die Generierung von IP-Adressen, und ein DHCP-Server verteilt die Konfiguration automatisch auf die Hosts.
Dieses Tutorial veranschaulicht, wie Sie einen DHCP-Server in einem lokalen Netzwerk installieren und einrichten können, um eine vollautomatische Netzwerkkonfiguration zu erreichen. In diesem Lernprogramm wird auch gezeigt, wie Sie ein kleines Netzwerk wie das allgemein zu Hause verfügbare verwalten und Computer mit anderen lokalen IoT-Geräten (Internet of Things) wie Lampen, Klimaanlagen und Kühlschränken verbinden können.
Voraussetzungen
Um mit diesem Tutorial zu beginnen, benötigen Sie eine virtuelle Linux-Maschine (VM) (vorzugsweise Ubuntu VM) mit Internetzugang. Dazu können Sie eine Alibaba Cloud Elastic Compute Service (ECS) -Instanz erwerben und Ubuntu als Betriebssystem auswählen.
DHCP-Server installieren
Um den DHCP-Server auf der Linux-VM zu installieren, müssen Sie zunächst das Paket-Repository aktualisieren, indem Sie den folgenden Befehl ausführen.
$ sudo apt-get update
Installieren Sie nach dem Aktualisieren der Paketliste das DHCP-Paket mit dem folgenden Befehl.
$ sudo apt-get install isc-dhcp-server -y
Konfigurieren eines DHCP-Servers
Nach der Installation des DHCP-Servers möchten Sie die IP-Adresse des DHCP-Servers mit dem Befehl ifconfig abrufen. Die Ausführung dieses Befehls führt zur IP-Adresse (192.168.110.1).
Die DHCP-Konfigurationsdatei befindet sich unter /etc/dhcp/dhcpd.conf.
Führen Sie den folgenden Befehl aus, um die Datei zu öffnen.
$ sudo nano /etc/dhcp/dhcpd.conf
2.1. Definieren eines zu verwendenden Subnetzes
Fügen Sie die folgenden Zeilen in die Konfigurationsdatei ein, um das Subnetz, den IP-Adressbereich, die Domäne und die Domänennamenserver zu definieren.
subnet 192.168.110.0 netmask 255.255.255.0 {
Stellen Sie beim Definieren von Subnetzinformationen (Bereich, Standardgateway, Domänennamenserver) sicher, dass die Zeilen mit einem Semikolon (;)
und in geschweiften Klammern { }
. Der Bereich definiert den Satz von IP-Adresspools, aus dem die IP-Adressen DHCP-Clients zugewiesen werden. Fügen Sie die folgende Zeile hinzu, um den Bereich der geleasten Adressen anzugeben.
range 192.168.110.5 192.168.1.10;
Fügen Sie als Nächstes die folgende Zeile hinzu, um das Standardgateway anzugeben.
option routers 192.168.110.1;
Fügen Sie die folgende Zeile hinzu, um die Domänennamenserver anzugeben.
option domain-name-servers 8.8.8.8, 8.8.4.4;
2.2. Globale DHCP-Konfigurationen
Um einen DHCP-Server einzurichten, führen Sie die folgenden Schritte aus, um die globalen Einstellungen zu konfigurieren.
Schritt 1: Um die Standard- und maximale Lease-Zeit anzugeben, suchen Sie die Parameter default-lease-time und max-lease-time in der Konfigurationsdatei und ändern Sie ihre Werte wie unten gezeigt.
default-lease-time 600;max-lease-time 7200;
Schritt 2: Legen Sie bei mehreren Schnittstellen fest, über welche Schnittstelle der DHCP-Server DHCP-Anfragen bearbeiten soll. Suchen und bearbeiten Sie in der Konfigurationsdatei den Wert von INTERFACESv4, um ihn mit der bevorzugten Schnittstelle für die Anforderungen zu aktualisieren.
INTERFACESv4="eth0"
Schritt 3: Um den DHCP-Server zum offiziellen DHCP-Server für die Clients zu machen, kommentieren Sie die folgende Zeile in der Konfigurationsdatei aus, indem Sie das Zeichen #
wie unten gezeigt entfernen.
$ authoritative;
Nachdem Sie die vorhergehende Grundkonfiguration implementiert haben, müssen Sie die Konfigurationsdatei speichern und schließen.
DHCP-Geräte verwalten
Verwenden Sie nun die folgenden Befehle, um den DHCP-Server zu verwalten.
Um zu überprüfen, ob der Dienst einwandfrei ausgeführt wird, überprüfen Sie den Status des DHCP-Dienstes, indem Sie den folgenden Befehl in einem Terminalfenster ausführen.
$ sudo systemctl status isc-dhcp-server.service
Um den DHCP-Dienst zu starten, führen Sie den folgenden Befehl in einem Terminalfenster aus.
$ sudo systemctl start isc-dhcp-server.service
Um den DHCP-Dienst zu beenden, führen Sie den folgenden Befehl in einem Terminalfenster aus.
$ sudo systemctl stop isc-dhcp-server.service
Um den DHCP-Dienst neu zu starten, führen Sie den folgenden Befehl in einem Terminalfenster aus.
$ sudo systemctl restart isc-dhcp-server.service
3.1. DHCP-Client konfigurieren
Als nächstes müssen die Netzwerkeinstellungen auf dem Clientcomputer konfiguriert werden, um eine IP-Adresse von einem DHCP-Server abzurufen. Verwenden wir hier ein anderes Ubuntu 18.04 LTS als Client-Computer. Öffnen Sie auf dem Client-Computer die Anwendung Einstellungen im Dash-Menü von Ubuntu.
Wählen Sie die Registerkarte Netzwerk im linken Bereich der Anwendung Einstellungen und öffnen Sie die Adaptereinstellungen, indem Sie auf das Zahnradsymbol davor klicken. Stellen Sie sicher, dass es eingeschaltet ist. Es öffnet sich das Fenster mit den Adaptereinstellungen. Wählen Sie nun im oberen Menü die Registerkarte IPv4 und dann die Option Automatisch (DHCP).
Klicken Sie auf Übernehmen, um die Änderungen zu speichern und die Netzwerkdienste neu zu starten, indem Sie den folgenden Befehl im Terminal ausführen.
$ sudo systemctl restart NetworkManager.service
Starten Sie nun das Terminal und geben Sie den folgenden Befehl ein, um die IP-Adresse des Systems zu ermitteln.
$ ip a
Der obige Befehl führt zu einer IP-Adresse, die aus dem in der DHCP-Serverkonfiguration definierten Bereich stammt. Wenn der Client immer noch keine IP-Adresse vom DHCP-Server erhält, starten Sie das System neu.
3.2. Geleaste Adressen auflisten
Um herauszufinden, welche Adressen Clients vom DHCP-Server zugewiesen wurden, öffnen Sie den als DHCP-Server konfigurierten Computer und geben Sie den folgenden Befehl in das Terminal ein.
$ dhcp-lease-list
Die Lease ist der Zeitraum, für den eine IP-Adresse einem Computer zugewiesen wird. Überprüfen Sie in dieser Liste, ob dem DHCP-Client mit der MAC: 00:0c:29:d4:cf:69
die IP-Adresse 192.168.110.5 vom DHCP-Server bereitgestellt wird.
Damit ist das Setup abgeschlossen und der DHCP-Server läuft. Verwenden Sie nun diesen DHCP-Server, um IP-Adressen zuzuweisen.
Sichern der DHCP-Konfiguration
4.1. DHCP-Sicherheitsangriffe
Ein DHCP-Server ist anfällig für verschiedene Arten von Angriffen. Werfen wir einen Blick auf einige der Angriffstypen und Tipps, wie Sie diese Risiken verhindern oder mindern können.
- Diensteverweigerung
Da das DHCP-Protokoll keine Authentifizierung des Clients erfordert, um Netzwerkkonfigurationen bereitzustellen, kann jeder Benutzer, der Zugriff auf das Netzwerk hat, eine IP-Adresse leasen. Die vom DHCP-Server gesendeten Daten können Informationen über die IPs des DNS-Servers preisgeben, die die Sicherheit des Netzwerks umfassen können. Böswillige Benutzer, die Zugriff auf ein DHCP-fähiges Netzwerk haben, können einen Denial-of-Service-Angriff auf DHCP-Server ausführen, indem sie den Server mit einer hohen Anzahl von Lease-Anforderungen überfluten und dadurch die Anzahl der Leases verringern, die anderen DHCP-Clients zur Verfügung stehen.
- DHCP-Hungerangriff
Der DHCP-Hungerangriff ist ein Angriff, bei dem der Hacker den Adressraum erschöpft, der den DHCP-Servern für einen bestimmten Zeitraum zur Verfügung steht. Diese Art von Angriff wird durchgeführt, indem DHCP-Anforderungen mit gefälschten MAC-Adressen gesendet werden. Um Zugriff auf das Netzwerk zu erhalten, nutzen die Angreifer das DHCP-Snooping aus, einen Mechanismus, mit dem die Sicherheit des Netzwerks gewährleistet wird, indem nicht vertrauenswürdige DHCP-Nachrichten gefiltert und eine DHCP-Snooping-Bindungsdatenbank erstellt und verwaltet werden.
- Rogue DHCP Server
Ein Hacker kann einen gefälschten DHCP-Server im angegriffenen Netzwerk einrichten, um Man-of-the-Middle-, Sniffing- und Aufklärungsangriffe zu verursachen. Dieser gefälschte Server wird als Rogue-Server bezeichnet, und der Angreifer verwendet ihn, um die Clients mit gefälschten Adressen und anderen Netzwerkinformationen zu versorgen, um in die Datenpakete zu schnüffeln. Der Rogue-Server stellt dann seine eigenen DNS-Server und Netzwerk-Gateways zur Verfügung, die Clients auf bösartige Websites umleiten, auf denen sie Phishing-Angriffe durchführen, um ihre vertraulichen Informationen wie Kreditkartennummern und Passwörter zu erhalten.
- Sicherheitshinweise
Die Einhaltung geeigneter physischer Sicherheitsprotokolle für die Hardwarekomponenten wie Server, Switches und Router begrenzt den unbefugten Zugriff auf das Serversystem. Die Beschränkung des drahtlosen Zugriffs für illegale Personen innerhalb oder außerhalb des Systems durch Beibehaltung der Benutzerzugriffsrichtlinien wirkt sich auch auf den Sicherheitsumfang aus.
Die Überwachungsprotokollierung für jeden DHCP-Server im Netzwerk sollte aktiviert sein und die Protokolldateien im Auge behalten. Diese Protokolldateien gewährleisten die Sicherheit in Zeiten, in denen der DHCP-Server eine ungewöhnlich hohe Anzahl von Lease-Anforderungen von den Clients erhält. Eine Überwachungsprotokolldatei enthält die Informationen, die erforderlich sind, um die Quelle von Angriffen auf den DHCP-Server zu verfolgen. Das Systemereignisprotokoll sollte auch auf erläuternde Informationen zum DHCP-Serverdienst analysiert werden. In Fällen, in denen auf den Clients das Microsoft-Betriebssystem mit 802.1-aktivierten Switches ausgeführt wird, erfolgt die Authentifizierung vor dem DHCP-Server, um eine Lease zuzuweisen, was eine bessere Sicherheit bietet.
Darüber hinaus sollte der administrative Zugriff auf DHCP auf eine begrenzte Anzahl von Personen beschränkt sein. Nur ein Mitglied der Gruppe Administratoren oder der Gruppe DHCP-Administratoren darf DHCP-Server über die DHCP-Konsole oder die Netsh-Befehle für DHCP verwalten. Stellen Sie sicher, dass die Kategorie der Benutzer, die schreibgeschützten Zugriff auf die DHCP-Konsole benötigen, der Gruppe DHCP-Benutzer und nicht der Gruppe DHCP-Administratoren hinzugefügt wird. Obwohl in der Cyberwelt nichts absolut sicher ist, können nur wenige Sicherheitsmaßnahmen, die in der Sicherheitsrichtlinie enthalten sind, eine Organisation vor Cyberbedrohungen schützen.
Fazit
Zusammenfassend soll dieses Tutorial Benutzern helfen, einen DHCP-Server selbst zu installieren und zu konfigurieren. Es konzentriert sich auf die Konfiguration eines DHCP-Servers für bestimmte Anforderungen. Es listet auch verschiedene Angriffe auf, denen ein DHCP-Server ausgesetzt sein kann, und schlägt schließlich vor, wie er vor diesen Angriffen geschützt werden kann.