DNSSEC – Domain Name System Security Extensions 🔐¶
Einführung¶
DNSSEC (Domain Name System Security Extensions) ist eine Erweiterung des Domain Name Systems (DNS), die der Authentifizierung von DNS-Antworten dient. Ziel ist es, die Integrität und Authentizität der über DNS gelieferten Informationen sicherzustellen – ein kritischer Bestandteil zur Vermeidung von DNS-Spoofing und Cache Poisoning.
Warum DNSSEC? 🤔¶
Das klassische DNS ist nicht signiert, d.h. jeder DNS-Resolver kann durch manipulierte Antworten fehlgeleitet werden. Ein Angreifer könnte beispielsweise die IP-Adresse einer legitimen Website durch eine eigene ersetzen.
DNSSEC setzt an dieser Schwachstelle an: Antworten werden digital signiert. Ein Client kann so verifizieren, dass die Antwort echt und unverändert ist.
Funktionsweise von DNSSEC ⚙️¶
1. Signierung der Zonendaten¶
Jede DNS-Zone, die DNSSEC unterstützt, generiert ein Schlüsselpaar: - ZSK (Zone Signing Key): Signiert die DNS-Daten. - KSK (Key Signing Key): Signiert den öffentlichen ZSK.
Die Signatur erfolgt mit einem privaten Schlüssel. Die öffentlichen Schlüssel werden via DNS veröffentlicht.
2. Chain of Trust 🔗¶
Die Vertrauenskette beginnt bei der Root-Zone:
- Die Root-Zone signiert ihre DNS-Daten.
- TLDs (z.B. .ch, .com, .org) haben DS-Einträge (Delegation Signer), die in der übergeordneten Zone gespeichert sind.
- So entsteht eine überprüfbare Kette bis zur autoritativen Zone der gewünschten Domain.
3. Validierung beim Resolver¶
Ein DNS-Resolver mit aktivem DNSSEC prüft: - Ob eine Signatur vorhanden ist (RRSIG-Record), - ob der öffentliche Schlüssel stimmt (DNSKEY-Record), - und ob die Kette zur Root-Zone verifizierbar ist (DS-Record).
Voraussetzungen für den Einsatz von DNSSEC ✅¶
- Domain: Muss bei einer Registry registriert sein, die DNSSEC unterstützt.
- DNS-Provider: Muss DNSSEC unterstützen (z.B. für Signierung und Schlüsselpflege).
- Nameserver: Müssen in der Lage sein, DNSSEC-Daten zu signieren und auszuliefern.
- Registrar: Muss das Hochladen des DS-Records ermöglichen.
- Resolver/Client: Muss DNSSEC-fähig sein, um die Signaturen zu validieren.
DNSSEC-Records 📄¶
| Record-Typ | Bedeutung |
|---|---|
| RRSIG | Signatur über einen Datensatz |
| DNSKEY | Öffentlicher Schlüssel |
| DS | Delegation Signer – zeigt auf KSK der Subdomain |
| NSEC / NSEC3 | Existenznachweis für nicht vorhandene Records |
| CDNSKEY / CDS | Für automatische Schlüssel-Rollover an Registrare |
Vorteile von DNSSEC ✅¶
- Schützt vor DNS-Spoofing und Cache Poisoning
- Gewährleistet Authentizität und Integrität von DNS-Daten
- Vertrauenswürdige Grundlage für weitere Sicherheitsmechanismen (z.B. DANE für E-Mail)
Herausforderungen und Risiken ⚠️¶
- Höhere Komplexität bei der DNS-Zonenverwaltung
- Risiko eines Zone-Ausfalls, wenn Signaturen oder Schlüssel falsch gehandhabt werden
- Zusätzliche Anforderungen an DNS-Resolver
- Nicht alle Clients und Systeme unterstützen DNSSEC (noch) zuverlässig
mDNS und DNSSEC ❌¶
Multicast DNS (mDNS) – bekannt z.B. durch Bonjour / zeroconf / .local – unterstützt kein DNSSEC, da es kein hierarchisches Modell gibt und keine zentrale Signierung erfolgt.
Fazit 🧠¶
DNSSEC ist ein essenzieller Baustein zur Absicherung der DNS-Infrastruktur. Gerade bei sicherheitskritischen Anwendungen oder Domains mit hohem Vertrauen sollte DNSSEC zwingend eingesetzt werden. Dennoch ist der Rollout mit Bedacht zu planen und sollte von erfahrenen Administratoren begleitet werden.