STARTTLS in Sendmail aktivieren und konfigurieren
Aktiviere STARTTLS in Sendmail und sichere Verbindungen ab. Lerne, wie du Zertifikate einbindest, Verschlüsselung erzwingst und Cipher konfigurierst.
Stand: Juli 2026
Zusammenfassung: Die Transportverschlüsselung via STARTTLS lässt sich in Sendmail aktivieren, indem Zertifikat und Schlüssel in der
.mc-Konfigurationsdatei definiert werden. Über die Access-Datenbank können Regeln zur Verifikation und Härtung erzwungen sowie fehlerhafte TLS-Implementierungen von Partner-Servern gezielt umgangen werden.
Wenn du einen E-Mail-Server mit Sendmail betreibst und Scanner wie Kuveris bemängeln, dass STARTTLS fehlt, musst du die Transportverschlüsselung aktivieren. Sendmail bietet standardmäßig eine flexible Schnittstelle für SSL/TLS, die jedoch manuell konfiguriert werden muss.
STARTTLS-Variablen in Sendmail aktivieren
Damit Sendmail STARTTLS-Verbindungen anbietet und verarbeitet, müssen mindestens die Variablen für die CA, das Serverzertifikat und den privaten Schlüssel in der Konfigurationsdatei (oft .mc-Datei wie sendmail.mc) definiert werden.
Laut der offiziellen Dokumentation müssen dafür mindestens die folgenden Variablen gesetzt werden (Dateinamen und Pfade sind nur Beispiele). Trage sie in deine .mc-Datei ein:
define(`confCACERT_PATH', `/etc/mail/certs/')
define(`confCACERT', `/etc/mail/certs/CA.cert.pem')
define(`confSERVER_CERT', `/etc/mail/certs/my.cert.pem')
define(`confSERVER_KEY', `/etc/mail/certs/my.key.pem')
Generiere nach den Änderungen die sendmail.cf-Datei neu (z. B. via make -C /etc/mail oder m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf) und lade den Sendmail-Dienst neu.
Funktionsweise der Variablen
Hinter den oben konfigurierten Makros stehen die internen Sendmail-Optionen:
- ServerCertFile und ServerKeyFile:
ServerCertFile [no short name] File containing the certificate of the server, i.e., this certificate is used when sendmail acts as server (used for STARTTLS). ServerKeyFile [no short name] File containing the private key belonging to the server certificate (used for STARTTLS). - CACERTPath und CACERTFile:
CACERTPath [no short name] Path to directory with certificates of CAs. This directory directory must contain the hashes of each CA certificate as filenames (or as links to them). CACERTFile [no short name] File containing one or more CA certificates; see section about STARTTLS for more information.
Das Standardverhalten für den Mailversand und -empfang ist opportunistisch ausgelegt:
By default STARTTLS is used whenever possible.
Verschlüsselung und Zertifikate erzwingen
Um zu entscheiden, ob eine SMTP-Verbindung akzeptiert wird, nutzt Sendmail Regelsätze:
The rulesets tls_server, tls_client, and tls_rcpt are used to decide whether an SMTP connection is accepted (or should continue).
Über die Access-Map (meist in /etc/mail/access) kannst du detaillierte Regeln festlegen. Folgende Optionen stehen rechtsseitig (RHS) in der Datenbank zur Verfügung:
VERIFY verification must have succeeded VERIFY:bits verification must have succeeded and ${cipher_bits} must be greater than or equal bits. ENCR:bits ${cipher_bits} must be greater than or equal bits.
Beachte dabei:
requiring that e-mail is sent to a server only encrypted, e.g., via TLS_Srv:secure.domain ENCR:112 doesn't necessarily mean that e-mail sent to that domain is encrypted.
Bei der Empfängerprüfung (tls_rcpt) gilt folgendes Lookup-Verhalten:
A recipient address user@domain is looked up in the access map in four formats: TLS_Rcpt:user@domain, TLS_Rcpt:user@, TLS_Rcpt:domain, and TLS_Rcpt:; the first match is taken.
Beispiel für erzwungene Regeln
Hier ist ein kombiniertes Beispiel für deine Access-Map, das Verschlüsselungsanforderungen pro Ziel und pro Empfänger festlegt:
TLS_Srv:secure.example.com ENCR:112
TLS_Clt:laptop.example.com PERM+VERIFY:112
TLS_Rcpt:darth@endmail.org ENCR:112+CN:smtp.endmail.org
Problemumgehung: STARTTLS für fehlerhafte Server deaktivieren
Manchmal gibt es Gegenstellen, die STARTTLS zwar anbieten, deren TLS-Implementierung jedoch fehlerhaft ist. In diesem Fall kann der Versand fehlschlagen. Sendmail ermöglicht es dir, STARTTLS für diese spezifischen Hoster abzuschalten:
Try_TLS:broken.server NO Srv_Features:my.domain v Srv_Features: V will turn off STARTTLS when sending to broken.server (or any host in that domain), and request a client certificate during the TLS handshake only for hosts in my.domain.
Beispiel in der /etc/mail/access-Datei:
Try_TLS:broken.server NO
TLS Härtung: Protokolle und Cipher einschränken
Um die Verschlüsselung weiter abzusichern und schwache Verschlüsselungsmethoden zu verbieten, stellt Sendmail Konfigurationsparameter bereit.
Über die Option CipherList definierst du die zulässigen Cipher:
The option CipherList sets the list of ciphers for STARTTLS. See ciphers(1) for possible values.
Über die Optionen ServerSSLOptions und ClientSSLOptions lassen sich OpenSSL-Optionen für die Server- bzw. Client-Seite setzen:
The options ServerSSLOptions and ClientSSLOptions can be used to set SSL options for the server and client side respectively. See SSL_CTX_set_options(3) for a list. Note: this change turns on SSL_OP_NO_SSLv2 and SSL_OP_NO_TICKET for the client.
Wie der Hinweis am Ende dieses Zitats zeigt, aktivieren aktuelle Sendmail-Versionen SSL_OP_NO_SSLv2 für die Client-Seite bereits standardmäßig. Konkrete OpenSSL-Optionswerte solltest du der Dokumentation deiner Sendmail-Version entnehmen.
TLS-Zustand überprüfen
Wenn alles richtig eingerichtet ist, hinterlässt Sendmail einen entsprechenden Hinweis im Header empfangener E-Mails:
The Received: header reveals whether STARTTLS has been used. It contains an extra line: (version= ${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify}
Führe nach jeder Änderung einen Test mit dem kostenlosen Kuveris-Scanner durch, um zu prüfen, ob dein Sendmail-Server STARTTLS korrekt anbietet.
Weiterführende Links
- Sendmail Installation & Operations Guide (abgerufen: 18. Juli 2026)
- Sendmail cf/README — STARTTLS section (abgerufen: 18. Juli 2026)
- Sendmail Release Notes (abgerufen: 18. Juli 2026)
- RFC 2487 — SMTP Service Extension for Secure SMTP over TLS (abgerufen: 18. Juli 2026)