STARTTLS in Exim aktivieren und konfigurieren

Erfahre, wie du STARTTLS in Exim aktivierst, Zertifikate einbindest und die Verschlüsselung für bestimmte Hoster erzwingst.

Stand: Juli 2026

Zusammenfassung: Die Transportverschlüsselung schützt den E-Mail-Verkehr vor dem Mitlesen. In Exim wird STARTTLS über die Option tls_advertise_hosts gesteuert. Zur erfolgreichen Aktivierung müssen zudem ein Zertifikat und ein privater Schlüssel hinterlegt werden, die für den Exim-Benutzer lesbar sind.

Wenn du einen E-Mail-Server auf Basis von Exim betreibst, ist die Absicherung der Verbindungen über TLS (Transport Layer Security) unerlässlich. Ein typischer Befund bei Sicherheits-Scannern wie Kuveris ist das Fehlen von STARTTLS. Um dies zu beheben, musst du die TLS-Unterstützung in Exim aktivieren und konfigurieren.

Voraussetzungen: Zertifikat und Schlüssel einbinden

Um TLS in Exim nutzen zu können, musst du zuerst ein SSL/TLS-Zertifikat und den dazugehörigen privaten Schlüssel auf dem Server hinterlegen und in der Exim-Konfiguration angeben.

Die offizielle Exim-Dokumentation besagt: To make TLS work you need to set, in the server, tls_certificate = /some/file/name tls_privatekey = /some/file/name

Für diese Zertifikats- und Schlüsseldateien gelten strenge Sicherheitsvorgaben: These files need to be PEM format and readable by the Exim user, and must always be given as full path names. The key must not be password-protected.

Das bedeutet:

Füge die Pfade in deine Exim-Konfiguration ein (z. B. unter /etc/exim/exim.conf):

tls_certificate = /etc/ssl/certs/mail.example.com.crt
tls_privatekey = /etc/ssl/private/mail.example.com.key

STARTTLS aktivieren mit tls_advertise_hosts

Nachdem das Zertifikat hinterlegt ist, steuerst du über die Option tls_advertise_hosts, welchen Gegenstellen STARTTLS angeboten wird.

Die Exim-Vorgabe hierzu lautet: To enable TLS operations on a server, the tls_advertise_hosts option must be set to match some hosts. The default is * which matches all hosts.

Und weiter: it advertises the availability of the STARTTLS command to client hosts that match tls_advertise_hosts, but not to any others. The default value of this option is *, which means that STARTTLS is always advertised. Set it to blank to never advertise

Um STARTTLS für alle Clients anzubieten, stelle sicher, dass folgende Zeile aktiv ist (dies entspricht dem Standardverhalten):

tls_advertise_hosts = *

Wenn du STARTTLS komplett deaktivieren möchtest (was aus Sicherheitsgründen nicht empfohlen wird), setzt du den Wert auf leer:

tls_advertise_hosts = 

TLS-on-Connect für Submission (Port 465) aktivieren

Neben STARTTLS (das eine unverschlüsselte Verbindung nachträglich verschlüsselt) unterstützt Exim auch direktes TLS ab dem Verbindungsaufbau (meist auf Port 465 genutzt).

Die Spezifikation erklärt hierzu: Exim supports TLS-on-connect by means of the tls_on_connect_ports global option. Its value must be a list of port numbers; the most common use is expected to be: tls_on_connect_ports = 465

Konfiguriere dies wie folgt in den globalen Einstellungen:

tls_on_connect_ports = 465

TLS für ausgehende E-Mails (smtp-Transport)

Wenn Exim E-Mails an andere Server sendet, versucht er standardmäßig immer eine verschlüsselte Verbindung aufzubauen, sofern die Gegenseite dies unterstützt.

Laut Dokumentation gilt: If Exim is built with TLS support, and TLS is advertised by a server, the smtp transport always tries to start a TLS session.

Es sind also standardmäßig keine zusätzlichen Optionen im smtp-Transport erforderlich, um ausgehendes opportunistisches TLS zu aktivieren.

Falls du für bestimmte Ziel-Domains oder Hoster eine Verschlüsselung zwingend vorschreiben möchtest (sodass E-Mails im Zweifel lieber zurückgehalten als unverschlüsselt übertragen werden), nutzt du die Option hosts_require_tls:

you can set hosts_require_tls to a list of hosts for which encryption is mandatory. For those hosts, delivery is always deferred if an encrypted connection cannot be set up.

Beispiel in deinem SMTP-Transport:

hosts_require_tls = secure.example.com : *.secure-mx.net

Konfiguration prüfen

Nachdem du die Konfiguration angepasst hast, musst du den Exim-Dienst neu starten oder neu laden. Prüfe anschließend deinen Mailserver mit dem kostenlosen Kuveris-Scanner, um sicherzustellen, dass STARTTLS auf Port 25 und TLS-on-Connect auf Port 465 einwandfrei funktionieren.

Weiterführende Links