Wie DNSSEC aufgebaut ist
DNSSEC versieht DNS-Antworten mit Signaturen, damit ein Resolver prüfen kann, dass sie unterwegs nicht verändert wurden. Die Zone veröffentlicht ihre öffentlichen Schlüssel als DNSKEY-Records und signiert damit ihre Records. Die übergeordnete Zone (.com bei example.com) veröffentlicht einen DS-Record: einen Digest des Key-Signing-Keys der Zone. Dieser DS-Record ist das Glied in der Vertrauenskette von der Root-Zone bis hinunter zur Domain, und er wird über den Registrar gesetzt.
Beide Hälften sind nötig. Schlüssel in der Zone ohne DS-Record in der übergeordneten Zone werden von niemandem validiert. Schlimmer ist ein DS-Record, der auf einen Schlüssel zeigt, den die Zone nicht veröffentlicht: Validierende Resolver verwerfen dann jede Antwort, und die Domain verschwindet für deren Nutzer.
Was dieses Tool prüft und woher die Daten stammen
OrbitProbe fragt zwei öffentliche validierende Resolver, Cloudflare und Google, per DNS-over-HTTPS nach den DS- und DNSKEY-Records der registrierbaren Domain, mit gesetztem DNSSEC-OK-Bit. Aufgelistet werden die DS-Records mit Key-Tag, Algorithmus und Digest-Typ, die DNSKEY-Records mit ihrer Rolle (KSK oder ZSK) und ihrem Algorithmus sowie die Angabe, ob der jeweilige Resolver in seiner Antwort das AD-Flag (Authenticated Data) gesetzt hat. Wo die Registry es veröffentlicht, erscheint das RDAP-Flag „delegation signed“ als zweite Quelle.
Das Ergebnis lautet auf eines von fünf Urteilen: signiert (DS und DNSKEY vorhanden), nicht signiert (die Resolver haben geantwortet, und es gibt keinen DS-Record), Schlüssel ohne DS-Record veröffentlicht, DS vorhanden, aber Schlüssel nicht lesbar, oder konnte nicht geprüft werden. Fällt ein Resolver aus, wird die Antwort des anderen trotzdem verwendet, und der Ausfall wird angezeigt.
Das AD-Flag ehrlich lesen
Ein AD-Flag bedeutet: Diese validierenden Resolver haben die Antwort zum Zeitpunkt der Prüfung als authentifiziert markiert. Es ist ihre Aussage über die eigene Validierung, kein Zertifikat für die Domain und keine Zusage über andere Resolver. Das Tool prüft die Signaturen nicht selbst noch einmal nach und geht auch nicht jeden Record der Zone durch. Eine abgelaufene Signatur auf einem einzelnen Record kann hier deshalb unbemerkt bleiben.