{
"$type": "site.standard.document",
"bskyPostRef": {
"cid": "bafyreidj267vzk4cl4vjrz7pxh2gut4zlwmwnbybtsinixgfqwe2szyzky",
"uri": "at://did:plc:nkxz2ojdvmieg2nhphvputvp/app.bsky.feed.post/3mmlrxlsv6vt2"
},
"coverImage": {
"$type": "blob",
"ref": {
"$link": "bafkreiee4fv3y34at3xiegiasccny4m2q7av5e5fyqi6oy2gj6ptx2rtfq"
},
"mimeType": "image/png",
"size": 1048166
},
"description": "MTA-STS (RFC 8461) zwingt Mailserver zu verschluesselter Uebertragung. Konfiguration: DNS TXT-Record, Policy-Hosting, optionale TLS-Reports. Start im testing-Modus, dann auf enforce schalten. Pragmatischer als DANE.",
"path": "/2019/03/08/smtp-mta-strict-transport-security-mta-sts/",
"publishedAt": "2026-05-24T10:46:49.000Z",
"site": "https://www.kernel-error.de",
"tags": [
"DNSSEC",
"Email",
"Hardening",
"InfoSec",
"MailServer",
"MTASTS",
"Networking",
"Postfix",
"Security",
"TLS",
"RFC 8461",
"DANE",
"DMARC",
"RFC 8460",
"postfix-mta-sts-resolver",
"internet.nl: Mailserver-Sicherheit testen mit dem niederländischen Standard",
"TLS 1.3 für Postfix & Dovecot: Einrichtung und Konfiguration",
"internet.nl verschärft die TLS-Anforderungen für Mailserver",
"SPF",
"DKIM",
"Einfach melden."
],
"textContent": "SMTP überträgt E-Mails standardmäßig im Klartext. Mit STARTTLS lässt sich die Verbindung verschlüsseln, aber kein sendender Server ist gezwungen das auch zu tun. Schlimmer noch: Ein Angreifer im Netzwerk kann die STARTTLS-Antwort einfach unterdrücken und die Verbindung bleibt unverschlüsselt. MTA-STS (RFC 8461) löst dieses Problem: Der Empfänger veröffentlicht eine Policy, die sendenden Servern sagt „hier wird nur verschlüsselt zugestellt, mit gültigem Zertifikat, an genau diesen MX“.\n\n### MTA-STS vs. DANE\n\nEs gibt zwei Wege, Transportverschlüsselung für E-Mail zu erzwingen: DANE und MTA-STS. DANE nutzt DNSSEC und TLSA-Records im DNS. Das ist technisch sauberer, setzt aber DNSSEC auf der Empfängerseite voraus. Viele große Provider (Google, Microsoft) haben kein DNSSEC. MTA-STS funktioniert ohne DNSSEC: Die Policy liegt als Textdatei auf einem Webserver, abgesichert durch ein normales TLS-Zertifikat. Wer beides kann, sollte beides einsetzen. DANE für die Server die DNSSEC können, MTA-STS für den Rest.\n\n### Die drei Komponenten\n\nMTA-STS besteht aus drei Teilen: einem DNS-Record, einer Policy-Datei auf einem Webserver und optional TLS Reporting.\n\n### 1. DNS TXT-Record\n\nEin TXT-Record unter `_mta-sts.domain.de` signalisiert, dass eine Policy existiert:\n\n\n _mta-sts.kernel-error.de. IN TXT \"v=STSv1;id=20260115130000Z;\"\n\nDie `id` ist ein beliebiger String. Sendende Server cachen die Policy und prüfen über die ID ob sich etwas geändert hat. Bei jeder Policy-Änderung muss die ID aktualisiert werden. Ich verwende dafür einen Zeitstempel, das macht es nachvollziehbar.\n\n### 2. Policy-Datei\n\nDie eigentliche Policy liegt unter `https://mta-sts.domain.de/.well-known/mta-sts.txt`. Wichtig: Der Webserver muss ein gültiges TLS-Zertifikat haben und unter genau diesem Hostnamen erreichbar sein.\n\n\n version: STSv1\n mode: enforce\n mx: smtp.kernel-error.de\n max_age: 2419200\n\n**`mode`**| `enforce` = nur verschlüsselt zustellen. `testing` = wie enforce, aber bei Fehlern trotzdem zustellen (gut zum Einstieg). `none` = Policy deaktiviert.\n---|---\n**`mx`**| An welche MX-Server zugestellt werden darf. Mehrere Einträge möglich (je eine Zeile). Wildcards gehen: `*.kernel-error.de`\n**`max_age`**| Wie lange die Policy gecacht wird, in Sekunden. 2419200 = 28 Tage.\n\nDer empfohlene Weg: Mit `mode: testing` anfangen und die TLS-Reports auswerten. Wenn alles sauber ist, auf `enforce` umstellen.\n\n### 3. TLS Reporting\n\nWie bei DMARC gibt es auch für MTA-STS ein Reporting-System: SMTP TLS Reporting (RFC 8460). Ein weiterer DNS TXT-Record teilt Absendern mit, wohin sie Berichte über TLS-Verbindungsprobleme schicken sollen:\n\n\n _smtp._tls.kernel-error.de. IN TXT \"v=TLSRPTv1;rua=mailto:postmaster@kernel-error.de\"\n\nDie Reports kommen als JSON per Mail und enthalten Informationen über fehlgeschlagene TLS-Verbindungen, ungültige Zertifikate oder MX-Mismatches. Google und Microsoft schicken diese Reports zuverlässig.\n\n### Postfix und MTA-STS\n\nPostfix prüft von Haus aus keine MTA-STS-Policies. Für die ausgehende Seite braucht es postfix-mta-sts-resolver, ein Policy-Daemon der sich als `smtp_tls_policy_maps` in Postfix einhängt. Der Daemon cached die Policies und liefert Postfix die passende TLS-Konfiguration pro Zieldomain.\n\n\n # /usr/local/etc/postfix/main.cf\n smtp_tls_policy_maps = socketmap:unix:/var/run/mta-sts-daemon/mta-sts-daemon.sock:postfix\n\nDie eingehende Seite braucht keine Software. Die drei DNS-Records und die Policy-Datei auf dem Webserver reichen aus. Sendende Server wie Gmail, Outlook oder Yahoo werten die Policy selbständig aus.\n\n### Testen\n\n\n # DNS-Records prüfen\n dig TXT _mta-sts.kernel-error.de +short\n dig TXT _smtp._tls.kernel-error.de +short\n\n # Policy abrufen\n curl https://mta-sts.kernel-error.de/.well-known/mta-sts.txt\n\nSiehe auch: internet.nl: Mailserver-Sicherheit testen mit dem niederländischen Standard, TLS 1.3 für Postfix & Dovecot: Einrichtung und Konfiguration, internet.nl verschärft die TLS-Anforderungen für Mailserver\n\nZusammen mit SPF, DKIM, DMARC und DANE ergibt MTA-STS eine lückenlose Absicherung: Authentifizierung (wer darf senden), Integrität (DKIM-Signatur) und Transportverschlüsselung (DANE/MTA-STS). Fragen? Einfach melden.",
"title": "MTA-STS einrichten: Transportverschlüsselung für E-Mail erzwingen"
}