Das Problem mit erzwungener Verschlüsselung
MTA-STS und DANE haben eine unangenehme Eigenschaft: Sie wirken, indem sie Zustellungen verhindern. Stimmt etwas mit deinem Zertifikat nicht, bricht der sendende Server ab — richtigerweise, denn genau dafür ist die Policy da. Nur erfährst du davon nichts. Der Absender sieht einen Bounce, du siehst gar nichts, und weil die Nachricht deinen Server nie erreicht hat, steht auch in deinem Log nichts.
Genau diese Lücke schließt TLS-RPT (RFC 8460). Der Record ist eine Einladung an alle sendenden Server: „Wenn ihr mir nicht verschlüsselt zustellen konntet, sagt mir bitte Bescheid." Der Record ist eine einzige Zeile:
Was AnalyzeMy.Email prüft
- Vorhandensein des TXT-Records unter
_smtp._tls.<domain> - Gültige Version —
v=TLSRPTv1muss das erste Tag sein - Empfangsziel aus
rua=— zulässig sindmailto:undhttps:, auch mehrere durch Komma getrennt - Zusammenhang mit der Policy — der Record wird zusammen mit MTA-STS und DANE ausgewertet, weil er ohne die beiden wenig Sinn ergibt und mit ihnen dringend nötig ist
Was in den Reports steht
Reports kommen als gzip-komprimiertes JSON, in der Regel einmal täglich je sendender Organisation. Interessant sind drei Angaben:
- Policy-Typ —
sts,tlsaoderno-policy-found. Steht dort dauerhaftno-policy-found, obwohl du MTA-STS eingerichtet hast, wird deine Policy-Datei nicht gefunden. - Erfolgs- und Fehlerzähler je Absender-Organisation. Ein einzelner Fehler ist Rauschen, ein anhaltendes Verhältnis ist ein Befund.
- Fehlertyp — die eigentliche Diagnose:
starttls-not-supported,certificate-expired,certificate-host-mismatch,validation-failureodersts-policy-fetch-error.
Damit lässt sich der typische Ausfall zuordnen, für den es sonst keine Spur gäbe: Ein Backup-MX, dessen Zertifikat abgelaufen ist und den niemand testet, weil er nur bei Ausfall des primären benutzt wird.
Empfehlungen
- Vor der Verschärfung einrichten. TLS-RPT gehört vor den Wechsel von
testingaufenforce— sonst schaltest du blind scharf. - Eigene Adresse verwenden, nicht das allgemeine Postfach. Die Reports sind maschinenlesbar und in der Rohform unlesbar.
- Auf einer Domain empfangen, die weiterhin erreichbar ist. Kommt der Report an dieselbe Domain, die gerade nicht zustellbar ist, hebelt sich der Rückkanal selbst aus.
- Auch ohne MTA-STS sinnvoll: Der Record kostet nichts und zeigt, wie viel deiner eingehenden Post überhaupt verschlüsselt ankommt.