Zum Inhalt springen

DNSSEC erklärt: So schützt DNS vor Manipulation

DNSSEC (Domain Name System Security Extensions) verhindert DNS-Manipulationen durch kryptographische Signaturen. Diese Anleitung erklärt Funktionsweise, Vorteile und Schritte zur sicheren Bereitstellung.

Illustration DNS und Sicherheit

DNSSEC steht für Domain Name System Security Extensions und ergänzt das klassische DNS-Protokoll um kryptographische Signaturen. Ziel ist es, die Integrität von DNS-Antworten sicherzustellen: Clients sollen verlässlich erkennen, ob eine Antwort tatsächlich von der autoritativen Zone stammt oder nachträglich manipuliert wurde. Angreifer, die DNS-Responses fälschen (z. B. Cache-Poisoning), können so aufgedeckt und blockiert werden — vorausgesetzt, Resolver validieren DNSSEC.

Grundprinzip: Chain of Trust

Die zentrale Idee hinter DNSSEC ist die Chain of Trust. Sie beginnt bei der Root-Zone, deren öffentlicher Schlüssel als Trust Anchor in validierenden Resolvern hinterlegt ist. Jede Zone signiert ihre Einträge; die Parent-Zone veröffentlicht einen DS-Record, der den Schlüssel der Child-Zone referenziert. Validiert ein Resolver eine Antwort, so prüft er die RRSIG-Signaturen gegen die publizierten DNSKEYs und verfolgt die Kette bis zum Root-Trust-Anchor.

Record-Typen im Detail

  • DNSKEY: öffentlicher Schlüssel; typischerweise wird zwischen KSK (Key Signing Key) und ZSK (Zone Signing Key) unterschieden.
  • RRSIG: Signaturen für Resource Record Sets (RRsets), erzeugt mit dem privaten Schlüssel.
  • DS: Hash des DNSKEY der Child-Zone; wird in der Parent-Zone veröffentlicht.
  • NSEC / NSEC3: Mechanismen, um die Nicht-Existenz eines Namens sicher zu belegen.

Konkrete Abläufe beim Signieren

Technisch läuft das Signieren so: Die Zone erzeugt für jede RRset eine Signatur (RRSIG). Diese Signaturen enthalten Metadaten wie das Signatur-Ablaufdatum, die Signaturalgorithmus-ID und den Key-Tag. Signaturen müssen regelmäßig erneuert werden, bevor sie ablaufen. In vielen Setups werden ZSKs häufiger gewechselt als KSKs, um das Risiko bei Key-Komprimittierung zu reduzieren.

Praxisbeispiel: Zone signieren

Ein einfaches Beispiel mit BIND-Tools:

# Erzeuge Schlüssel
dnssec-keygen -a ECDSAP256SHA256 -b 256 -n ZONE example.com
# Signiere die Zone
dnssec-signzone -A -3 $(head -c 1000 /dev/random | sha1sum | cut -d" " -f1) -N increment -o example.com -t example.com.zone
# Der Befehl legt .signed-Dateien und DNSKEY/RRSIG-Dateien an

Ausgabe und genaue Flags hängen von der eingesetzten Version der Tools ab; lies die Manpages für Details.

DS-Record beim Registrar hinterlegen

Nachdem du deine Zone signiert hast, musst du einen DS-Record beim Registrar eintragen. Dieser wird in der Parent-Zone veröffentlicht und bildet den Link in der Chain of Trust. Viele Registrare bieten eine Weboberfläche zur Eingabe des DS (Key-Tag, Algorithmus, Digest-Typ, Digest). Achte auf korrekte Auswahl des Digest-Typs (z. B. SHA-256) und teste die Propagation nach dem Eintrag.

Validator- und Resolver-Config (Tipps)

Validierende Resolver (z. B. Unbound) halten Trust Anchors und führen regelmäßige Rollover- und Retries durch. Beispiel Unbound minimal-konfiguriert:

server:
  interface: 0.0.0.0
  access-control: 0.0.0.0/0 allow
  auto-trust-anchor-file: "/var/lib/unbound/root.key"

BIND hat eigene Optionen (dnssec-enable yes;, dnssec-validation auto;), und Managed-Resolver wie Cloudflare/Google validieren DNSSEC bereits auf ihren öffentlichen Resolvern.

Key-Rollover sicher durchführen

Ein sicherer Rollover-Prozess ist essentiell. Beispielhafte Schritte für einen KSK-Rollover (vereinfachte Darstellung):

  1. Erzeuge neues KSK (aber setze es nicht sofort als aktiv).
  2. Veröffentliche den neuen DNSKEY in der Zone (Dual-Publish: alter+neuer KSK).
  3. Erzeuge DS aus dem neuen KSK und übermittle ihn an den Registrar (Parent-Zone).
  4. Warte auf Propagation; überprüfe, ob Parent DS akzeptiert wurde.
  5. Nachdem Parent DS propagiert, entferne den alten KSK und signiere die Zone ausschließlich mit dem neuen Schlüssel.

Automation mit OpenDNSSEC oder speziellen Skripten reduziert Fehleranfälligkeit.

Troubleshooting & Monitoring

Häufige Fehlerquellen sind: fehlende RRSIGs, abgelaufene Signaturen, inkonsistente DNSKEYs auf sekundären Nameservern oder falsch eingetragene DS-Records beim Registrar. Verwende Monitoring-Checks, die folgende Dinge prüfen:

  • Existenz und Gültigkeit von RRSIG-Einträgen.
  • Konsistenz aller autoritativen Nameserver (gleiche DNSKEYs und Signaturen).
  • DS-Eintrag in der Parent-Zone ist vorhanden und korrekt.
  • Resolver-Logs zeigen keine wiederkehrenden Validierungsfehler.

Interaktion mit CDNs und Third-Party-DNS

Wenn du einen Drittanbieter (DNS-Provider oder CDN) nutzt, kläre, ob er DNSSEC vollständig unterstützt. Manche CDNs terminieren DNS oder arbeiten mit CNAME/ANAME-Mechanismen, die die Signaturkette unterbrechen können. In solchen Fällen sind Hybrid-Lösungen oder spezielle Delegationen nötig. Dokumentiere das Setup und teste die komplette Kette nach jedem Provider-Wechsel.

Security-Tradeoffs und Limitierungen

DNSSEC schützt Integrität, nicht Vertraulichkeit. Es verhindert das Einschleusen falscher DNS-Antworten, aber es verschlüsselt die DNS-Abfragen nicht. Ergänzende Technologien wie DNS-over-HTTPS (DoH) oder DNS-over-TLS (DoT) adressieren Vertraulichkeit und Privatsphäre.

Warum DNSSEC jetzt wichtig ist

Mit zunehmender Verbreitung von automatisierten Angriffsplattformen steigt das Risiko von DNS-Manipulationen. Für Betreiber sensibler Dienste (Banking, E-Commerce, Identity-Provider) ist die Integrität der Namensauflösung kritisch. DNSSEC reduziert das Angriffsfenster für gefälschte Antworten und ist eine solide Basis, um weiterführende Sicherheitsprotokolle wie DANE (für TLS-Zertifikate) nutzbar zu machen.

Fazit & nächste Schritte

DNSSEC ist eine technisch ausgereifte, aber operationell anspruchsvolle Erweiterung des DNS. Die Mehraufwände lohnen sich für Integrität und Vertrauenswürdigkeit von Diensten. Empfohlen wird ein schrittweiser Ansatz: Testumgebung, Monitoring, automatisierte Rollovers und klar dokumentierte Recovery-Prozesse. Wenn du möchtest, erstelle ich ein konkretes Playbook mit Befehlen, Tests und Monitoring-Regeln für deine Domains.

Weiterlesen & Support

Wenn du Unterstützung beim Betrieb oder der Absicherung deiner DNS-Infrastruktur brauchst, bieten wir Managed Hosting- und Sicherheitsservices an. Siehe auch unsere Seite Managed Hosting und kontaktiere uns für ein Audit deiner DNS-Konfiguration.