So verwenden Sie diesen TLS-RPT-Generator
Schritt 1: Reporting-Ziele hinzufügen
Geben Sie ein, wo Sie TLS-Fehlerberichte erhalten möchten:
E-Mail (empfohlen zum Start)
mailto:tlsrpt@captaindns.com
HTTPS-Webhook (für Automatisierung)
https://tlsrpt.captaindns.com/v1/report
Sie können mehrere Ziele hinzufügen - Berichte gehen an alle.
Schritt 2: Generierten Eintrag kopieren
Der Generator erstellt einen gültigen RFC 8460-Eintrag:
v=TLSRPTv1; rua=mailto:tlsrpt@captaindns.com
Schritt 3: Im DNS veröffentlichen
Erstellen Sie einen TXT-Eintrag bei _smtp._tls.captaindns.com mit dem generierten Wert.
Beispiel für captaindns.com:
- Typ: TXT
- Host:
_smtp._tls - Wert:
v=TLSRPTv1; rua=mailto:tlsrpt@captaindns.com
Schritt 4: Veröffentlichung verifizieren
Verwenden Sie unseren TLS-RPT Record Checker, um die korrekte Konfiguration zu bestätigen.
Was TLS-RPT wirklich meldet
TLS-RPT ist ein reines Beobachtungswerkzeug: Es verändert niemals das Verhalten eines Servers, sondern zeigt, was bei den eingehenden TLS-Verbindungen zu Ihren MX-Hosts tatsächlich passiert ist.
Die sendenden Betreiber melden Ihnen insbesondere:
- ein Downgrade oder Stripping von STARTTLS, bei dem die Sitzung auf Klartext zurückfällt
- ein abgelaufenes, nicht vertrauenswürdiges oder selbstsigniertes Zertifikat
- ein Zertifikat, dessen Hostname nicht zum erwarteten MX passt
- das Scheitern beim Abruf oder bei der Validierung einer MTA-STS-Policy
- einen DANE-Fehler: ungültiger TLSA-Eintrag oder gebrochene DNSSEC-Kette
TLS-RPT erzwingt keine Regel. Die Ablehnung der Zustellung einer Klartext-Nachricht kommt von MTA-STS oder DANE; TLS-RPT teilt Ihnen lediglich mit, wann und warum die Verschlüsselung fehlgeschlagen ist, damit Sie korrigieren können, bevor Sie in den Enforce-Modus wechseln.
TLS-RPT-Eintragsformat
Erforderliche Komponenten
| Komponente | Format | Beispiel |
|---|---|---|
| Version | v=TLSRPTv1 | Muss genau dies sein |
| Reporting-URI | rua=schema:ziel | rua=mailto:reports@captaindns.com |
Unterstützte URI-Schemata
mailto: - E-Mail-Zustellung
rua=mailto:sicherheitsteam@captaindns.com
Berichte kommen als komprimierte JSON-Anhänge.
https: - Webhook-Zustellung
rua=https://api.captaindns.com/tlsrpt/ingest
Berichte werden als JSON mit dem Header Content-Type: application/tlsrpt+gzip gepostet.
Mehrere Ziele
Mit Kommas trennen:
v=TLSRPTv1; rua=mailto:reports@captaindns.com,https://tlsrpt.captaindns.com/report
Berichte an eine Drittanbieter-Domain senden
Eine rua, die auf eine andere Domain als Ihre eigene zeigt, funktioniert genauso, ohne jeglichen Autorisierungseintrag auf der Empfängerseite.
Das ist ein wesentlicher Unterschied zu DMARC. DMARC verlangt einen _report._dmarc-Eintrag bei der Drittanbieter-Domain, bevor Cross-Domain-Berichte akzeptiert werden. RFC 8460 hat diesen Mechanismus bewusst verworfen (Abschnitt 7): Das Amplifikationsrisiko ist bei TLS-RPT geringer als bei DMARC, und das Vertrauen wird anders sichergestellt. mailto:-Berichte werden vom sendenden Betreiber per DKIM signiert, und https:-Berichte beruhen auf dem Besitz des DNS und des Zertifikats des Endpunkts.
v=TLSRPTv1; rua=mailto:reports@tlsrpt-service.com
Auf tlsrpt-service.com ist keine Aktion erforderlich, damit diese rua gültig ist.
Der Einfachheit halber genügt in den meisten Fällen eine Adresse auf Ihrer eigenen Domain:
v=TLSRPTv1; rua=mailto:tlsrpt@captaindns.com
DNS-Anbieter-Beispiele
Cloudflare
- Gehen Sie zu DNS-Einstellungen für Ihre Domain
- Eintrag hinzufügen:
- Typ: TXT
- Name:
_smtp._tls - Inhalt: Ihr generierter Eintragswert
- TTL: Auto
AWS Route 53
- Öffnen Sie die gehostete Zone für Ihre Domain
- Eintrag erstellen:
- Eintragsname:
_smtp._tls - Eintragstyp: TXT
- Wert:
"v=TLSRPTv1; rua=mailto:tlsrpt@captaindns.com" - TTL: 3600
- Eintragsname:
IONOS / OVH / Strato
- Gehen Sie zu DNS-Einstellungen
- Benutzerdefinierten Eintrag hinzufügen:
- Hostname:
_smtp._tls - Typ: TXT
- TTL: 3600
- Daten: Ihr generierter Eintragswert
- Hostname:
TLS-RPT-Berichte verstehen
Ein TLS-RPT-Bericht ist ein aggregiertes, gzip-komprimiertes JSON-Dokument, das die TLS-Sitzungen eines Betreibers zu Ihrer Domain über einen Tag zusammenfasst.
Anatomie eines Berichts
{
"organization-name": "Google Inc.",
"date-range": {
"start-datetime": "2024-01-15T00:00:00Z",
"end-datetime": "2024-01-16T00:00:00Z"
},
"contact-info": "postmaster@google.com",
"report-id": "2024011512345",
"policies": [{
"policy": {
"policy-type": "sts",
"policy-string": ["version: STSv1", "mode: enforce", "mx: mail.captaindns.com", "max_age: 604800"],
"policy-domain": "captaindns.com"
},
"summary": {
"total-successful-session-count": 8432,
"total-failure-session-count": 3
},
"failure-details": [{
"result-type": "certificate-expired",
"sending-mta-ip": "198.51.100.1",
"receiving-mx-hostname": "mail.captaindns.com",
"failed-session-count": 3
}]
}]
}
| Feld | Bedeutung |
|---|---|
organization-name | Name des Betreibers, der den Bericht ausstellt |
date-range | Abgedecktes Fenster im RFC-3339-Format (24 Stunden) |
contact-info | Kontakt des Ausstellers, oft eine postmaster-Adresse |
report-id | Eindeutige Kennung des Berichts |
policies[] | Bewertete Policies (MTA-STS, DANE oder keine) |
summary | Aggregierte Zähler über das Fenster |
total-successful-session-count | Erfolgreiche TLS-Sitzungen |
total-failure-session-count | Fehlgeschlagene TLS-Sitzungen |
failure-details[] | Detail pro Fehlertyp |
result-type | Genauer Grund des Fehlers |
sending-mta-ip | IP des Absenders, der die Verbindung versucht hat |
receiving-mx-hostname | Betroffener empfangender MX |
failed-session-count | Anzahl der von diesem Fehler betroffenen Sitzungen |
Die Fehlertypen (result-type)
Das IANA-Register definiert 11 mögliche Werte für result-type:
| result-type | Bedeutung |
|---|---|
starttls-not-supported | Der empfangende MX kündigt STARTTLS nicht an; die Sitzung bleibt im Klartext |
certificate-host-mismatch | Das präsentierte Zertifikat passt nicht zum Hostnamen des erwarteten MX |
certificate-expired | Das TLS-Zertifikat des Empfängers ist abgelaufen |
certificate-not-trusted | Das Zertifikat ist nicht von einer vertrauenswürdigen Stelle signiert (unvollständige Kette, selbstsigniert) |
validation-failure | Generischer TLS-Fehler, der nicht von den anderen Typen abgedeckt ist (Aushandlung, Protokoll) |
tlsa-invalid | Der DANE-TLSA-Eintrag passt nicht zum präsentierten Zertifikat |
dnssec-invalid | Die für DANE notwendige DNSSEC-Kette ist gebrochen oder fehlt |
dane-required | DANE war erforderlich, aber der Empfänger unterstützt es nicht korrekt |
sts-policy-fetch-error | Die MTA-STS-Policy konnte nicht abgerufen werden (HTTPS oder DNS) |
sts-policy-invalid | Die abgerufene MTA-STS-Policy ist fehlerhaft |
sts-webpki-invalid | Das Zertifikat besteht die von MTA-STS geforderte PKIX-Prüfung nicht |
Die Policy-Typen (policy-type)
Jede Sitzung wird einem der 3 policy-type zugeordnet:
| policy-type | Bedeutung |
|---|---|
sts | Die Sitzung wurde anhand einer MTA-STS-Policy bewertet |
tlsa | Die Sitzung wurde anhand von DANE bewertet (per DNSSEC validierte TLSA-Einträge) |
no-policy-found | Für die Domain wurde weder eine MTA-STS- noch eine DANE-Policy gefunden |
Transport und Kadenz
Alle Berichte sind gzip-komprimiert. Je nach Schema Ihrer rua gibt es zwei Zustellkanäle:
- HTTPS: Der Bericht wird per POST mit dem Header
Content-Type: application/tlsrpt+gzip(oderapplication/tlsrpt+json) gesendet. Der Endpunkt bestätigt den Empfang mit einem 2xx-Status. - E-Mail: Die Nachricht ist ein
multipart/report; report-type="tlsrpt"mit einem Anhangapplication/tlsrpt+gzip. Sie trägt die HeaderTLS-Report-DomainundTLS-Report-Submitter, einen Betreff der FormReport Domain: captaindns.com Submitter: google.com Report-ID: 2024011512345und ist mit dem Selektors=tlsrptper DKIM signiert.
Kadenz: Jeder sendende Betreiber sendet einen aggregierten Bericht pro Tag, der das Fenster 00:00 bis 24:00 UTC abdeckt. Schlägt die Zustellung fehl, wird bis zu 24 Stunden lang erneut versucht.
Wer die Berichte sendet
Die großen Betreiber stellen TLS-RPT-Berichte aus: Google, Microsoft und Yahoo tun dies systematisch; Apple und Comcast werden ebenfalls genannt. Jeder Betreiber erstellt seinen eigenen unabhängigen Bericht, Sie können also mehrere pro Tag erhalten, einen pro Absender.
TLS-RPT mit MTA-STS und DANE
TLS-RPT ist die Beobachtungsschleife von MTA-STS und DANE. Diese Protokolle erzwingen die Verschlüsselung; TLS-RPT zeigt Ihnen die Wirkung dieser Durchsetzung, vor wie nach dem Produktivstart.
Empfohlene Bereitstellungsreihenfolge
- TLS-RPT veröffentlichen und MTA-STS im
mode: testing - Die Berichte 2 bis 4 Wochen lang analysieren
- MTA-STS in den
mode: enforceumstellen - Die Überwachung über TLS-RPT fortsetzen
Ohne TLS-RPT in den Enforce-Modus zu wechseln bedeutet, blind voranzugehen: Bricht eine Policy die Zustellbarkeit, erfahren Sie es nur über die Beschwerden der Nutzer.
Verwandte Tools
Bewährte Praktiken und häufige Fallstricke
Bewährte Praktiken
- Richten Sie die
ruaauf ein dediziertes Postfach oder einen dedizierten Endpunkt, der das Volumen verarbeiten und das JSON parsen kann. Niemals ein menschliches Postfach: Die Berichte treffen täglich ein, als gzip-komprimiertes JSON, von jedem Betreiber. - Nutzen Sie ein Aggregationstool, um diese Berichte in auswertbare Trends zu verwandeln, statt sie einzeln zu öffnen.
Zu vermeidende Fallstricke
- Zwei TXT-Einträge bei
_smtp._tlsmachen die Konfiguration ungültig. Behalten Sie einen einzigen Eintrag mit einem einzigen Wert. - Kodieren Sie die Zeichen
,,!und;per Prozent-Encoding, wenn sie in einer URI vorkommen (etwa in einermailto:mit Parametern), sonst bricht das Parsen des Eintrags.
Konkrete Anwendungsfälle
Jedes der folgenden Szenarien spiegelt sich in einem genauen result-type in Ihren Berichten wider:
- Ein Backup-MX, der nie für TLS konfiguriert wurde:
starttls-not-supported. Sie erkennen es, bevor ein Angreifer es ausnutzt. - Das Zertifikat eines Partners ist abgelaufen:
certificate-expiredfür die betroffenen Sitzungen. - Ein MX präsentiert ein für den falschen Hostnamen ausgestelltes Zertifikat:
certificate-host-mismatch. - Ein aktives STARTTLS-Downgrade (Angriff im Netzwerk) lässt die verschlüsselten Sitzungen einbrechen: Spitze bei
starttls-not-supported. - Ihre eigene MTA-STS-Policy ist defekt oder nicht erreichbar:
sts-policy-fetch-errorodersts-policy-invalid, bevor sie legitime Post blockiert. - Ein falsch konfiguriertes DANE:
tlsa-invalid(TLSA, das nach einer Zertifikatsrotation nicht mehr passt) oderdnssec-invalid(gebrochene DNSSEC-Kette).
Ergänzende Tools
| Tool | Zweck |
|---|---|
| TLS-RPT Syntax Checker | Eintrag vor Veröffentlichung validieren |
| TLS-RPT Record Checker | Live-DNS-Konfiguration verifizieren |
| MTA-STS Generator | MTA-STS-Policy erstellen |
| MTA-STS Record Checker | MTA-STS-Bereitstellung verifizieren |
| E-Mail-Domain-Check | Vollständiges Authentifizierungs-Audit |
| DANE TLSA Checker | DANE TLSA Records prüfen (TLS-Sicherheit über DNSSEC) |
| TLS-RPT-Bericht Analysator | TLS-RPT-Berichte analysieren, die per E-Mail empfangen wurden |
| TLS-RPT-Monitoring | TLS-RPT-Berichte automatisch überwachen und analysieren |
| MTA-STS-Hosting | MTA-STS zusammen mit TLS-RPT bereitstellen, kostenlos gehostet |
Nützliche Ressourcen
- RFC 8460 - SMTP TLS Reporting (offizielle Spezifikation)
- RFC 8461 - MTA-STS (Begleitprotokoll)
- Google - TLS-Reporting konfigurieren
- Postfix - TLS-Dokumentation