Недавно понадобилось поставить на SUSE MTA Postfix и включить TLS в нем.
После инсталляции МТА упорно не хотел принимать подключения на все интерфейсы кроме loopback, даже после прописи всех нужных строк в /etc/postfix/main.cf
inet_interfaces = all
mynetworks_style = subnet
mynetworks = 10.0.2.0/24, 127.0.0.0/8
раньше этого было достаточно, но в этом случае по прежнему не принимал соединения.
пришлось погуглить и поправить еще одну строчку в файле /etc/postfix/master.cf
было - smtp inet n - n - - smtpd
стало - 0.0.0.0:smtp inet n - n - - smtpd
Затем пришла очередь включать TLS:
- сгенерировать приватный ключ и сертификат:
openssl req -new -x509 -nodes -out postfix.pem -keyout postfix.pem -days 3650
(оба запишутся в один файл postfix.pem, который можно скопировать в /etc/postfix/)
затем прописать в /etc/postfix/main.cf следующие строки:
smtpd_tls_cert_file = /etc/postfix/postfix.pem
smtpd_tls_key_file = /etc/postfix/postfix.pem
smtpd_use_tls = yes
smtp_use_tls = yes
smtpd_tls_security_level = may
smtp_tls_security_level = may
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_auth_only = yes
tls_random_source = dev:/dev/urandom
раньше этого было достаточно, но сейчас только появилась, в списке доступных команд, STARTTLS, но криптосоединение неустанавливалось с
Error: "TLS not available due to local problem"
- всё перерыл, менял версии, но помогло только включение опции в /etc/postfix/master.cf
tlsmgr unix - - n 1000? 1 tlsmgr
(по умолчанию выключена, причем она выключена и в старых машинках, где TLS исправно работает)
проверить TLS можно на след. ресурсе:
https://www.checktls.com/perl/live/TestReceiver.pl
ругнетёся на selfsigned сертификат, но рисковать настоящим, выставляя его на почтовый сервер я не решился.
Можно поднять немного безопасность в виде указания SPF записи в DNS для почтового домена, где указать другим MTA, что почту можно принимать только с mail exchanger, которые есть в MX записи для домена, типа:
IN TXT v=spf1 mx -all
Комментариев нет:
Отправить комментарий