sdecoret - stock.adobe.com

DNS-Sicherheit: DNSSEC für Windows-Server einrichten

DNS-Sicherheit wird häufig vernachlässigt. Mit DNSSEC prüfen Clients per Signatur die Authentizität einer Antwort vom DNS-Server. Das können Admins in wenigen Minuten einrichten.

Angriffswege über das DNS-System (Domain Name Service) sind weniger für das Massengeschäft geeignet als beispielsweise Verschlüsselungstrojaner. Hierbei handelt es sich eher um gezielte Manipulationen im DNS-Cache, Spoofing-Angriffe oder Veränderungen ganzer DNS-Zonen. Insgesamt geht es bei den DNS-basierten Angriffen darum, die Namensauflösung so zu ändern, dass anstelle der eigentlichen Netzwerkressourcen andere, unter Kontrolle der Hacker stehende Serversysteme antworten.

Benutzer gehen im schlimmsten Fall davon aus, dass sie mit einem gewünschten Server korrespondieren, stattdessen antwortet ein kompromittiertes System. Klassischerweise entnehmen Angreifer aus dem Datenverkehr sensible, persönliche Daten wie Bankinformationen oder Kreditkarteninformationen – die der Benutzer eingibt (Phishing). Alternativ besteht auch die Möglichkeit, dass Hacker die ursprünglichen Dateien oder Links durch maligne Varianten ersetzen, um so Computerviren oder -würmer zu verbreiten.

Das tatsächliche Drama an der ganzen Sache ist jedoch, dass es seit vielen Jahren ein Gegenmittel gibt, dass jedoch nur wenige Administratoren nutzen: DNSSEC. Die Domain Name System Security Extensions (DNSSEC) ist keine einzelne Funktion, sondern eine Reihe von Internet-Standards, um die Gewährleistung der Authentizität und Integrität der Daten bei der Namensauflösung zu erhöhen. Das DNS-Client-System wird in die Lage versetzt, verifizieren zu können, ob die aufgelösten DNS-Zonendaten identisch mit den Daten sind, die der Ersteller der DNS-Zone autorisiert hat. DNSSEC sichert die Übertragung der Ressource Records durch digitale Signaturen. Eine echte Authentifizierung der DNS-Server und -Clients selbst findet nicht satt.

Allgemeine Sicherheitshinweise

Bevor sich der IT-Verantwortliche zur Einführung von DNSSEC unter Windows entscheidet, gilt es im Vorfeld einige grundlegende Sicherheitskonzepte von Windows zu aktivieren. DNS ist unter Windows sehr schnell eingerichtet und obwohl Microsoft im Allgemeinen darauf achtet, gleich zu Anfang eine sichere Konfiguration zu wählen, gibt es noch Spielraum nach oben.

In den Eigenschaften der DNS-Zone, dort in der Registerkarte Allgemein, findet der Administrator die Optionen zu den dynamischen Updates. Wird hier der Wert nur sichere ausgewählt, sind nur in der Domäne authentifizierte Computer berechtigt, dynamische DNS-Updates vorzunehmen. In kleineren oder aus Sicherheit optimierten Umgebungen empfiehlt es sich, das System der dynamischen Updates komplett abzuschalten und nur auf manuelle Einträge zu setzen.

Abbildung 1: Der Zonensignatur-Assistent von Windows unterstützt Administratoren bei der Wahl der richtigen Parameter.
Abbildung 1: Der Zonensignatur-Assistent von Windows unterstützt Administratoren bei der Wahl der richtigen Parameter.

Bei der Replikation der DNS-Zonen sollte der sicherheitsbewusste Administrator festlegen, dass die DNS-Daten im Active Directory integriert zu replizieren sind. Ein regelhafter Blick in die Registerkarte Nameserver offenbart, ob veraltete Servereinträge vorhanden sind, die es zu entfernen gilt.

Insgesamt empfiehlt es sich in Regelmäßigkeit, den „Best Practices Analyzer“ für Servermanager auf Windows-Servern zu verwenden, da dieser auch sicherheitsrelevante Einstellungen und Parameter prüft.

Aktivierung von DNSSEC unter Windows Server 2016/2019

Um das Schutzsystem für DNS unter Microsoft Windows Server 2016 oder 2019 einzurichten, sind nur wenige Anpassungen in der Konfiguration erforderlich. Zunächst einmal gilt es auf den beteiligten DNS-Servern einige Parameter zu setzen, anschließend muss der Administrator eine Gruppenrichtlinie für die Client-Systeme anlegen. Die hier vorgestellte, exemplarische Einrichtung bezieht sich somit ausschließlich auf Windows-Computer.

Abbildung 2: Ein kleines Schlosssymbol zeigt die Aktivierung von DNSSEC auf dem DNS-Server an.
Abbildung 2: Ein kleines Schlosssymbol zeigt die Aktivierung von DNSSEC auf dem DNS-Server an.

Auf einem Windows-DNS-Server startet der Administrator zunächst den Server Manager und versichert sich, dass die „DNS-Kachel“ nicht rot umrandet dargestellt einen Fehlerstatus aufweist. Ist der Betriebsstatus einwandfrei, gilt es über Tools auf die Einstellung für DNS zu wechseln. In unserem hier beschriebenen Fall legten wir zunächst eine zusätzliche Zone mit Namen „testzone“ an, um diese mit DNSSEC abzusichern. Wie bereits im vorherigen Abschnitt beschrieben, wählten wir, aus Sicherheitsgründen, eine Variante ohne dynamische Updates und eine im Active Directory durchzuführende Replikation.

Im Kontextmenü nach einem Rechtsklick auf die gewünschte Zone wird im Menü DNSSEC der Befehl Zone signieren ausgewählt. Daraufhin startet ein kleiner Assistent, der den Administrator durch die Konfiguration mit einigen Hilfstexten begleitet.

Sofern es keine Vorgaben von der IT-Sicherheitsabteilung gibt, wird einfach die Option Standardeinstellungen gewählt. Es folgt daraufhin eine mehrseitige Ausgabe der Sicherheitseinstellungen, die in diesem Rahmen vorgenommen wird. Auszugsweise sieht die Ausgabe in etwa so auf:

Zonenname: {Zone}

Schlüsselmaster: {Domänencontroller}

[Schlüsselsignaturschlüssel (Key Signing Key, KSK): 1]

Algorithmus: RSA/SHA-256

Schlüssellänge: 2048 Bits

Schlüsselspeicheranbieter: Microsoft Software Key Storage Provider

DNSKEY-Signaturgültigkeit: 168 Stunden

Replikation: Aktiviert

Rolloverstatus: Aktiviert

Rolloverfrequenz: 755 Tage

Anfängliches Rolloveroffset: 0 Tage {…}

Durch einen Klick auf OK ist die Aktivierung der Signierung bereits abgeschlossen. Zunächst erkennt der Administrator überhaupt keinen Unterschied, was an der ausbleibenden Fensteraktualisierung von Windows liegt. Nach einem Klick auf Aktualisierung wird die Zone mit einem kleinen Schlosssymbol dargestellt und in der Zonenübersicht finden sich einige vom Assistenten angelegte Einträge.

Abbildung 3: Über Gruppenrichtlinien können Administratoren die DNSSEC-Einstellungen zügig auf Client- und Server-Computer in der Domäne ausbringen.
Abbildung 3: Über Gruppenrichtlinien können Administratoren die DNSSEC-Einstellungen zügig auf Client- und Server-Computer in der Domäne ausbringen.

Nach dieser Anpassung ist zunächst einmal alles unverändert – die Zone wird nach Anfragen von DNS-Clients durch den DNS-Server ganz normal beantwortet, da die Verwendung von DNSSEC zur Auflösung auf der DNS-Client-Seite noch zu aktivieren ist. Hierzu wechselt der Administrator in die Gruppenrichtlinienverwaltung und legt typischerweise ein neues Gruppenrichtlinienobjekt (GPO) an.

Die DNSSEC-spezifischen Parameter entdeckt der IT-Verantwortliche unter Computerkonfiguration unter Richtlinien im Unterpunkt Namensauflösungsrichtlinie.

Im Dialogfenster Namensauflösungrichtlinie wird im Kasten Regel erstellen hinter der Standardauswahl Suffix die gewünschte Zone eingetragen und im Register DNSSEC sind die beiden Optionen DNSSEC in dieser Regel aktivieren und Sicherstellung durch DNS-Clients erforderlich, dass Namens- und Adressdaten vom DNS-Server überprüft wurden anzuhaken.

Am unteren Fensterrand unterhalb des Richtlinienkasten ist die Schaltfläche Erstellen auszulösen, anschließend ist der Eintrag in der „Richtlinientabelle für die Namensauflösung“ sichtbar. Nach der Verknüpfung der GPO mit der jeweiligen OU (Active Directory Organisationseinheit) ist die DNSSEC-gestützte Namensauflösung für die Zone auf den DNS-Clients aktiv.

Abbildung 4: Mithilfe eines PowerShell-Kommandos sind die Unterschiede in den DNS-Antworten von DNSSEC und einer herkömmlichen Antwort leicht zu erkennen.
Abbildung 4: Mithilfe eines PowerShell-Kommandos sind die Unterschiede in den DNS-Antworten von DNSSEC und einer herkömmlichen Antwort leicht zu erkennen.

Um sicherzustellen, dass das Verfahren auch Anwendung findet, sollte der IT-Verantwortliche auf einem DNS-Client die PowerShell öffnen und den Befehl

resolve-dnsname {Hostnamen in Zone} –server {DNS-Servername} –dnssecok

eingeben und mit einem Eintrag ohne aktive DNSSEC-Einstellung vergleichen.

Nächste Schritte

Sicherheitsrisiko: So funktioniert DNS-Cache-Poisoning

Die Sicherheit von DNS findet nicht genügend Beachtung

Gratis-eBook: DNS-Sicherheit im Griff behalten

Erfahren Sie mehr über Serverbetriebssysteme

ComputerWeekly.de
Close