Zum Inhalt springen
Toolbox

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

  1. TLS-RPT-Record anlegen, damit du Berichte bekommst.
  2. Policy-Datei mit mode: testing und allen MX-Hosts veröffentlichen, dazu den _mta-sts-Record.
  3. Einige Wochen Berichte auswerten.
  4. Auf mode: enforce umstellen und die id im 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.