Veraltete TLS-Versionen und schwache Cipher in Exim deaktivieren

Optimiere die SSL/TLS-Sicherheit deines Exim-Servers. Deaktiviere alte Protokolle und schwache Verschlüsselungscodes über tls_require_ciphers.

Stand: Juli 2026

Zusammenfassung: Um Sicherheitsrisiken durch veraltete TLS-Protokolle und schwache Verschlüsselungsverfahren (Cipher) zu beseitigen, muss die Konfiguration von Exim angepasst werden. Je nachdem, ob Exim mit OpenSSL oder GnuTLS betrieben wird, steuert die Option tls_require_ciphers die Härtung unterschiedlich.

Ein typisches Ergebnis von Sicherheitsanalysen mit Kuveris ist das Vorhandensein von schwachen Verschlüsselungen oder veralteten TLS-Protokollen (wie TLS 1.0 und TLS 1.1) auf E-Mail-Servern. Um die TLS-Verschlüsselung deines Exim-Servers zu härten, musst du gezielt festlegen, welche Protokolle und Cipher zulässig sind.

Steuerung unter OpenSSL (tls_require_ciphers)

Wenn dein Exim mit OpenSSL kompiliert wurde, steuert die Option tls_require_ciphers die Cipher-Suiten für ältere TLS-Versionen.

Die offizielle Spezifikation besagt hierzu: This specifies which ciphers are acceptable for TLS versions prior to 1.3.

In der OpenSSL-Syntax kannst du mit einem Ausrufezeichen (!) unerwünschte Cipher dauerhaft aus der Liste entfernen. Die Spezifikation erklärt dieses Detail: If ! is used, the ciphers are permanently deleted from the list. The ciphers deleted can never reappear in the list even if they are explicitly stated.

Das folgende Beispiel aus der Spezifikation bevorzugt ECDSA- gegenüber RSA-authentifizierten Cipher-Suiten und entfernt die nicht authentifizierten (anonymen) Verfahren:

tls_require_ciphers = ECDSA:RSA:!COMPLEMENTOFDEFAULT

Einschränkung bei TLS 1.3 unter OpenSSL

Es ist wichtig zu beachten, dass diese Option keinen Einfluss auf Verbindungen hat, die über den modernen Standard TLS 1.3 aufgebaut werden. Die Spezifikation stellt klar: For TLS version 1.3 the control available is less fine-grained and Exim does not provide access to it at present. The value of the tls_require_ciphers option is ignored when TLS version 1.3 is negotiated.

Bei TLS 1.3 vertraut Exim auf die vom OpenSSL-System standardmäßig ausgehandelten, ohnehin standardmäßig starken TLS 1.3-Cipher-Suiten.

Steuerung unter GnuTLS (Priority Strings)

Falls deine Exim-Installation stattdessen mit GnuTLS gebaut wurde, verhält sich die Option tls_require_ciphers anders.

Die Spezifikation erklärt: The tls_require_ciphers option is treated as the GnuTLS priority string and controls both protocols and ciphers.

Unter GnuTLS steuerst du mit diesem einen Parameter also sowohl die zugelassenen Cipher-Suiten als auch die Protokollversionen. Ein Beispiel zur Deaktivierung veralteter Versionen (wie SSL 3.0) lautet laut Dokumentation:

# Disable older versions of protocols
tls_require_ciphers = NORMAL:%LATEST_RECORD_VERSION:-VERS-SSL3.0

Hierbei wird der vordefinierte String NORMAL verwendet, gefolgt von spezifischen Abmilderungen (wie dem Ausschluss von SSL 3.0 via -VERS-SSL3.0).

Weitere Tuning-Optionen: Diffie-Hellman-Parameter

Für zusätzliche TLS-Härtungen kann es notwendig sein, Diffie-Hellman-Parameter anzupassen. Standardmäßig verwendet Exim intern DH-Parameter. Du kannst diese bei Bedarf deaktivieren, indem du Folgendes setzt:

tls_dhparam = none

Konfiguration prüfen

Nachdem du die TLS-Vorgaben in deiner Exim-Konfiguration (oft in /etc/exim/exim.conf) eingetragen hast, starte den Exim-Daemon neu. Prüfe die Konfiguration deines Mailservers anschließend mit dem kostenlosen Kuveris-Scanner, um zu verifizieren, dass schwache Verschlüsselungsprotokolle und Cipher-Suiten abgewiesen werden.

Weiterführende Links