blog.bartlweb - a technologist's external brain

SSL-Verbindung zwischen Postfix und einem externen SMTP-Server mithilfe von stunnel

Wer Postfix für den Versand seiner E-Mails so konfiguriert hat, dass dieser einen externen Server (Relayhost) zum Versand der Mails benutzt und diese Verbindung mittels SSL schützen möchte, muss zu einem Trick greifen. Postfix selbst unterstützt zwar TLS- aber keine SSL-Verbindungen. Abhilfe schafft stunnel, ein kleiner Zwischenserver der die verschlüsselte Kommunikation zwischen lokalem Postfix und externem SMTP-Server übernimmt.

Postfix konfigurierien

Passen Sie die Konfiguration von Postfix so an, dass der Relayhost auf die lokale Loopback-IP-Adresse und einen freien Port über 1024 (muss danach in stunnel konfiguriert werden) zeigt.

relayhost = [127.0.0.1]:11127

Sollte der externe Mailserver eine Authentifizierung verlangen, vergessen Sie nicht die Password-Map für den Konfigurationsparameter smtp_sasl_password_maps neu zu erstellen und dabei die Adresse des lokalen Servers anzugeben. Nähere Infos dazu sind in meinem Artikel SMTP Relay Host mit Authentifizierung in Postfix konfigurieren zu finden.

stunnel installieren und konfigurieren

Installieren Sie stunnel. Auf einem Ubuntu-System passiert dies mit dem folgenden Befehl.

apt-get install stunnel

Jetzt können wir stunnel so konfigurieren, dass es automatisch bei jedem Systemstart gestartet wird. Bearbeiten Sie dazu die Datei /etc/default/stunnel4 und setzen Sie den Wert

ENABLED = 0

auf

ENABLED = 1

Als Nächstes müssen wir stunnel konfigurieren. Erstellen oder Ersetzen Sie dazu die Datei /etc/stunnel/stunnel.conf mit folgendem Inhalt:

client = yes
chroot = /var/lib/stunnel4/
setuid = stunnel4
setgid = stunnel4
pid = /stunnel4.pid
socket = l:TCP_NODELAY=1
socket = r:TCP_NODELAY=1
 
[ssmtp]
accept = 11127
connect = mailserver.example.com:465

Setzen Sie die Portnummer accept=11127 auf die zuerst in der Postfix-Konfiguration gewählte Portnummer. Ersetzen Sie die Adresse und die Portnummer des externen Servers unter connect = mailserver.example.com:465.

Konfiguration testen

Über den Befehl mail yourmail@address.com können Sie nach einem Neustart der beiden Dienste stunnel und Postfix eine Mail über Postfix senden, um die Konfiguration zu testen.

Dieser Artikel hat dir deinen Tag gerettet?
... und mühevolles Probieren, Recherchieren und damit Stunden an Zeit gespart? ... oder einfach nur dein Problem gelöst?

Dann würde ich mich freuen, wenn Du meine Zeit für die Erstellung dieses Blogartikels mit einer kleinen Spende honorierst:

Kommentare

Noch kein Kommentar vorhanden.
Sei der Erste - ich freue mich über deine Anmerkungen, Kritik und Fragen.

Kommentar schreiben

Deine E-Mailadresse wird nur für Benachrichtigungen und Rückfragen verwendet und wird nicht veröffentlicht.

Benachrichtigungen können jederzeit wieder abbestellt werden.

Bitte tippe die Zahlenkombination "3855" ein, nur dann kann ich deinen Kommentar entgegennehmen.

Bitte fülle dieses Feld nicht aus, nur dann kann ich deinen Kommentar entgegennehmen.