Zum Hauptinhalt springen

DANE TLSA Syntax-Validator

Prüfe Usage, Selector, Matching Type und Hash offline, vor der DNS-Veröffentlichung

Ein fehlerhaft formatierter TLSA Record wird von konformen MTAs stillschweigend ignoriert: Deine DANE-Bereitstellung schützt niemanden, und du erfährst es erst beim nächsten Vorfall. Dieser TLSA Validator analysiert deinen Entwurf offline: Er prüft die vier Felder (Usage, Selector, Matching Type, Hash), die Länge der Binärdaten gegenüber dem Algorithmus und meldet jede Abweichung von RFC 6698 und 7671 vor jeder DNS-Veröffentlichung.

Vollständige Offline-Validierung

Keine DNS-Abfrage, keine externe Verbindung. Dein Entwurf bleibt in deinem Browser. Ideal, um ein Template, eine Generator-Ausgabe oder einen Record aus einem internen Wiki vor der öffentlichen Bereitstellung zu validieren.

TLSA-Anatomie: 4 geprüfte Felder

Der Validator schlüsselt jedes Feld auf: Usage (0 bis 3), Selector (0 oder 1), Matching Type (0, 1, 2) und Hexadezimaldaten. Für jeden Wert zeigt das Tool die Bedeutung und die erwartete Hash-Länge an (32 Bytes für SHA-256, 64 für SHA-512).

Erkennung nicht empfohlener Kombinationen

Bei SMTP nicht empfohlene Kombinationen (Usage 0 oder 1 ohne kontrollierte CA, Matching Type 0 mit Rohzertifikat) werden gemeldet. Das Tool schlägt die Standardkombination 3 1 1 für SMTP DANE vor.

Kompatibilität mit dem SMTP-DANE-Ökosystem

Der Validator wendet die praktischen Anforderungen von Postfix, Exim und Microsoft 365 an: Owner Name _25._tcp.<host>, strenge Hash-Längen, hexadezimale Kodierung in Groß- oder Kleinbuchstaben. Keine Überraschungen bei der DNS-Veröffentlichung.

Vorbereitung des Schlüsselwechsels

Validiere mehrere TLSA Records gleichzeitig (aktueller Schlüssel und nächster Schlüssel). Der Validator bestätigt, dass jeder Record syntaktisch korrekt ist und während eines Schlüsselwechsels ohne Unterbrechung in der Zone koexistieren kann.

Warum einen Offline-Validator nutzen

Ein fehlerhaft formatierter TLSA Record wird von konformen MTAs ohne Warnung ignoriert. Du glaubst, dass deine DANE-Bereitstellung deinen eingehenden SMTP-Fluss schützt; in der Praxis prüft kein sendender Server irgendetwas. Der Ausfall bleibt still, bis zum nächsten Audit oder bis ein Zustellungsproblem die Lücke aufdeckt.

Der DANE-TLSA-Syntax-Validator analysiert deinen Record ohne Veröffentlichung oder Abfrage des DNS. Keine Daten verlassen deinen Browser, kein Signal gelangt zu einem externen Resolver. Dieser Offline-Ansatz deckt vier Anwendungsfälle ab, die ein Live-Audit nicht abdecken kann.

Typische Anwendungsfälle:

  • Vor der Bereitstellung: einen Entwurf vor der DNS-Veröffentlichung validieren, um einen stillschweigend ignorierten Record zu vermeiden.
  • Generator-Ausgabe: die Syntax eines Records prüfen, der von einem Drittanbieter-Tool, einem internen Wiki oder einer gemeinsamen Vorlage stammt.
  • Offline-Debugging: einen Fehler reproduzieren und beheben, ohne das öffentliche DNS zu berühren, etwa in der Vorproduktion.
  • Konfigurations-Review: einen Record prüfen, der von einem Partner stammt oder aus einer Kunden-Infrastruktur exportiert wurde, bevor du ihn anwendest.

Der Validator wendet die Strukturvorgaben von RFC 6698 und die operativen Vorgaben von RFC 7671 an. Keine DNS-Abfrage, keine externe Verbindung.


So nutzt du diesen Validator in 3 Schritten

Schritt 1: TLSA Record einfügen

Kopiere den Wert deines Records in das vorgesehene Feld:

3 1 1 2bb183af2e2b295b444c1fd4072f2b59a8c1c9abf7f3f1e9b0d4c7e8f1a2b3c4

Du kannst auch die vollständige Zeile mit dem Owner Name einfügen:

_25._tcp.mail.captaindns.com. IN TLSA 3 1 1 2bb183af...

Der Validator extrahiert die vier Felder und analysiert jedes unabhängig. In diesem Schritt erfolgt keine Netzwerkverbindung.

Schritt 2: Verdikt lesen

Die Ergebnisse werden nach Schweregrad sortiert:

  • Fehler: blockierendes Problem, der Record wird von konformen MTAs ignoriert oder abgelehnt
  • Warnung: nicht empfohlene Kombination, funktional, setzt dich aber operativen Risiken aus
  • Gültig: Syntax konform mit RFC 6698 und 7671

Jede Meldung enthält das betroffene Feld, den ungültigen Wert und die erwartete Korrektur.

Schritt 3: vor der Veröffentlichung korrigieren

Passe deinen Record den Empfehlungen entsprechend an. Sobald die Syntax sauber ist, veröffentliche den TXT unter _25._tcp.<mx-host> in der DNSSEC-signierten Zone des MX-Hosts, warte auf die Propagierung und bestätige live mit dem DANE TLSA Checker.


Validator oder Checker: wann welches Tool nutzen

Die beiden Tools ergänzen sich. Sie kommen zu unterschiedlichen Zeitpunkten im Lebenszyklus eines TLSA Records zum Einsatz.

DimensionValidator (dieses Tool)Checker
EinsatzzeitpunktVor der DNS-VeröffentlichungNach der Veröffentlichung
DNS-AuflösungKeineLive-Auflösung _25._tcp.<mx>
DNSSEC-PrüfungNeinJa, vollständige Kette
Live-ZertifikatsvergleichNeinJa, über STARTTLS auf Port 25
Record-QuelleManuell (eingefügt)Öffentliches DNS
An den Server gesendete DatenKeineAnalysierte Domain

Empfohlener Ablauf:

  1. Record entwerfen oder generieren und Syntax mit dem Validator prüfen
  2. Den TXT in der DNSSEC-Zone des MX-Hosts veröffentlichen und auf die Propagierung warten
  3. Den Checker starten, um DNSSEC und den Live-Zertifikatsabgleich zu bestätigen

Der Validator fängt Eingabefehler vor der Veröffentlichung ab. Der Checker fängt Drift ab und bestätigt, dass das öffentliche, ausgelieferte DNS mit dem aktuell über STARTTLS präsentierten Zertifikat übereinstimmt.


Anatomie eines TLSA Records

Der TLSA Record enthält vier streng spezifizierte Felder.

Allgemeine Struktur

_25._tcp.mail.captaindns.com. IN TLSA <usage> <selector> <matching> <data>
FeldWerteBeschreibung
Usage0-3Vertrauensanker
Selector0-1Gehashter Teil des Zertifikats
Matching Type0-2Vergleichsalgorithmus
DatenHexHash oder Binärblock

Usage (Feld 1)

WertNameBeschreibung
0PKIX-TACA-Bedingung: Das Zertifikat muss von dieser CA signiert sein UND die PKIX-Validierung bestehen
1PKIX-EEZertifikatsbedingung: exakte Übereinstimmung + PKIX-Validierung
2DANE-TAVertrauensanker: jedes von dieser CA signierte Zertifikat wird akzeptiert
3DANE-EEDomain-Zertifikat: exakte Übereinstimmung, keine PKIX-Validierung

SMTP-Empfehlung: DANE-EE (3). Der Anker liegt in deinem Schlüssel, unabhängig von einer externen Autorität.

Selector (Feld 2)

WertNameBeschreibung
0CertVollständiges Zertifikat (DER)
1SPKISubjectPublicKeyInfo (nur öffentlicher Schlüssel)

Empfehlung: SPKI (1). Der Record bleibt gültig, solange der öffentliche Schlüssel erhalten bleibt, unabhängig von Zertifikatserneuerungen.

Matching Type (Feld 3)

WertNameErwartete Hex-Länge
0FullVariabel (Rohzertifikat oder Schlüssel)
1SHA-25664 Zeichen (32 Bytes)
2SHA-512128 Zeichen (64 Bytes)

Empfehlung: SHA-256 (1). Universell unterstützt, robust genug, kompakt.


Die empfohlene SMTP-Kombination

3 1 1 ist der De-facto-Standard für SMTP DANE.

3 1 1 <sha256-der-spki>
  • Usage 3 (DANE-EE): keine CA-Abhängigkeit, Anker direkt in deinem Schlüssel
  • Selector 1 (SPKI): invariant gegenüber der Zertifikatserneuerung, solange der Schlüssel erhalten bleibt
  • Matching Type 1 (SHA-256): 32 Bytes, perfekt geeignet

Andere Kombinationen sind möglich, aber nicht empfohlen:

KombinationStatusWarum
3 1 1EmpfohlenSMTP-Standard, robust, invariant gegenüber Erneuerungen
3 0 1ToleriertHash auf das vollständige Zertifikat, ändert sich bei jeder Erneuerung
2 0 1AkzeptabelDANE-TA auf CA, keine DNS-Aktualisierung bei Erneuerung
2 1 1AkzeptabelDANE-TA auf CA-SPKI
3 1 0AbgelehntMatching Type 0 legt das Rohzertifikat offen, riesige DNS-Größe
1 x xBei SMTP abgelehntPKIX-EE auf MTAs selten einsetzbar
0 x xBei SMTP abgelehntPKIX-TA für SMTP ungeeignet

Der Validator meldet Kombinationen außerhalb der Empfehlung ausdrücklich und schlägt die Standardkombination vor.


Häufige Syntaxfehler und Korrekturen

Usage außerhalb des Bereichs

Ursache: Usage-Wert größer als 3.

Korrektur:

- 4 1 1 2bb183af...
+ 3 1 1 2bb183af...

Ungültiger Selector

Ursache: Selector ungleich 0 oder 1.

Korrektur:

- 3 2 1 2bb183af...
+ 3 1 1 2bb183af...

Matching Type außerhalb des Bereichs

Ursache: Matching Type größer als 2.

Korrektur:

- 3 1 3 2bb183af...
+ 3 1 1 2bb183af...

Ungültige Hexadezimaldaten

Ursache: Zeichen außerhalb des Hex-Bereichs (0-9, a-f, A-F).

Korrektur:

- 3 1 1 2bg183zf...
+ 3 1 1 2bb183af...

Falsche Hash-Länge

Ursache: Die Datenlänge passt nicht zum Matching Type.

Korrektur SHA-256:

- 3 1 1 2bb183
+ 3 1 1 2bb183af2e2b295b444c1fd4072f2b59a8c1c9abf7f3f1e9b0d4c7e8f1a2b3c4

SHA-256 (Matching Type 1) erfordert exakt 64 Hex-Zeichen. SHA-512 (Matching Type 2) erfordert exakt 128 Zeichen.

Fragile Usage/Selector-Kombination

Ursache: DANE-EE (3) + Full Cert (0) führt zu einem Hash, der sich bei jeder Zertifikatserneuerung ändert.

Empfohlene Korrektur: auf SPKI (1) umstellen, um den Record gegenüber Erneuerungen invariant zu machen (mit der ACME-Option --reuse-key).

- 3 0 1 <hash-des-vollständigen-zertifikats>
+ 3 1 1 <hash-des-öffentlichen-schlüssels>

Falscher Owner Name

Ursache: Record am Domain-Apex statt am MX-Host veröffentlicht, oder am falschen Port.

Korrektur: _25._tcp.<mx-host> exakt. Für einen MX mail.captaindns.com lautet das _25._tcp.mail.captaindns.com.


Vorbereitung eines Schlüsselwechsels

Mehrere TLSA Records in derselben Zone sind kein Fehler: Es ist das empfohlene Muster für einen unterbrechungsfreien Schlüsselwechsel.

Saubere Wechselprozedur

  1. T-7: Erzeuge den nächsten Schlüssel, berechne seinen SPKI-Hash und veröffentliche ihn als Duplikat:
_25._tcp.mail.captaindns.com. IN TLSA 3 1 1 <aktueller-Schlüssel-Hash>
_25._tcp.mail.captaindns.com. IN TLSA 3 1 1 <nächster-Schlüssel-Hash>
  1. T-0: Führe die Zertifikatsrotation mit dem neuen Schlüssel durch. Konforme MTAs akzeptieren die Verbindung, wenn mindestens einer der beiden Records zum ausgelieferten Zertifikat passt.

  2. T+7 (oder das Doppelte der TTL): Entferne den alten Record. Der Wechsel ist abgeschlossen.

Was der Validator prüft

Der Validator verarbeitet jeden Record unabhängig und bestätigt, dass:

  • Jeder Hash die vom Matching Type erwartete Länge respektiert
  • Kein Feld den gültigen Bereich verlässt
  • Die Kombinationen innerhalb der Empfehlungen bleiben

Ein doppelter Record wird nie als Fehler gemeldet, wenn beide syntaktisch korrekt sind.


DANE und MTA-STS: komplementäre Ansätze

KriteriumDANEMTA-STS
MechanismusDNSSEC + TLSA RecordHTTPS + Text-Policy
AbhängigkeitDNSSEC erforderlichHTTPS erforderlich
VertrauenKryptografisch (signiertes DNS)PKI (HTTPS-CA)
Postfix-/Exim-UnterstützungExzellentGut
Microsoft-365- / Google-Workspace-UnterstützungTeilweise bis keineVollständig
BereitstellungKomplex (DNSSEC)Einfacher

Empfehlung: nicht wählen, beide einsetzen. Validiere hier deinen TLSA Record und veröffentliche dann zusätzlich eine MTA-STS-Policy. Maximale Abdeckung erfordert die Kombination.


Ergänzende Tools und Ressourcen

ToolWann nutzen
DANE TLSA CheckerLive-Audit des im DNS veröffentlichten Records mit DNSSEC-Validierung und Zertifikatsabgleich
DANE TLSA GeneratorEinen TLSA Record aus einem Zertifikat oder einem öffentlichen Schlüssel erzeugen
MTA-STS Syntax-ValidatorDie begleitende MTA-STS-Policy offline validieren
TLS-RPT Syntax-ValidatorDen begleitenden TLS-RPT Record offline validieren
E-Mail-Authentifizierungs-AuditÜbersicht der E-Mail-Authentifizierungstools

Verwandte Leitfäden

Spezifikationen