MTA-STS und TLS-RPT
Der Check prüft MTA-STS-Record, Policy-Datei und MX-Abdeckung deiner Domain sowie den TLS-RPT-Record für Berichte über Zustellprobleme.
Mailserver verschlüsseln die Verbindung untereinander meist per STARTTLS. Ohne weitere Maßnahmen ist das aber freiwillig: Ein Angreifer im Netz kann STARTTLS unterdrücken, und die Mail geht unverschlüsselt durch. MTA-STS verhindert das. Deine Domain veröffentlicht damit eine Policy, die sendenden Servern sagt: Stell nur per gültigem TLS an diese Mailserver zu. TLS-RPT ergänzt das um Berichte, wenn eine Zustellung an TLS scheitert.
Das Werkzeug MTA-STS und TLS-RPT in der Kategorie Mail prüft beides. Es braucht eine Lizenz.
Wie MTA-STS aufgebaut ist
MTA-STS besteht aus zwei Teilen:
| Teil | Ort | Beispiel |
|---|---|---|
| TXT-Record | _mta-sts.<domain> |
v=STSv1; id=20260115 |
| Policy-Datei | https://mta-sts.<domain>/.well-known/mta-sts.txt |
siehe unten |
Die Policy-Datei sieht etwa so aus:
version: STSv1
mode: enforce
mx: mail.beispiel.de
mx: *.beispiel-backup.de
max_age: 604800
Die id im TXT-Record muss sich bei jeder Änderung der Policy-Datei ändern, sonst bemerken Absender die neue Policy nicht.
So prüfst du
Gib die Domain ein und klick Prüfen. Die App fragt die beiden TXT-Records und die MX-Records ab, lädt die Policy-Datei und vergleicht sie mit den tatsächlichen Mailservern. Die Tabelle Records zeigt die gefundenen TXT-Records, MTA-STS-Policy die Felder der Policy-Datei. Die vollständige HTTP-Antwort steht unter Rohdaten.
Befunde zu MTA-STS
| Befund | Bedeutung und was zu tun ist |
|---|---|
| Kein MTA-STS | Warnung: TLS zwischen Mailservern lässt sich abschalten. Record und Policy-Datei anlegen. |
| MTA-STS-Record ohne gültige id | id= muss 1 bis 32 Buchstaben oder Ziffern enthalten. |
| Policy liefert HTTP … | Die Datei muss ohne Umleitung mit Status 200 erreichbar sein. Die App folgt bewusst keiner Weiterleitung. |
| Policy: keine Antwort nach 10 s | Webserver für mta-sts.<domain> fehlt oder antwortet nicht. Er braucht ein gültiges Zertifikat für genau diesen Namen. |
| Content-Type „…“ | Die Datei muss als text/plain ausgeliefert werden. |
| Policy: version muss „STSv1“ sein | Erste Zeile korrigieren. |
| Policy: mode muss enforce, testing oder none sein | Feld mode korrigieren. |
| Policy: max_age … | Fehlt, keine Zahl oder über einem Jahr ist ein Fehler. Unter einem Tag gibt es eine Warnung; empfohlen sind Wochen, etwa 604800. |
| Policy: Keine mx-Zeile | In den Modi enforce und testing Pflicht. |
| Modus „enforce“ | In Ordnung: Zustellung nur per gültigem TLS. |
| Modus „testing“ | Warnung: Fehler werden nur gemeldet, nicht verhindert. Nach der Testphase auf enforce stellen. |
| Modus „none“ | MTA-STS ist abgeschaltet. |
| MX … fehlt in der Policy | Ein Mailserver der Domain passt auf keine mx-Zeile. Absender mit MTA-STS stellen an diesen Server nicht zu. Im Modus enforce ist das ein Fehler. |
Ein Platzhalter wie *.beispiel.de deckt genau ein Label ab, also mx1.beispiel.de, aber nicht a.mx.beispiel.de.
Befunde zu TLS-RPT
Der TLS-RPT-Record steht unter _smtp._tls.<domain>, etwa v=TLSRPTv1; rua=mailto:tls-reports@beispiel.de.
| Befund | Bedeutung |
|---|---|
| Kein TLS-RPT | Hinweis: Du erfährst nicht, wenn Absender wegen TLS-Problemen nicht zustellen können. |
| TLS-RPT-Berichte an … | In Ordnung. |
| TLS-RPT ohne rua | rua= fehlt und nennt, wohin Berichte gehen. |
| TLS-RPT: ungültiges Ziel | Erlaubt sind nur mailto: und https:. |
Reihenfolge beim Einrichten
- TLS-RPT-Record anlegen, damit du Berichte bekommst.
- Policy-Datei mit
mode: testingund allen MX-Hosts veröffentlichen, dazu den_mta-sts-Record. - Einige Wochen Berichte auswerten.
- Auf
mode: enforceumstellen und dieidim TXT-Record ändern.
Mit dem SMTP-Test prüfst du vorher, ob jeder Mailserver STARTTLS mit einem gültigen Zertifikat anbietet. Sonst stellen Absender mit enforce an ihn nicht mehr zu.
Im Browser
In der Web-Version verhindert CORS meist den Abruf der Policy-Datei. Die App meldet das als Hinweis. Die Desktop-App prüft die Datei vollständig.