DNSSEC-Test
Geben Sie eine Domain ein, und wir folgen ihrer Signaturkette von der Root-Zone abwärts. Sie erfahren, ob die Domain unsigniert, signiert und gültig, halb eingerichtet oder defekt ist, und welchen Eintrag Sie korrigieren müssen.
Die Lücke, die DNSSEC schließt
Wenn Ihr Computer fragt „welche Adresse hat example.com?“, kommt die Antwort als kleines, ungeschütztes Paket zurück. Das ursprüngliche DNS gibt dem Empfänger keine Möglichkeit zu prüfen, wer es geschrieben hat. Jemand, der zwischen Ihnen und dem Nameserver sitzt, oder jemand, der einem Resolver eine gefälschte Antwort unterschiebt, kann Besucher und E-Mails auf eine Maschine seiner Wahl umleiten.
DNSSEC fügt Signaturen hinzu. Der Inhaber einer Zone signiert jede Gruppe von Einträgen mit einem privaten Schlüssel und veröffentlicht den passenden öffentlichen Schlüssel in der Zone als DNSKEY-Eintrag. Ein Resolver, der eine Antwort erhält, bekommt auch ihre Signatur (RRSIG) und kann prüfen, ob die Einträge genau dem entsprechen, was der Inhaber veröffentlicht hat. DNSSEC verschlüsselt nichts und verbirgt nicht, welche Namen Sie abfragen. Es beweist nur, dass eine Antwort echt ist.
Eine Kette von Fingerabdrücken
Ein öffentlicher Schlüssel, der am selben Ort liegt wie die Daten, beweist nicht viel, denn ein Fälscher könnte beides ersetzen. Deshalb lässt sich jede Zone von der darüberliegenden Zone bestätigen. Die übergeordnete Zone veröffentlicht einen DS-Eintrag, einen kurzen Fingerabdruck (Digest) des Schlüssels der untergeordneten Zone, und signiert diesen Eintrag mit ihrem eigenen Schlüssel. Für deren Schlüssel bürgt wiederum ihre eigene übergeordnete Zone, bis hinauf zur Root-Zone. Der Root-Schlüssel ist das Einzige, was ein Resolver im Voraus kennen muss, und er wird mit der Resolver-Software ausgeliefert.
Für example.com sieht der Weg so aus: Root-Schlüssel, DS für com in der Root-Zone, Schlüssel von com, DS für example.com in com, Schlüssel von example.com, signierte Einträge. Fehlt ein Glied oder ist es falsch, scheitert der Nachweis.
Der DS-Eintrag ist der Teil, der außerhalb Ihres DNS-Anbieters liegt. Er wird über Ihren Registrar an die Registry übermittelt, und die meisten Fehler entstehen aus dieser Trennung.
Was dieser Test macht
Für die Root-Zone, die Top-Level-Zone und jede Zone bis hinunter zu Ihrer Domain liest unser Server die DS-Einträge bei der übergeordneten Zone und die DNSKEY-Einträge der Zone selbst. Er liest sie über öffentliche Resolver mit abgeschalteter Validierung (das Flag „checking disabled“), damit er auch eine defekte Zone untersuchen kann. Für jeden Schlüssel berechnet er das Key Tag, und für jeden DS berechnet er den Digest mit derselben Hashfunktion (RFC 4034) neu aus dem Schlüssel und vergleicht beide Byte für Byte.
Dann fragt er drei validierende öffentliche Resolver (Cloudflare, Google und Quad9) nach dem SOA-Eintrag der Domain, diesmal mit eingeschalteter Validierung. Ein Resolver, der die Antwort validiert hat, setzt das AD-Flag („authenticated data“). Einer, der einen Fehler gefunden hat, antwortet mit SERVFAIL. Unser Server gleicht die Fingerabdrücke selbst ab, prüft aber nicht die Signaturen. Dieses Urteil überlassen wir den Resolvern.
| Urteil | Was gefunden wurde | Auswirkung |
|---|---|---|
| Nicht signiert | Kein DS, kein DNSKEY | Funktioniert überall, Antworten lassen sich nicht prüfen. Die meisten Domains. |
| Signiert und gültig | DS passt zu einem Schlüssel, Resolver setzen AD | Validierende Resolver weisen gefälschte Antworten zurück. |
| Halb eingerichtet | DNSKEY vorhanden, kein DS | Funktioniert, aber niemand prüft die Signaturen. |
| Defekt | DS ohne passenden Schlüssel, oder SERVFAIL nur bei eingeschalteter Validierung | Nicht erreichbar für alle hinter einem validierenden Resolver. |
Der Test meldet außerdem veraltete oder schwache Algorithmen (RSA/MD5, DSA, RSA/SHA-1, SHA-1-Digests in einem DS), einen DS, der von einem alten Schlüssel übrig ist, Signaturen, die in weniger als drei Tagen ablaufen, und ob die Zone NSEC oder NSEC3 verwendet, um nachzuweisen, dass ein Name nicht existiert.
Eine defekte Kette reparieren
Eine defekte Kette ist schlimmer als gar kein DNSSEC, weil validierende Resolver die Antwort verweigern. Meist läuft es so: Die Domain ist zu einem neuen DNS-Anbieter umgezogen, der alte DS-Eintrag ist beim Registrar geblieben und zeigt jetzt auf einen Schlüssel, den es nicht mehr gibt.
- Um schnell wieder online zu sein, löschen Sie den
DS-Eintrag beim Registrar. Die Domain ist dann unsigniert und funktioniert für alle, sobald die Caches abgelaufen sind, in der Regel innerhalb eines Tages. - Um DNSSEC zu behalten, öffnen Sie die DNSSEC-Seite Ihres aktuellen DNS-Anbieters, kopieren den dort angezeigten
DS-Eintrag (Key Tag, Algorithmus, Digest-Typ, Digest) und tragen ihn beim Registrar anstelle des alten ein. - Vor dem nächsten Umzug entfernen Sie zuerst den
DS-Eintrag, warten einen Tag, wechseln die Nameserver, signieren dann und veröffentlichen den neuenDS.
Bei „halb eingerichtet“ bringen Sie die Sache entweder zu Ende, indem Sie den DS-Eintrag veröffentlichen, oder Sie schalten das Signieren beim DNS-Anbieter ab.
Resolver behalten Antworten, auch Fehler, so lange wie die TTL des Eintrags es erlaubt. Direkt nach einer Korrektur kann diese Seite eine Weile den alten Zustand zeigen, und verschiedene Resolver können sich widersprechen.
Häufige Fragen
Brauche ich DNSSEC für meine Domain?
Es ist freiwillig, und die meisten Domains laufen ohne. Es schützt Besucher und E-Mails vor gefälschten DNS-Antworten, und einige Anwendungen setzen es voraus, etwa DANE für Mailserver. Wenn Ihr DNS-Anbieter und Ihr Registrar es mit einem Schalter erledigen, kostet das Einschalten wenig. Wenn Sie oft den DNS-Anbieter wechseln, planen Sie jeden Umzug sorgfältig.
Was ist der Unterschied zwischen einem DS-Eintrag und einem DNSKEY-Eintrag?
Ein DNSKEY ist ein öffentlicher Schlüssel, den Ihr DNS-Anbieter in Ihrer eigenen Zone veröffentlicht. Ein DS ist ein Fingerabdruck dieses Schlüssels, veröffentlicht in der übergeordneten Zone (.com, .org) über Ihren Registrar. Der DS verbindet Ihre Zone mit der Kette.
Warum funktioniert meine Website bei mir, aber nicht bei anderen?
Ist DNSSEC defekt, hängt das Ergebnis vom Resolver jedes Besuchers ab. Validierende Resolver (Google, Cloudflare, Quad9, viele große Anbieter) liefern einen Fehler. Nicht validierende Resolver antworten weiterhin. Führen Sie den Test aus. Ein Urteil „defekt“ mit „Validierung abgeschaltet: antwortet“ ist genau diese Situation.
Was sind KSK und ZSK?
Zwei Rollen für Schlüssel in einer Zone. Der Key Signing Key (KSK, Flag 257) signiert nur die Gruppe der Schlüssel, und auf ihn zeigt der DS-Eintrag. Der Zone Signing Key (ZSK, Flag 256) signiert alle anderen Einträge und lässt sich austauschen, ohne den Registrar anzufassen. Manche Anbieter verwenden einen einzigen Schlüssel für beides.
Welchen DNSSEC-Algorithmus sollte eine Zone verwenden?
Algorithmus 13 (ECDSA P-256 mit SHA-256) ist heute die übliche Wahl, mit kleinen Signaturen und breiter Unterstützung. Algorithmus 8 (RSA mit SHA-256) ist ebenfalls in Ordnung. Die Algorithmen 5 und 7 beruhen auf SHA-1 und sollten ersetzt werden. Die Algorithmen 1, 3, 6 und 12 sind ausgemustert.
Wie lange dauert es, bis eine DNSSEC-Änderung sichtbar wird?
Eine DS-Änderung erreicht die Registry bei den meisten Registraren innerhalb von Minuten, aber Resolver behalten den vorherigen DS für seine TTL, bei .com oft 24 Stunden. Warten Sie einen ganzen Tag, bevor Sie das Ergebnis beurteilen.