Wir haben Postfix bereits so konfiguriert, dass wir Nachrichten vom Client aus über eine verschlüsselte Verbindung übermitteln. Nun können wir allerdings noch einen Schritt weitergehen und auch die Übertragung der Nachrichten zwischen unserem und dem Zielserver zu verschlüsseln, sofern der Zielserver dies unterstützt.

Das ganze ist Bestandteil einer SMTP-Protokollerweiterung (ESMTPS), die wir in Postfix ganz einfach aktivieren können. Hierzu müssen wir lediglich den Port security/ca_root_nss installieren, der eine ganze Reihe Root-Zertifkate installiert, und die Konfiguration von Postfix um ein paar wenige Zeilen ergänzen.

# cd /usr/ports/security/ca_root_nss/ && make install clean

Nach der Installation der Zertifikate tragen wir folgende Zeilen in die /usr/local/etc/postfix/main.cf ein:

smtp_tls_security_level = may
smtp_tls_loglevel = 1
smtp_tls_CAfile = /usr/local/share/certs/ca-root-nss.crt

Der Parameterwert "may" bewirkt, dass eine verschlüsselte Verbindung verwendet wird, wenn möglich. Der Pfad zum Zertifikatfile ist nach der Installation des obigen Ports vorgegeben. Diesen musst du nicht anpassen.

Sobald wir Postfix neu gestartet haben, können wir beispielsweise beim Versand von Nachrichten an Google folgendes in der /var/log/maillog entdecken:

postfix/smtp[22826]: Trusted TLS connection established to \
aspmx.l.google.com[173.194.70.27]:25: TLSv1 with cipher RC4-SHA (128/128 bits)