Konsortium ISC Release des DHCP-Servers , der den klassischen ISC DHCP ersetzt. Die Quelltexte des Projekts unter Lizenz , anstelle der zuvor für ISC DHCP verwendeten ISC-Lizenz.
Der DHCP-Server Kea basiert auf den Technologien von BIND 10 und mit einer modularen Architektur, die eine Aufteilung der Funktionalität in verschiedene Prozess-Handler vorsieht. Das Produkt enthält eine voll funktionsfähige Implementierung des Servers mit Unterstützung für die Protokolle DHCPv4 und DHCPv6, die den ISC DHCP ersetzen kann. In Kea sind Mittel zur dynamischen Aktualisierung von DNS-Zonen (Dynamic DNS) integriert, es werden Mechanismen zur Servererkennung, Adresszuweisung, Aktualisierung und Wiederverbindung, Bearbeitung von Informationsanfragen, Reservierung von Adressen für Hosts und PXE-Boot unterstützt. In der Implementierung von DHCPv6 ist zudem die Möglichkeit der Präfixdelegation vorgesehen. Eine spezielle API wird zur Interaktion mit externen Anwendungen bereitgestellt. Eine Aktualisierung der Konfiguration im laufenden Betrieb ist ohne einen Neustart des Servers möglich.
Informationen zu zugewiesenen Adressen und Client-Einstellungen können in verschiedenen Arten von Speicherlösungen gespeichert werden — derzeit werden Backends für die Speicherung in CSV-Dateien, MySQL-Datenbanken, Apache Cassandra und PostgreSQL angeboten. Die Parameter zur Reservierung von Hosts können entweder in einer Konfigurationsdatei im JSON-Format oder in Form einer Tabelle in MySQL und PostgreSQL angegeben werden. beinhaltet das Tool perfdhcp zur Messung der Serverleistung und Komponenten zur Erfassung von Statistiken. Kea zeigt eine gute Leistung, beispielsweise kann der Server bei Verwendung des MySQL-Backends 1000 Adresszuweisungen pro Sekunde ausführen (etwa 4000 Pakete pro Sekunde), während bei Verwendung des memfile-Backends die Leistung 7500 Zuweisungen pro Sekunde erreicht.
Hauptmerkmale in Kea 1.6:
- Es wurde ein Backend für die Konfiguration (CB, Configuration Backend) implementiert, das eine zentrale Verwaltung der Einstellungen mehrerer DHCPv4- und DHCPv6-Server ermöglicht. Das Backend kann zur Speicherung der meisten Kea-Einstellungen verwendet werden, einschließlich globaler Parameter, Informationen über gemeinsame Netzwerke, Subnetze, Optionen, Pools und Optionsdefinitionen. Anstelle der Speicherung aller dieser Einstellungen in einer lokalen Konfigurationsdatei können sie nun in einer externen Datenbank untergebracht werden. Dabei ist es möglich, über CB nicht alle, sondern nur einen Teil der Einstellungen mit Überlagerung von Parametern aus der externen DB und lokalen Konfigurationsdateien zu definieren (zum Beispiel können in den lokalen Dateien die Einstellungen der Netzwerkschnittstellen belassen werden).
Für die Speicherung der Konfiguration wird derzeit nur MySQL unterstützt (für die Speicherung von Adresszuweisungen (Leases) können MySQL, PostgreSQL und Cassandra verwendet werden, und für die Reservierung von Hosts MySQL und PostgreSQL). Die Konfiguration in der DB kann sowohl über direkten Zugriff auf das DBMS als auch über speziell vorbereitete Wrapper-Bibliotheken geändert werden, die einen typischen Satz von Befehlen zur Verwaltung der Konfiguration bereitstellen, wie das Hinzufügen und Entfernen von Parametern, Bindungen, DHCP-Optionen und Subnetzen;
- Eine neue Handler-Klasse "DROP" wurde hinzugefügt (alle mit der Klasse DROP verbundenen Pakete werden sofort verworfen), die verwendet werden kann, um unerwünschten Datenverkehr, wie bestimmte Arten von DHCP-Nachrichten, zu verwerfen;
- Neue Parameter max-lease-time und min-lease-time wurden hinzugefügt, die es ermöglichen, die Lebensdauer einer IP-Zuweisung (Lease) für den Client nicht als festgelegten Wert, sondern als zulässigen Bereich zu definieren;
- Die Kompatibilität mit Geräten, die die Standards für DHCP nicht vollständig erfüllen, wurde verbessert. Um Probleme zu umgehen, sendet Kea jetzt die Informationen über den DHCPv4-Nachrichtentyp ganz am Anfang der Optionsliste, verarbeitet verschiedene Darstellungen von Hostnamen, erkennt die Übertragung eines leeren Hostnamens und ermöglicht die Definition von Suboptionen mit Codes von 0 bis 255;
- Für den DDNS-Dämon wurde ein separater Steuerungs-Socket hinzugefügt, über den Befehle direkt übermittelt und Änderungen an der Konfiguration vorgenommen werden können. Die folgenden Befehle werden unterstützt: build-report, config-get, config-reload, config-set, config-test, config-write, list-commands, shutdown und version-get;
- Beheben (CVE-2019-6472, CVE-2019-6473, CVE-2019-6474), die für Denial-of-Service-Angriffe (Krascherruf der DHCPv4- und DHCPv6-Serververarbeiter) durch das Senden von Anfragen mit ungültigen Optionen und Werten verwendet werden können. Das größte Risiko geht von dem Problem aus , das, wenn es für die Bindungen des memfile-Speichers verwendet wird, dazu führt, dass der Serverprozess nicht selbstständig neu gestartet werden kann. Daher ist für die Wiederherstellung der Funktion manuelle Intervention des Administrators (Bereinigung der Bindungsdatenbank) erforderlich.
Quelle: opennet.ru
