23 Jahre aus Stockholm
Operator-Notizen · Aus dem Stockholm-Büro

TLS für SMTP — Transport-Verschlüsselung für ausgehende E-Mail aktualisieren

TLS für SMTP ist Standard-Empfehlung, aber Konfigurations-Qualität variiert stark. Für DACH-Operationen mit DSGVO sind diese Aspekte nicht optional.

TLS für SMTP — Transport Layer Security zur Verschlüsselung der SMTP-Kommunikation — ist seit Jahren Standard-Empfehlung, aber die Konfigurations-Qualität variiert stark. Für DACH-Operationen mit DSGVO-Anforderungen sind diese Aspekte nicht optional.

TLS-Modi für SMTP

Implicit TLS (SMTPS, Port 465)

Verbindung wird sofort verschlüsselt — TLS-Handshake ist erster Schritt nach TCP-Verbindungsaufbau. Seit RFC 8314 (2018) ist Port 465 wieder offiziell für SMTPS-Submission.

STARTTLS (Port 587 oder 25)

Verbindung startet unverschlüsselt. Klient sendet STARTTLS-Befehl, dann TLS-Handshake. Vorteil: gleicher Port für TLS und Non-TLS, Fallback möglich. Nachteil: kurze unverschlüsselte Phase, theoretisch angreifbar (STRIPTLS-Attacks).

Welcher Modus wann?

Empfehlung 2026:

  • Submission (Anwendung → Ihr SMTP-Relay): Implicit TLS auf Port 465 oder STARTTLS auf Port 587. Beide sicher bei korrekter Konfiguration.
  • Relay (Ihr SMTP-Server → Empfänger-MTA): Port 25 mit Opportunistic STARTTLS. Für strikte Erzwingung MTA-STS.

TLS-Versionen — was 2026 akzeptabel ist

  • TLS 1.3 (RFC 8446, 2018): aktueller Standard, beste Sicherheit und Performance
  • TLS 1.2 (RFC 5246, 2008): weiterhin akzeptabel, breite Unterstützung
  • TLS 1.1 (RFC 4346, 2006): deprecated, RFC 8996 markiert als obsolet
  • TLS 1.0: deprecated
  • SSL 3.0: stark unsicher (POODLE-Attack)

Cipher Suites für 2026

# Postfix-Konfiguration
smtpd_tls_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1
smtpd_tls_mandatory_protocols = !SSLv2, !SSLv3, !TLSv1, !TLSv1.1

smtpd_tls_mandatory_ciphers = high
smtpd_tls_ciphers = high

smtpd_tls_exclude_ciphers = 
    aNULL, eNULL, EXPORT, DES, 3DES, RC4, MD5, PSK, SRP

# Für maximale Sicherheit: explizite Cipher-Liste
smtpd_tls_high_cipherlist = 
    ECDHE-ECDSA-AES256-GCM-SHA384:
    ECDHE-RSA-AES256-GCM-SHA384:
    ECDHE-ECDSA-CHACHA20-POLY1305:
    ECDHE-RSA-CHACHA20-POLY1305:
    ECDHE-ECDSA-AES128-GCM-SHA256:
    ECDHE-RSA-AES128-GCM-SHA256

Certificate-Konfiguration

Let's Encrypt (kostenfrei)

ACME-basierte automatische Zertifikat-Verwaltung. 90 Tage Gültigkeit, automatische Erneuerung via certbot.

# Initial certbot
certbot certonly --standalone \
    -d mta1.ihr-unternehmen.de \
    --non-interactive \
    --agree-tos \
    --email admin@ihr-unternehmen.de

# Postfix-Konfiguration
smtpd_tls_cert_file = /etc/letsencrypt/live/mta1.ihr-unternehmen.de/fullchain.pem
smtpd_tls_key_file = /etc/letsencrypt/live/mta1.ihr-unternehmen.de/privkey.pem

# Auto-Renewal
0 3 * * * certbot renew --quiet --post-hook "systemctl reload postfix"

Kommerzielle Zertifikate

Für regulierte Branchen oder spezifische Compliance-Anforderungen (BAIT, VAIT). Anbieter: D-Trust, GlobalSign, DigiCert.

MTA-STS — strikte TLS-Erzwingung

MTA-STS (RFC 8461) zwingt Empfänger-Server, TLS zu nutzen — ohne Fallback auf Klartext. Schutz vor STRIPTLS-Attacks.

# 1. DNS-Eintrag
_mta-sts.ihr-unternehmen.de. IN TXT "v=STSv1; id=20260101000000Z"

# 2. HTTPS-Endpoint
https://mta-sts.ihr-unternehmen.de/.well-known/mta-sts.txt

version: STSv1
mode: enforce          # oder testing für Übergangsphase
mx: mta1.ihr-unternehmen.de
mx: mta2.ihr-unternehmen.de
max_age: 604800        # 7 Tage Cache

Wichtig: MTA-STS-Modus zunächst auf testing für 2-4 Wochen, dann erst auf enforce.

SMTP TLS Reporting (TLS-RPT)

_smtp._tls.ihr-unternehmen.de. IN TXT "v=TLSRPTv1; rua=mailto:tls-reports@ihr-unternehmen.de"

Empfänger-Server senden tägliche Berichte über TLS-Erfolg/Fehler beim Versand.

DANE — DNS-basierte TLS-Authentifizierung

DANE (RFC 7672) — alternative Methode für Certificate-Validation. Voraussetzung: DNSSEC.

# DNSSEC aktiviert, dann TLSA-Record
_25._tcp.mta1.ihr-unternehmen.de. IN TLSA 3 1 1 [SHA-256-Fingerprint des Public Keys]

Microsoft und Yahoo nutzen DANE, Gmail nicht. Für DACH-Setups mit hohem Microsoft-Anteil sinnvoll.

TLS-Konfiguration testen

  • checktls.com: kostenfreier Online-Test
  • internet.nl: umfassender Test (NL Government), prüft auch DKIM, DMARC, MTA-STS, DANE
  • testssl.sh: Open-Source-Tool für tiefe TLS-Analyse
git clone https://github.com/drwetter/testssl.sh.git
cd testssl.sh
./testssl.sh -t smtp mta1.ihr-unternehmen.de:25
./testssl.sh --starttls smtp mta1.ihr-unternehmen.de:587

Häufige TLS-Konfigurations-Fehler

Fehler 1: Veraltete Protokolle aktiviert. TLS 1.0/1.1 noch aktiviert "wegen Kompatibilität".

Fehler 2: Schwache Ciphers. RC4, 3DES, MD5-basiert.

Fehler 3: Self-signed Certificates.

Fehler 4: Zertifikat ungültig (abgelaufen). Monitoring mit Alerts vor Ablauf.

Fehler 5: MTA-STS aktiviert ohne korrekte Konfiguration.

TLS-Konfiguration für Ihre Versand-Infrastruktur prüfen?

Wir prüfen TLS-Versionen, Ciphers, Zertifikate, MTA-STS und schlagen Verbesserungen vor.