DNS-Security: DNSSEC und CAA-Records praktisch einsetzen
AI generated
OWASP
0x00
Security · OWASP · DNS-Sicherheit
DNS-Security: DNSSEC und CAA-Records praktisch einsetzen
Zwei DNS-Bausteine gegen Spoofing und Fehlausstellung

DNSSEC schützt DNS-Antworten mit kryptographischen Signaturen gegen Spoofing und Cache-Poisoning, während CAA-Records festlegen, welche Zertifizierungsstellen für die eigene Domain überhaupt Zertifikate ausstellen dürfen. Wir zeigen die praktische Einrichtung beider Maßnahmen und wo ihre jeweiligen Grenzen liegen.

17 Min. Lesezeit DNSSEC CAA-Records

1. DNS-Spoofing und Cache-Poisoning: Das Angriffsszenario hinter DNSSEC

Das klassische DNS-Protokoll wurde ohne kryptographische Absicherung entworfen: Eine DNS-Antwort enthält keinerlei Signatur, die belegt, dass sie tatsächlich vom autoritativen Nameserver stammt und unterwegs nicht verändert wurde. Ein Angreifer, der eine gefälschte Antwort einschleusen kann, etwa durch das Erraten der Transaktions-ID einer laufenden Anfrage, kann einen Resolver dazu bringen, eine falsche IP-Adresse für eine Domain zu cachen, ein Angriff, der als Cache-Poisoning bekannt wurde und durch die Kaminsky-Schwachstelle von 2008 breite Aufmerksamkeit erlangte.

Gelingt ein solcher Angriff, leitet der betroffene Resolver alle nachfolgenden Anfragen für die betroffene Domain auf eine vom Angreifer kontrollierte Adresse um, oft über Stunden oder Tage, solange die vergiftete Antwort im Cache verbleibt. Nutzer, die eigentlich mironsoft.de aufrufen wollen, landen unbemerkt auf einer vom Angreifer betriebenen Kopie der Seite, die Zugangsdaten abgreift oder Schadsoftware ausliefert, ohne dass im Browser ein sichtbares Warnsignal erscheint, solange kein TLS-Zertifikatsfehler auftritt.

2. Wie DNSSEC funktioniert: Signaturen und Vertrauenskette

DNSSEC ergänzt DNS-Antworten um kryptographische Signaturen, die in zusätzlichen Resource-Records wie RRSIG, DNSKEY und DS gespeichert werden. Jede Zone signiert ihre eigenen Einträge mit einem privaten Schlüssel, während der öffentliche Schlüssel über einen DS-Record bei der übergeordneten Zone hinterlegt wird, etwa der DS-Record für mironsoft.de bei der .de-Zone. Ein validierender Resolver kann so die Signatur jeder Antwort prüfen und eine ununterbrochene Vertrauenskette von der Root-Zone bis zur eigenen Domain nachvollziehen.

Diese Vertrauenskette bedeutet: Jede Fälschung einer Antwort würde die kryptographische Signatur ungültig machen, sodass ein validierender Resolver die manipulierte Antwort verwirft, statt sie zu cachen. DNSSEC verhindert damit gezielt Cache-Poisoning und Spoofing, liefert aber keine Verschlüsselung: DNS-Antworten bleiben weiterhin im Klartext lesbar, DNSSEC garantiert ausschließlich Authentizität und Integrität der Antwort, nicht deren Vertraulichkeit.


# DNSSEC-Status einer Domain prüfen
dig mironsoft.de DNSKEY +dnssec +short

# Vollständige Validierungskette anzeigen
delv mironsoft.de
# ; fully validated

# DS-Record beim Registrar hinterlegen (Beispielwerte)
# mironsoft.de. IN DS 12345 13 2 A94B58...D3F2

3. DNSSEC praktisch einrichten: DS-Record und Schlüsselrotation

Die Einrichtung beginnt beim DNS-Hosting-Provider, der DNSSEC für die Zone aktiviert und dabei automatisch ein Schlüsselpaar generiert, bestehend aus einem Key Signing Key für die DNSKEY-Records selbst und einem Zone Signing Key für die übrigen Records der Zone. Der öffentliche Teil des Key Signing Key wird als DS-Record beim Registrar hinterlegt, der ihn wiederum an die übergeordnete TLD-Zone weiterreicht, wodurch die Vertrauenskette geschlossen wird.

Schlüsselrotation gehört zum laufenden Betrieb dazu: Der Zone Signing Key sollte in regelmäßigen Abständen erneuert werden, während der Key Signing Key seltener, aber kontrolliert rotiert wird, da eine Aenderung hier zwingend eine Aktualisierung des DS-Records beim Registrar erfordert. Die meisten modernen DNS-Provider automatisieren diese Rotation vollständig, was das Risiko menschlicher Fehler deutlich reduziert gegenüber einer manuellen Schlüsselverwaltung.

4. CAA-Records: Kontrolle darüber, wer Zertifikate ausstellen darf

Ein CAA-Record, Certification Authority Authorization, legt auf DNS-Ebene fest, welche Zertifizierungsstellen überhaupt berechtigt sind, ein TLS-Zertifikat für die jeweilige Domain auszustellen. Seit 2017 sind alle dem CA/Browser-Forum angeschlossenen Zertifizierungsstellen verpflichtet, vor jeder Zertifikatsausstellung den CAA-Record der Zieldomain zu prüfen und die Ausstellung zu verweigern, wenn die anfragende Stelle nicht explizit gelistet ist.

Ohne CAA-Record kann grundsätzlich jede öffentlich vertrauenswürdige Zertifizierungsstelle ein Zertifikat für eine Domain ausstellen, sofern die Domainvalidierung erfolgreich verläuft. Das erhöht die Angriffsfläche, weil ein Angreifer, der kurzzeitig Kontrolle über die Domainvalidierung erlangt, etwa durch eine DNS- oder E-Mail-Schwachstelle, bei praktisch jeder beliebigen Zertifizierungsstelle ein gültiges Zertifikat beantragen kann. CAA-Records reduzieren diese Angriffsfläche auf die explizit erlaubten Aussteller.

5. CAA praktisch konfigurieren: issue, issuewild und iodef

Die Direktive issue erlaubt einer benannten Zertifizierungsstelle die Ausstellung regulärer Zertifikate, während issuewild speziell Wildcard-Zertifikate steuert und unabhängig von issue gesetzt werden kann. Wird issuewild auf ein Semikolon ohne Wert gesetzt, verbietet das jede Wildcard-Ausstellung vollständig, selbst für ansonsten erlaubte Zertifizierungsstellen, was für die meisten Domains eine sinnvolle zusätzliche Einschränkung ist, wenn keine Wildcard-Zertifikate im Einsatz sind.

Die Direktive iodef ermöglicht das Hinterlegen einer Kontaktadresse, an die Zertifizierungsstellen eine Meldung senden können, wenn eine Ausstellungsanfrage gegen den CAA-Record verstößt. Diese Meldungen liefern ein frühes Warnsignal für versuchte Fehlausstellungen und sollten an eine überwachte Adresse gehen, nicht an ein Postfach, das ohnehin niemand regelmäßig prüft.

6. Was DNSSEC nicht leistet: Grenzen und Missverständnisse

DNSSEC schützt ausschließlich die Integrität und Authentizität von DNS-Antworten, nicht die Vertraulichkeit der Anfrage selbst. Wer mithört, welche Domains ein Nutzer auflöst, kann das trotz DNSSEC weiterhin tun, da die Antworten im Klartext übertragen werden. Wer Vertraulichkeit benötigt, muss zusätzlich auf DNS-over-TLS oder DNS-over-HTTPS setzen, die ein anderes Problem lösen und DNSSEC nicht ersetzen, sondern ergänzen.

Außerdem schützt DNSSEC nur die DNS-Ebene selbst, nicht nachgelagerte Schritte wie die TLS-Verbindung zum aufgelösten Server oder eine kompromittierte Anwendung. Ein Angreifer, der bereits Zugriff auf den Server selbst hat, wird durch DNSSEC nicht aufgehalten, da die DNS-Antwort in diesem Fall korrekt und unverändert ist, das Ziel dahinter aber bereits kompromittiert wurde.

7. Was CAA nicht leistet: Grenzen der Zertifikatskontrolle

CAA-Records schützen nur vor Fehlausstellungen durch Zertifizierungsstellen, die sich an die CA/Browser-Forum-Regeln halten und den Record tatsächlich prüfen. Eine bösartige oder kompromittierte Zertifizierungsstelle, die die Prüfung bewusst ignoriert, wird durch einen CAA-Record technisch nicht aufgehalten, auch wenn ein solcher Regelverstoß inzwischen schwerwiegende Konsequenzen für die Zertifizierungsstelle selbst nach sich zieht, bis hin zum Vertrauensentzug durch große Browser-Hersteller.

Bereits ausgestellte Zertifikate bleiben von einem nachträglich gesetzten CAA-Record unberührt: Der Record wirkt ausschließlich zum Zeitpunkt einer neuen Ausstellung oder Verlängerung, nicht rückwirkend. Wer den Verdacht hat, dass bereits ein unautorisiertes Zertifikat existiert, muss dieses aktiv über Certificate-Transparency-Logs aufspüren und gegebenenfalls den Widerruf bei der ausstellenden Stelle beantragen, CAA allein löst dieses Problem nicht.

8. Häufige Fehlkonfigurationen und wie DNSSEC-Breakage entsteht

Der gravierendste Fehler bei DNSSEC ist eine unterbrochene Vertrauenskette, umgangssprachlich DNSSEC-Breakage genannt: Stimmt der beim Registrar hinterlegte DS-Record nicht mehr mit dem aktuellen Key Signing Key der Zone überein, etwa nach einer unvollständigen Schlüsselrotation oder einem Providerwechsel ohne Aktualisierung des DS-Records, verwirft jeder validierende Resolver sämtliche Antworten der Zone als ungültig. Die Domain wird dadurch für alle Nutzer hinter validierenden Resolvern faktisch unerreichbar, ein deutlich schwerwiegenderer Ausfall als ein fehlendes DNSSEC überhaupt.

Bei CAA-Records liegt der häufigste Fehler in einer zu restriktiven oder veralteten Konfiguration, die die tatsächlich genutzte Zertifizierungsstelle nicht mehr enthält, etwa nach einem Wechsel von einer kommerziellen CA zu Let's Encrypt ohne Anpassung des CAA-Records. Die nächste Zertifikatserneuerung schlägt dann fehl, oft erst bemerkt, wenn das alte Zertifikat bereits abläuft, weshalb CAA-Records bei jedem CA-Wechsel als fester Schritt in der Migrations-Checkliste stehen sollten.

9. DNSSEC und CAA als sich ergänzende Bausteine einer DNS-Sicherheitsstrategie

DNSSEC und CAA adressieren unterschiedliche Phasen derselben Vertrauenskette: DNSSEC sichert ab, dass eine DNS-Antwort tatsächlich vom autoritativen Server stammt und nicht unterwegs gefälscht wurde, während CAA absichert, wer überhaupt Zertifikate für die Domain ausstellen darf, sobald eine Zertifizierungsstelle die Domainvalidierung durchführt. Beide Maßnahmen zusammen erschweren einem Angreifer sowohl das Fälschen von DNS-Antworten als auch das Erschleichen eines gültigen Zertifikats erheblich.

Keine der beiden Maßnahmen ersetzt die andere, und keine ersetzt weitere Bausteine wie HTTP Strict Transport Security oder ein sauberes Monitoring der ausgestellten Zertifikate über Certificate-Transparency-Logs. Wer DNSSEC und CAA gemeinsam einsetzt und beide regelmäßig auf Konsistenz prüft, schließt zwei der praktisch relevantesten DNS-basierten Angriffsvektoren, ohne dabei den restlichen Sicherheits-Stack zu vernachlässigen.

Maßnahme Schützt vor Schützt nicht vor Praktische Einrichtung
DNSSEC DNS-Spoofing, Cache-Poisoning Vertraulichkeit der Anfrage, Server-Kompromittierung DS-Record beim Registrar hinterlegen
CAA (issue) Ausstellung durch nicht autorisierte CAs Bösartige CAs, die den Record ignorieren issue-Direktive für genutzte CAs setzen
CAA (issuewild) Unerwünschte Wildcard-Zertifikate Bereits ausgestellte Wildcard-Zertifikate issuewild=";" wenn keine Wildcards genutzt werden
CAA (iodef) Unbemerkte Fehlausstellungsversuche Aktive Verhinderung der Ausstellung Ueberwachte Kontaktadresse hinterlegen

Mironsoft

Security-Audits, OWASP-konforme Härtung und sichere Architektur

Anwendungen, die einem echten Angriffsversuch tatsächlich standhalten?

Wir prüfen bestehende Anwendungen auf klassische OWASP-Schwachstellen, unsichere Authentifizierung und fehlende Input-Validierung und bauen daraus eine Architektur, die Angriffsflächen strukturell reduziert statt nur einzelne Symptome zu flicken.

Security-Audit

OWASP Top 10, Auth-Flows und Input-Validierung systematisch auf Schwachstellen prüfen.

Sichere Architektur

Rate-Limiting, Verschlüsselung und Zugriffskontrollen von Grund auf richtig aufbauen.

Incident-Vorbereitung

Logging, Monitoring und Reaktionsprozesse für den Ernstfall etablieren.

10. Zusammenfassung

DNSSEC und CAA-Records: Das Wichtigste auf einen Blick

DNSSEC schützt

Die Authentizität und Integrität von DNS-Antworten gegen Spoofing.

CAA schützt

Die Kontrolle darüber, welche Zertifizierungsstellen ausstellen dürfen.

Gemeinsame Grenze

Beide Maßnahmen ersetzen keine Transportverschlüsselung oder Server-Härtung.

Praxis-Tipp

DS-Record und CAA-Record bei jedem Provider- oder CA-Wechsel sofort aktualisieren.

11. FAQ: DNSSEC und CAA-Records: Das Wichtigste auf einen Blick

1Was ist Cache-Poisoning?
Ein Angriff, bei dem ein Angreifer einem DNS-Resolver eine gefälschte Antwort unterschiebt, sodass dieser eine falsche IP-Adresse für eine Domain zwischenspeichert und nachfolgende Nutzer auf eine vom Angreifer kontrollierte Adresse umleitet.
2Wie schützt DNSSEC vor Cache-Poisoning?
DNSSEC signiert jede DNS-Antwort kryptographisch. Eine gefälschte Antwort besitzt keine gültige Signatur und wird von einem validierenden Resolver automatisch verworfen, statt gecacht zu werden.
3Verschlüsselt DNSSEC die DNS-Anfrage?
Nein. DNSSEC garantiert ausschließlich Authentizität und Integrität der Antwort, nicht deren Vertraulichkeit. DNS-Anfragen und Antworten bleiben weiterhin im Klartext lesbar.
4Was ist ein DS-Record und wozu dient er?
Der DS-Record wird bei der übergeordneten DNS-Zone, meist über den Registrar, hinterlegt und verweist auf den öffentlichen Schlüssel der eigenen Zone, wodurch die Vertrauenskette von der Root-Zone bis zur eigenen Domain geschlossen wird.
5Was ist ein CAA-Record?
Ein DNS-Record, der festlegt, welche Zertifizierungsstellen berechtigt sind, TLS-Zertifikate für die jeweilige Domain auszustellen. Seit 2017 müssen alle CAs diesen Record vor der Ausstellung prüfen.
6Was bewirkt issuewild=";" in einem CAA-Record?
Diese Konfiguration verbietet die Ausstellung von Wildcard-Zertifikaten für die Domain vollständig, unabhängig davon, welche Zertifizierungsstellen ansonsten für reguläre Zertifikate erlaubt sind.
7Schützt CAA vor bereits ausgestellten, unautorisierten Zertifikaten?
Nein. Ein CAA-Record wirkt nur zum Zeitpunkt einer neuen Ausstellung oder Verlängerung, nicht rückwirkend. Bereits existierende Zertifikate müssen über Certificate-Transparency-Logs aufgespürt und widerrufen werden.
8Was ist DNSSEC-Breakage?
Ein Zustand, bei dem der beim Registrar hinterlegte DS-Record nicht mehr zum aktuellen Schlüssel der Zone passt, wodurch validierende Resolver sämtliche Antworten der Domain als ungültig verwerfen und die Domain faktisch unerreichbar wird.
9Muss CAA bei einem Wechsel der Zertifizierungsstelle angepasst werden?
Ja. Wird die genutzte CA nicht in der issue-Direktive gelistet, schlägt jede neu Zertifikatsausstellung oder -verlängerung durch diese CA fehl.
10Ergänzen sich DNSSEC und CAA gegenseitig?
Ja. DNSSEC sichert die Authentizität der DNS-Antwort ab, CAA kontrolliert die Zertifikatsausstellung. Beide adressieren unterschiedliche Phasen derselben Vertrauenskette und ersetzen sich nicht gegenseitig.