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: , , ,

Kommentieren


Social Widgets powered by AB-WebLog.com.