Was ist MTA-STS?
MTA-STS (Mail Transfer Agent Strict Transport Security, RFC 8461) legt fest, dass Mails an deine Domain nur über verschlüsselte, zertifikatsgeprüfte Verbindungen zugestellt werden dürfen. Ohne MTA-STS ist STARTTLS zwischen Mailservern opportunistisch: Der sendende Server versucht Verschlüsselung, fällt aber auf Klartext zurück, wenn sie nicht klappt. Ein Angreifer im Netzwerkpfad kann die STARTTLS-Ankündigung entfernen und die Mail unverschlüsselt mitlesen.
Mit einer MTA-STS-Policy im Modus enforce lehnt der sendende Server die Zustellung ab, wenn TLS fehlschlägt oder das Zertifikat des MX nicht zum Hostnamen passt. Google, Microsoft und andere große Anbieter werten MTA-STS beim Senden aus. Es ist der pragmatische Weg zu verpflichtender Transportverschlüsselung ohne DNSSEC, das DANE voraussetzen würde.
Die zwei Teile: DNS-Record und Policy-Datei
MTA-STS besteht aus einem TXT-Record und einer Textdatei. Der Record unter _mta-sts.beispiel.de signalisiert nur, dass eine Policy existiert, und trägt eine id, die bei jeder Änderung der Policy erhöht werden muss. Die Policy selbst liegt unter https://mta-sts.beispiel.de/.well-known/mta-sts.txt und muss über ein gültiges Zertifikat für genau diesen Hostnamen erreichbar sein.
_mta-sts.beispiel.de. IN TXT "v=STSv1; id=20250901T120000"
# https://mta-sts.beispiel.de/.well-known/mta-sts.txt
version: STSv1
mode: enforce
mx: mail.beispiel.de
mx: *.mx.beispiel.de
max_age: 604800So liest du das Ergebnis
Der Checker zeigt Record, Policy und den Abgleich mit den MX-Records:
- Modus enforce: Sender müssen TLS verwenden und das Zertifikat prüfen. Das Ziel.
- Modus testing: Sender melden Fehler per TLS-RPT, stellen aber trotzdem zu. Der richtige Start für die ersten Wochen.
- Modus none: Policy vorhanden, aber wirkungslos. Sinnvoll nur, um eine Policy geordnet zurückzuziehen.
- max_age: Wie lange Sender die Policy zwischenspeichern, in Sekunden. Mindestens ein Tag (86400), empfohlen eine bis vier Wochen.
- MX abgedeckt: Jeder MX-Host der Domain muss zu einem mx-Eintrag der Policy passen, entweder exakt oder über ein Wildcard-Muster wie *.mx.beispiel.de. Fehlt ein MX in der Policy, lehnen Sender im Modus enforce die Zustellung an diesen Server ab.
- TLS-RPT: Ohne Berichtsadresse erfährst du nie, ob Sender Probleme mit deiner Policy haben.
Häufige Fehler
- Policy-Datei nicht erreichbar: Der Hostname mta-sts.beispiel.de hat keinen A-Record, kein Zertifikat oder das Zertifikat deckt nur beispiel.de ab.
- Falscher Content-Type oder HTML statt Text: Die Datei muss als text/plain ausgeliefert werden, ohne Weiterleitung auf eine Login- oder Fehlerseite.
- id nicht erhöht: Nach einer Änderung der Policy lesen Sender die alte Version weiter, bis max_age abgelaufen ist.
- MX geändert, Policy nicht: Nach einem Wechsel des Mailanbieters passen die mx-Einträge nicht mehr. Im Modus enforce kommen dann keine Mails von Google und Microsoft mehr an.
- Direkt mit enforce gestartet: Ohne Testphase und TLS-RPT bleiben Konfigurationsfehler unbemerkt, bis Mails fehlen.
Einführung in drei Schritten
Erst den TLS-RPT-Record anlegen, dann die Policy im Modus testing mit kurzem max_age veröffentlichen und ein bis zwei Wochen Berichte lesen. Kommen keine Fehler, auf enforce wechseln und max_age auf eine oder mehrere Wochen erhöhen. Bei jedem Wechsel des Mailanbieters die Policy zuerst anpassen, dann die MX-Records.
MTA-STS dauerhaft überwachen
Eine MTA-STS-Policy im Modus enforce ist ein Versprechen an alle Sender. Läuft das Zertifikat der Policy-Seite ab oder ändert jemand die MX-Records ohne die Policy, bleiben Mails liegen. DomainWarn prüft Record, Policy-Datei und den Abgleich mit den MX-Records aller Kundendomains regelmäßig und meldet Abweichungen, bevor Sender die Zustellung verweigern.
Häufige Fragen
- Brauche ich MTA-STS, wenn ich Microsoft 365 oder Google Workspace nutze?
- Beide Anbieter unterstützen MTA-STS für eingehende Mails, richten es aber nicht automatisch für deine Domain ein. Du musst den DNS-Record und die Policy-Datei selbst veröffentlichen. Die mx-Einträge findest du in der Dokumentation des Anbieters.
- Was ist der Unterschied zwischen MTA-STS und DANE?
- Beide erzwingen TLS bei der Zustellung. DANE veröffentlicht Zertifikatsinformationen im DNS und setzt DNSSEC voraus. MTA-STS nutzt HTTPS und die normale Zertifikatsprüfung und kommt ohne DNSSEC aus. Beide lassen sich parallel betreiben.
- Wo hoste ich die Policy-Datei?
- Auf einem beliebigen Webserver oder CDN, der unter mta-sts.beispiel.de mit gültigem Zertifikat erreichbar ist. Ein statischer Host wie GitHub Pages, Cloudflare Pages oder ein kleiner Nginx reicht. Die Datei ändert sich selten.