[4] Postfix+TLS – Konfiguracja

4 lutego 2023 Wyłączono przez Adam [zicherka] Nogły

Wyedytujemy teraz plik [/usr/local/etc/postfix/main.cf] i dodajmy na końcu następujące wiersze.

root@vfbsd01:~ # cp /usr/local/etc/postfix/main.cf /usr/local/etc/postfix/main.cf.old.2
root@vfbsd01:~ # mcedit /usr/local/etc/postfix/main.cf
# dodaj na końcu
# TLS
smtpd_use_tls = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = yes
# tych dwóch poniższych certyfikatów jeszcze nie ma, ale przygotowujemy teren pod nie ;-)
smtpd_tls_key_file = /usr/local/etc/postfix/mailbsd.zicher.lab_server-key.key
smtpd_tls_cert_file = /usr/local/etc/postfix/mailbsd.zicher.lab_server-cert.crt
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom
# SASL
smtpd_sasl_type = dovecot
broken_sasl_auth_clients = yes
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = permit_sasl_authenticated, per-mit_mynetworks, reject_unauth_destination
smtpd_relay_restrictions = permit_sasl_authenticated, permit_mynetworks, reject_unauth_destination

UWAGA: Od wersji postfix 2.10 ostatnia linia jest potrzebna. Zobacz ten link: http://www.postfix.org/SMTPD_ACCESS_README.html.

Następnie edytuj [/usr/local/etc/postfix/master.cf] i usuń komentarze z części dotyczącej przesyłania (submission).

root@vfbsd01:~ # cp /usr/local/etc/postfix/master.cf /usr/local/etc/postfix/master.cf.old.2
root@vfbsd01:~ # mcedit /usr/local/etc/postfix/master.cf
# linie 19-22: odkomentuj
submission inet n - n - - smtpd
-o syslog_name=postfix/submission
-o smtpd_tls_security_level=encrypt
-o smtpd_sasl_auth_enable=yes
# linia: 24: odkomentuj
-o smtpd_reject_unlisted_recipient=no
# linie 33-34: odkomentuj
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o milter_macro_daemon_name=ORIGINATING

Zrestartuj Postfix’a:

root@vfbsd01:~ # service postfix restart

Aby dowiedzieć się, co oznaczają te wartości, sprawdź łącza na końcu tego wpisu. Jeśli zrobisz:

root@vfbsd01:~ # sockstat -4 | grep 587
root master 3780 18 tcp4 *:587 *:*

To zauważysz, że Postfix nasłuchuje również na porcie 587. Zezwól na ten port na zaporze, jeśli masz ją włączoną, ale nie zamykaj portu 25. Ten port jest używany do komunikacji między serwerami. Jeśli wykonasz telnet localhost 587 i wpiszesz EHLO cokolwiek.com, powinieneś zobaczyć, że Postfix odpowiada z STARTTLS.

root@vfbsd01:~ # telnet localhost 587
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
220 mailbsd.zicher.lab ESMTP Postfix
EHLO cokolwiek.com
250-mailbsd.zicher.lab
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS # <- tutaj
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250-SMTPUTF8
250 CHUNKING
quit
221 2.0.0 Bye
Connection closed by foreign host.