Postfix mit TLS erweitern
Aus aktuellem Anlass ist es nun höchste Zeit, Submission idealerweise mit TLS (optional) zu aktivieren.
Folgendes Mini HowTo zeigt die Vorgehensweise unter Debian Lenny mit einem selbst signierten Zertifikat
Als erstes sollte – sofern notwendig – “submission” freigeschaltet werden. Dazu müssen folgende Zeilen in der master.cf einkommentiert werden:
/etc/postfix/master.cf
submission inet n - - - - smtpd -o smtpd_enforce_tls=no -o smtpd_sasl_auth_enable=yes -o smtpd_client_restrictions=permit_sasl_authenticated,reject
Danach legen wir einen neuen Ordner für die benötigten Zertifikate an:
mkdir /etc/postfix/ssl cd /etc/postfix/ssl
Nun können wir einen privaten RSA Key generieren (2048 Bit)
openssl genrsa -out smtp.key 2048
Weiter gehts mit dem CSR (Certificate Signing Request)
openssl req -new -key smtp.key -out smtp.csr
Die entsprechenden Angaben sollten mehr oder weniger seriös ausgefüllt werden. Funktionsbezogen ist allerdings nur der CN (Common Name). Hier muss der Hostname des Mailservers eingetragen werden – oder ein entsprechender Wildcard (z.B. smtp.beispieldomain.ch oder *.beispieldomain.ch).
Nun können wir unser Zertifikat anlegen (In diesem Beispiel 365 Tage gültig)
openssl x509 -req -days 365 -in smtp.csr -out smtp.cert -signkey smtp.key
Nun ergänzen wir noch die main.cf, oder passen die bereits vorhanden Werte an.
/etc/postfix/main.cf
smtpd_tls_auth_only = no smtpd_enforce_tls = no smtpd_tls_security_level = may smtp_tls_note_starttls_offer = yes smtpd_tls_cert_file = /etc/postfix/ssl/smtp.cert smtpd_tls_key_file = /etc/postfix/ssl/smtp.key smtpd_tls_loglevel = 1 smtpd_tls_received_header = yes smtpd_tls_session_cache_timeout = 3600s tls_random_source = dev:/dev/urandom
Mit dem Parameter smtpd_tls_security_level kann bestimmt werden, ob auch unverschlüsselte Verbindungen erlaubt sind. In diesem Beispiel überlassen wir die Entscheidung über eine allfällige Verschlüsselung beim Client und setzten den Wert daher auf “may”.
Der Parameter smtpd_tls_auth_only definiert, ob nur noch mittels TLS Authentifiziert werden kann. Dies ist bei allgemeinen Mailservern nicht unbedingt empfehlenswert, da sich sonst massenhaft relay access denied Fehler ansammeln werden durch eine “fehlgeschlagene” Authentifizierung von “dummen” clients.
Sicherheitstechnisch müsste dieser Wert allerdings defenitiv aktiviert sein.
Danach noch Postfix neu initialisieren – und testen.
postfix reload
Schlagworte: Postfix, SMTP, TLS, Zertifikat