Das originäre DNS-Protokoll zur Auflösung von Namen in IP-Adressen bietet keinerlei Sicherheitsmechanismen und ist deshalb anfällig gegenüber Man-In-The-Middle, Spoofing und DNS-Cache Poisoning Angriffen.
Schwachstelle Client – DNS Server
Ein Angreifer kann sich z.B. bei einer DNS Abfrage eines Clients zwischenschalten und ihm eine gefälschte Antwort auf den DNS-Query liefern (z.B. eine IP-Adresse die ihn an einen anderen Rechner lenkt), noch bevor ihm sein eingetragener DNS Server antwortet.
Schwachstelle DNS Server zu DNS Server
Der Angriff kann auch dadurch erfolgen, dass der Verkehr zwischen zwei DNS-Servern manipuliert wird, indem ein weiterer gefälschter Record in eine Antwort eingeschleust wird, für die der sendende DNS Server eigentlich nicht autoritativ ist.
Der empfangende DNS Server nimmt den gefälschten Record dann evtl. in seinen Cache auf und leitet die ihn selbst anfragenden Clients dann an die gefälschte Zieladresse weiter.
Gegenmaßnahmen
DNSSEC ist eine aktuelle Protokollerweiterung, welche die DNS Sicherheit durch Datenintegrität und Ursprungsbeweis über Signaturmechanismen deutlich ausweiten kann.
Dabei signiert der DNS-Server, der für eine Zone autoritativ ist, seine Zoneneinträge mit einem privaten Schlüssel.
Anfragende DNS-Server können dann, wenn sie mit dem korrespondierenden Öffentlichen Schlüssel (Trust Anchor bei DNSSEC genannt) ausgestattet wurden, die Zoneneinträge auf ihre Integrität und Unverfälschtheit prüfen.
Im Gegensatz zu den DNS-Servern können anfragende Endclients selbst keine DNSSEC Signierung prüfen, sie müssen sich dabei vollständig auf ihren lokalen DNS-Server verlassen.
Windows Implementierung
Zur Absicherung des Verkehrs zwischen Client und lokalem DNS-Server kommt in Windows Implementierungen eine spezielle IPSec-Richtlinie (siehe IPSec ) zum Einsatz, die auf X.509 Zertifikaten basiert (Client mit Clientauthentifizierungszertifikat, DNS-Server hat spezielles Serverauthentifizierungszertifikat mit DNS EKU).
Zusätzlich kann ab Windows 7 ein Client explizit über eine NRPT-Regel (Name Resolution Policy Table) so konfiguriert werden, dass er von seinem eingetragenen DNS Server auch nur solche Antworten annimmt, bei denen dieser eine DNSSEC Signaturprüfung vorgenommen hat.
Stand heute hat sich DNSSEC – vor allem auf Grund der nur langsam fortschreitenden Implementierung im öffentlichen DNS Namespace – noch nicht weitgehend durchgesetzt. Ein weiterer Nachteil von DNSSEC ist, dass in Windows Umgebungen Änderungen an der signierten DNS-Zone nur noch manuell vom DNS-Administrator vorgenommen werden können.
Ein durchaus sinnvoller PKI-gestützter Einsatzrahmen in einem Unternehmen kann dagegen in Hochsicherheitsbereichen sein, bei denen nur eine eingeschränkte Menge an Clients eine Namensauflösung durchführen muss.
Vgl. Seshadri, Shyman; Lindsay, Greg: „Windows Server 2008 R2 – DNSSEC Deployment Guide“. S.53-60.