DANE/TLSA-Fehlerbehebung: häufige Fehler diagnostizieren und beheben
Von CaptainDNS
Veröffentlicht am 23. Februar 2026
Aktualisiert am 30. Juli 2026

- Die 5 häufigsten DANE-Fehler: DNSSEC fehlt, TLSA-Hash veraltet, falscher DNS-Name, STARTTLS falsch konfiguriert, unvollständige Propagation
- Wichtige Befehle:
dig +dnssec,openssl s_client -starttls smtp,postfix/smtpd[]: TLSin den Logs - Die Erneuerung des Let's-Encrypt-Zertifikats ist die häufigste Ursache für DANE-Ausfälle in der Produktion
- Unser DANE TLSA Checker erkennt diese Probleme automatisch
- TLS-RPT-Berichte (RFC 8460) melden DANE-Fehler, bevor Ihre Kommunikationspartner Sie darauf hinweisen
Sie haben DANE/TLSA nach Best Practices auf Ihrem E-Mail-Server eingerichtet, alles funktionierte, und dann werden eines Tages E-Mails von bestimmten Empfängern abgelehnt. Die Fehlermeldung erwähnt "failed DANE validation" oder "TLSA record not found", aber die Logs verraten Ihnen nicht genau, was sich geändert hat.
Dieses Szenario kennt jeder DANE-Administrator. Die Schwierigkeit liegt nicht in der Komplexität des Protokolls, sondern in der Anzahl der beteiligten Komponenten: DNSSEC, TLS-Zertifikat, TLSA-Eintrag, MTA-Konfiguration. Ein einziges schwaches Glied reicht aus, um die gesamte Kette zu unterbrechen.
Dieser Leitfaden behandelt die 5 häufigsten DANE/TLSA-Fehler mit jeweils dem Symptom, den Diagnosebefehlen und der Korrektur. Er richtet sich an Systemadministratoren und DevOps, die bereits eine DANE-Konfiguration betreiben. Falls Sie DANE noch nicht eingerichtet haben, beginnen Sie mit dem ersten Artikel dieser Serie (siehe "Verwandte Leitfäden" am Ende der Seite).
Einen DANE/TLSA-Fehler diagnostizieren
- Schritt 1: DNSSEC-Auflösung der Domain prüfen
Prüfen Sie zuerst den DNSSEC-Status Ihrer Zone. Ohne gültiges DNSSEC werden TLSA-Einträge von sendenden Servern ignoriert. Verwenden Sie
digmit dem Flag+dnssec, um zu prüfen, ob Signaturen vorhanden und gültig sind:dig +dnssec MX captaindns.com dig +dnssec A mail.captaindns.comDas Flag
ad(Authenticated Data) in der Antwort bestätigt, dass DNSSEC gültig ist. Fehlt dieses Flag, liegt das Problem bei DNSSEC, nicht bei TLSA. Prüfen Sie auch, ob die Vertrauenskette vollständig ist, mitdelv:delv @8.8.8.8 mail.captaindns.com A +rtrace - Schritt 2: veröffentlichten TLSA-Eintrag prüfen
Stellen Sie sicher, dass der TLSA am richtigen Ort veröffentlicht ist und die korrekten Werte enthält. Der DNS-Name muss dem MX-Hostnamen entsprechen, nicht der Domain:
dig TLSA _25._tcp.mail.captaindns.com +shortDie Antwort muss die 4 Felder enthalten: Usage, Selector, Matching Type und Hash. Wenn die Abfrage nichts zurückgibt, ist der TLSA unter dem falschen DNS-Namen veröffentlicht oder existiert nicht.
- Schritt 3: TLSA-Hash mit dem aktiven Zertifikat vergleichen
Rufen Sie das vom Server präsentierte Zertifikat ab und berechnen Sie seinen Hash, um ihn mit dem veröffentlichten TLSA zu vergleichen:
# Zertifikat über STARTTLS abrufen openssl s_client -connect mail.captaindns.com:25 \ -starttls smtp -servername mail.captaindns.com \ 2>/dev/null | openssl x509 -outform DER \ | openssl dgst -sha256Für einen TLSA mit SPKI-Selector (1) berechnen Sie den Hash des öffentlichen Schlüssels:
openssl s_client -connect mail.captaindns.com:25 \ -starttls smtp -servername mail.captaindns.com \ 2>/dev/null | openssl x509 -pubkey -noout \ | openssl pkey -pubin -outform DER \ | openssl dgst -sha256Vergleichen Sie das Ergebnis mit dem Hash im TLSA. Wenn die Werte abweichen, wurde das Zertifikat erneuert, ohne den TLSA zu aktualisieren.
- Schritt 4: STARTTLS-Verbindung testen
Prüfen Sie, ob der Server STARTTLS korrekt auf Port 25 anbietet:
openssl s_client -connect mail.captaindns.com:25 \ -starttls smtp -verify 5 \ -servername mail.captaindns.comStellen Sie sicher, dass das zurückgegebene Zertifikat zum MX-Hostnamen passt und die Zertifikatskette vollständig ist. Ein abgelaufenes Zertifikat oder ein falscher Hostname verursacht einen DANE-Fehler, selbst wenn der TLSA-Hash korrekt ist.
- Schritt 5: MTA-Logs und TLS-RPT-Berichte analysieren
Die Postfix-Logs enthalten Details zu DANE-Fehlern. Filtern Sie die relevanten Einträge:
grep "dane" /var/log/mail.log | grep -i "fail\|error\|unusable"TLS-RPT-Berichte (falls konfiguriert) melden Fehler, die von sendenden Servern beobachtet wurden. Suchen Sie in den per E-Mail empfangenen JSON-Berichten nach
failure-type-Feldern mitdane-requiredodertlsa-invalid.
Die 5 häufigsten DANE-Fehler
DANE-Probleme lassen sich in 5 Kategorien einteilen. Jeder Abschnitt beschreibt das beobachtbare Symptom, den Diagnosebefehl und die Korrektur.

Fehler 1: DNSSEC nicht signiert oder Signatur abgelaufen
Symptom: Sendende Server melden "DANE required but not available" oder "no DNSSEC" in TLS-RPT-Berichten. E-Mails werden im opportunistischen Modus (ohne DANE-Prüfung) zugestellt oder abgelehnt.
Diagnose:
# AD-Flag (Authenticated Data) prüfen
dig +dnssec MX captaindns.com | grep flags
# Erwartetes Ergebnis: flags: qr rd ra ad
# Gültigkeit der RRSIG-Signaturen prüfen
dig +dnssec SOA captaindns.com | grep RRSIG
# Das Ablaufdatum steht im RRSIG-Feld
Häufige Ursachen:
- Der Registrar hat DNSSEC nach einem Domain-Transfer deaktiviert
- Die DNSSEC-Schlüssel (KSK/ZSK) sind ohne automatische Rotation abgelaufen
- Der DS-Record beim Registrar stimmt nicht mehr mit dem aktiven DNSKEY überein
Korrektur: Prüfen Sie, ob der DS-Record bei Ihrem Registrar mit Ihrem DNSKEY übereinstimmt. Wenn Sie Bind9 verwenden, prüfen Sie die Ablaufdaten der Schlüssel mit dnssec-settime und konfigurieren Sie die automatische Rotation.
Fehler 2: TLSA-Hash veraltet nach Zertifikatserneuerung
Symptom: "TLSA validation failed" oder "certificate mismatch" in den Logs. Dieser Fehler tritt typischerweise 60 bis 90 Tage nach der Ersteinrichtung auf, bei der ersten Let's-Encrypt-Erneuerung.
Diagnose:
# Hash des aktiven Zertifikats (Selector 0: Full cert)
openssl s_client -connect mail.captaindns.com:25 \
-starttls smtp 2>/dev/null \
| openssl x509 -outform DER \
| openssl dgst -sha256
# Im DNS veröffentlichter Hash
dig TLSA _25._tcp.mail.captaindns.com +short
# Die 64 Hex-Zeichen vergleichen
Häufige Ursachen:
- Der Certbot-Renewal-Hook aktualisiert den TLSA nicht
- Der Selector ist Full (0) statt SPKI (1): bei jeder Erneuerung ändert sich der Hash
- Der Usage ist DANE-EE (3) ohne
--reuse-keyin Certbot
Korrektur:
- Schnelle Lösung: Generieren Sie den neuen Hash mit unserem DANE TLSA Generator und aktualisieren Sie den DNS
- Dauerhafte Lösung: Verwenden Sie SPKI-Selector (1) mit
--reuse-keyin Certbot, das ist die Standardwahl. Wenn Sie DANE-TA (2) vorziehen, pinnen Sie das Let's-Encrypt-Intermediate, das Ihr Server tatsächlich sendet (R10 oder R11), und nicht die Wurzel ISRG Root X1: RFC 7671 Abschnitt 5.2.2 verlangt, dass das gepinnte Zertifikat in der präsentierten TLS-Kette enthalten ist. Siehe unser Postfix/Bind/Let's-Encrypt-Tutorial (Artikel 2 dieser Serie) für die Konfiguration des automatischen Renewal-Hooks
Fehler 3: TLSA unter falschem DNS-Namen veröffentlicht
Symptom: "no TLSA records found", obwohl Sie den Eintrag erstellt haben. Das ist der häufigste Fehler bei DANE-Einsteigern.
Diagnose:
# MX-Hostnamen ermitteln
dig MX captaindns.com +short
# Ergebnis: 10 mail.captaindns.com.
# TLSA am richtigen Ort prüfen (MX-Hostname)
dig TLSA _25._tcp.mail.captaindns.com +short
# Typischer Fehler: TLSA auf der Domain statt auf dem MX veröffentlicht
dig TLSA _25._tcp.captaindns.com +short
# Dieser TLSA wird von sendenden Servern IGNORIERT
Ursache: Verwechslung zwischen der Domain (captaindns.com) und dem MX-Hostnamen (mail.captaindns.com). Der TLSA muss auf _25._tcp.<MX-Hostname> veröffentlicht werden, gemäß RFC 7672 Abschnitt 2.1.1.
Korrektur: Veröffentlichen Sie den TLSA auf _25._tcp.mail.captaindns.com (oder dem Hostnamen, den Ihr MX-Eintrag zurückgibt). Wenn Ihre Domain mehrere MX-Einträge hat, benötigt jeder Hostname seinen eigenen TLSA.
Fehler 4: STARTTLS nicht verfügbar oder falsch konfiguriert
Symptom: DANE ist DNS-seitig konfiguriert, aber der Server bietet kein STARTTLS an, oder das präsentierte Zertifikat stimmt nicht mit dem Hostnamen überein. Die Logs zeigen "TLS handshake failed" oder "certificate hostname mismatch".
Diagnose:
# Testen, ob STARTTLS angeboten wird
openssl s_client -connect mail.captaindns.com:25 \
-starttls smtp -verify 5
# Common Name und SAN des Zertifikats prüfen
openssl s_client -connect mail.captaindns.com:25 \
-starttls smtp 2>/dev/null \
| openssl x509 -noout -subject -ext subjectAltName
Häufige Ursachen:
smtpd_tls_cert_filezeigt in Postfix auf die falsche Datei- Das Zertifikat enthält den MX-Hostnamen nicht in seinen Subject Alternative Names
- Die Firewall blockiert STARTTLS oder Port 25 ist nicht per TLS erreichbar
Korrektur: Prüfen Sie in Postfix, dass smtpd_tls_security_level mindestens auf may steht und die Zertifikatspfade korrekt sind:
# /etc/postfix/main.cf
smtpd_tls_cert_file = /etc/letsencrypt/live/mail.captaindns.com/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mail.captaindns.com/privkey.pem
smtpd_tls_security_level = may

Fehler 5: unvollständige DNS-Propagation
Symptom: DANE funktioniert sporadisch. Einige sendende Server validieren den TLSA, andere melden einen Fehler. Das Problem tritt häufig nach einer kürzlich vorgenommenen DNS-Aktualisierung auf.
Diagnose:
# Antworten zwischen NS-Servern vergleichen
dig TLSA _25._tcp.mail.captaindns.com @ns1.captaindns.com +short
dig TLSA _25._tcp.mail.captaindns.com @ns2.captaindns.com +short
# Verbleibende TTL prüfen
dig TLSA _25._tcp.mail.captaindns.com +noall +answer
Häufige Ursachen:
- Unvollständiger Zonentransfer zwischen primärem und sekundärem DNS-Server
- Hohe TTL auf dem alten Eintrag (DNS-Caches behalten den alten Wert)
- Ein NS-Server antwortet nicht oder liefert eine veraltete Version der Zone
Korrektur: Stellen Sie sicher, dass alle Ihre NS-Server denselben TLSA-Wert zurückgeben. Wenn Sie den TLSA gerade aktualisiert haben, warten Sie das Ablaufen der vorherigen TTL ab, bevor Sie den alten Eintrag löschen. Bei Zertifikatsrotationen veröffentlichen Sie den neuen TLSA 2x TTL vor der tatsächlichen Rotation.
DANE in der Produktion überwachen
Einen einzelnen Fehler zu beheben reicht nicht aus. Die folgenden 3 Überwachungsmechanismen verhindern wiederkehrende Vorfälle.
TLS-RPT: Aktivieren Sie TLS-RPT-Berichte (RFC 8460), um Fehlermeldungen über DANE-Fehler von sendenden Servern zu erhalten. Das Feld failure-type im JSON-Bericht gibt den Fehlertyp genau an:
| failure-type TLS-RPT | Bedeutung | Aktion |
|---|---|---|
dane-required | TLSA erforderlich aber fehlt | TLSA-Veröffentlichung prüfen |
tlsa-invalid | TLSA vorhanden aber ungültig | Hash und Syntax prüfen |
dnssec-invalid | DNSSEC-Signatur ungültig | DNSSEC-Schlüssel prüfen |
certificate-expired | TLS-Zertifikat abgelaufen | Zertifikat erneuern |
starttls-not-supported | Kein STARTTLS | Postfix-Konfiguration prüfen |
Zertifikats-Monitoring: Richten Sie einen Alarm 14 Tage vor Ablauf des TLS-Zertifikats ein. Die Let's-Encrypt-Erneuerung erfolgt automatisch, aber der TLSA-Hook kann stillschweigend fehlschlagen.
Automatische Prüfung: Planen Sie eine tägliche Prüfung mit unserem DANE TLSA Syntax Checker oder einem Cron-Skript, das den veröffentlichten Hash mit dem aktiven Zertifikat vergleicht:
#!/bin/bash
# Tägliche DANE-Prüfung
TLSA_HASH=$(dig TLSA _25._tcp.mail.captaindns.com +short | awk '{print $4}')
CERT_HASH=$(openssl s_client -connect mail.captaindns.com:25 \
-starttls smtp 2>/dev/null \
| openssl x509 -pubkey -noout \
| openssl pkey -pubin -outform DER \
| openssl dgst -sha256 | awk '{print $2}')
if [ "$TLSA_HASH" != "$CERT_HASH" ]; then
echo "WARNUNG: TLSA-Hash weicht vom aktiven Zertifikat ab" | \
mail -s "DANE TLSA mismatch" admin@captaindns.com
fi
Empfohlener Aktionsplan
- Diagnostizieren: Nutzen Sie die obige 5-Schritte-Methodik oder unseren DANE TLSA Checker, um das Problem zu identifizieren
- Einordnen: Ordnen Sie den Fehler einer der 5 Kategorien zu (DNSSEC, Hash, DNS-Name, STARTTLS, Propagation)
- Beheben: Wenden Sie die entsprechende Lösung mit den bereitgestellten Befehlen an
- Verifizieren: Testen Sie die Korrektur mit
dig +dnssecundopenssl s_client, bevor Sie das Problem als gelöst betrachten - Vorbeugen: Richten Sie TLS-RPT, Zertifikats-Monitoring und die automatische Prüfung ein
FAQ
Warum schlägt die DANE-Validierung nach der Zertifikatserneuerung fehl?
Die Erneuerung generiert ein neues Schlüsselpaar (außer wenn --reuse-key in Certbot aktiviert ist). Der Hash im TLSA-Eintrag stimmt nicht mehr mit dem neuen Zertifikat überein. Die Standardlösung ist SPKI-Selector (1) mit --reuse-key, der denselben öffentlichen Schlüssel über die Erneuerungen hinweg beibehält. DANE-TA (2) bleibt möglich, aber RFC 7671 Abschnitt 5.2.2 verlangt, dass das gepinnte Zertifikat in der ausgelieferten TLS-Kette steht: Pinnen Sie dann das tatsächlich gesendete Let's-Encrypt-Intermediate (R10 oder R11) und nicht die Wurzel.
Wie behebt man den Fehler 'no TLSA records found'?
Dieser Fehler bedeutet, dass der TLSA im DNS fehlt oder am falschen Ort veröffentlicht ist. Der TLSA muss auf _25._tcp.<MX-Hostname> veröffentlicht werden, nicht auf _25._tcp.<Domain>. Prüfen Sie mit dig MX captaindns.com, welcher MX-Hostname verwendet wird, und veröffentlichen Sie den TLSA dann unter dem korrekten Namen. Falls der TLSA existiert, prüfen Sie ob DNSSEC aktiv ist, da Resolver TLSA ohne DNSSEC ignorieren.
Funktioniert DANE, wenn DNSSEC auf der Domain signiert ist, aber nicht auf dem MX-Hostnamen?
DNSSEC muss auf der Zone signiert sein, die den TLSA enthält. Wenn Ihr MX-Hostname mail.captaindns.com ist und der TLSA in derselben Zone liegt, dann muss diese Zone DNSSEC aktiv haben. Die Zone der absendenden Domain benötigt kein DNSSEC. Wenn der MX jedoch auf einen Hostnamen in einer anderen Zone zeigt (Shared Hosting), muss diese Zone DNSSEC haben.
Wie debuggt man DANE mit den Postfix-Logs?
Aktivieren Sie das TLS-Log-Level in Postfix mit smtp_tls_loglevel = 2 (ausgehend) oder smtpd_tls_loglevel = 2 (eingehend) in main.cf. Zeilen mit Verified TLS connection bestätigen einen Erfolg. Zeilen mit dane und unusable oder failed zeigen einen Fehler an. Suchen Sie auch nach DANE TLSA in den Logs, um die Prüfungsdetails zu sehen.
Was bedeutet 'DANE required but TLSA absent' in einem TLS-RPT-Bericht?
Diese Meldung zeigt an, dass der sendende Server eine DANE-Policy erkannt hat (via DNSSEC auf der MX-Zone), aber keinen TLSA-Eintrag gefunden hat. Entweder ist der TLSA noch nicht veröffentlicht, oder er steht unter dem falschen DNS-Namen, oder der Resolver des sendenden Servers hat die Aktualisierung noch nicht propagiert. Prüfen Sie die Veröffentlichung mit dig TLSA _25._tcp.mail.captaindns.com von einem externen Resolver aus.
Der TLSA-Hash ist korrekt, aber die Validierung schlägt fehl, warum?
Mehrere mögliche Ursachen: Der Selector im TLSA (Full vs. SPKI) stimmt nicht mit der verwendeten Hash-Methode überein, das Intermediate-Zertifikat fehlt in der vom Server präsentierten Kette, oder der Matching Type (SHA-256 vs. SHA-512) stimmt nicht mit dem veröffentlichten Hash überein. Prüfen Sie die ersten 3 Felder des TLSA (Usage, Selector, Matching Type) und berechnen Sie den Hash mit den korrekten Parametern neu.
Wie testet man DANE ohne E-Mail-Verlust zu riskieren?
Veröffentlichen Sie den TLSA zunächst mit einer niedrigen TTL (300 Sekunden) und prüfen Sie ihn mit dig und unserem DANE TLSA Checker. Testen Sie den Versand von einem DANE-fähigen Server (Gmail, Microsoft 365) an Ihre Domain. Wenn die Validierung fehlschlägt, korrigieren Sie den TLSA. Sendende Server, die RFC 7672 Abschnitt 2.2 einhalten, fallen bei ungültigem TLSA in den opportunistischen Modus zurück, es sei denn, ihre Policy erfordert striktes DANE. Erhöhen Sie die TTL, sobald die Konfiguration validiert ist.
📚 Verwandte DANE/TLSA-Leitfäden
- DANE/TLSA: die Komplettanleitung zur DNS-basierten Zertifikatauthentifizierung für E-Mail: Funktionsweise, TLSA-Anatomie, empfohlene Verwendungen und Vergleich mit MTA-STS
- DANE/TLSA mit Postfix, Bind und Let's Encrypt konfigurieren: Schritt-für-Schritt-Tutorial mit kopierbaren Befehlen, automatischer Erneuerung und Überprüfung
- DANE für Exchange Online und Microsoft 365 bereitstellen
Quellen
- RFC 7672 - SMTP Security via Opportunistic DANE TLS
- RFC 7671 - The DNS-Based Authentication of Named Entities (DANE) Protocol: Updates and Operational Guidance
- RFC 6698 - The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA
- Postfix TLS README - DANE
- ISC BIND 9 DNSSEC Guide


