Haben wir uns schon über MTA STS / RFC 8461 unterhalten? Nicht? Dann dann wird es aber Zeit 🙂

MTA STS ist ein RFC von Ende 2018. So kann man eine Policy veröffentlichen um anderen Mailservern mitzuteilen, dass man seine E-Mails bitte nur per TLS (also mit Transportverschlüsselung) erhalten möchte und an welchen MX…

Eine ganz nette Idee nur…. Wenn man keine E-Mail ohne Transportverschlüsselung erhalten möchte, dann könnte man ja einfach keine E-Mails ohne Transportverschlüsselung annehmen?!?!? Natürlich sagt man anderen Mailservern zusätzlich noch an welchen sie bitte die Mails zustellen sollen, das es eine Transportverschlüsselung geben muss und alles nur mit einem gültigen Zertifikat ablaufen kann.

Fehlt da nicht noch etwas? Klar reporting… Dazu gibt es im Moment ein RFC: SMTP TLS Reportingdraft-ietf-uta-smtp-tlsrpt-23

Ein einfaches Onlinetool zum Testen gibt es ebenfalls: MTA-STS validator

Was muss man dafür nun tun? Ohne Frage muss der eigene Mailserver sauber TLS sprechen… Dann wirfst man einen TXT RR in die jeweilige DNS Zone:

$ dig IN TXT _mta-sts.kernel-error.de +short
"v=STSv1;id=20190202111557Z;"

Die eigentliche Policy veröffentlich man nun per Webserver jeweils für die Zone unter: mta-sts.domain.tld https://mta-sts.kernel-error.de/.well-known/mta-sts.txt

Das Reporting lässt sich ebenfalls schnell per TXT RR in der DNS Zone einrichten:

$ dig IN TXT _smtp._tls.kernel-error.de +short
"v=TLSRPTv1;rua=mailto:postmaster@kernel-error.de"

Beides ist sehr schnell und einfach eingerichtet. Postfix selbst berücksichtigt dieses leider noch nicht. Es gibt natürlich schon eine Implementierung, welche ich persönlich noch nicht ganz glücklich finde. Wer schon mal schauen will: https://github.com/Snawoot/postfix-mta-sts-resolver

Fragen? Dann einfach mal fragen 🙂