Как включить TLS с портом 587 с безопасной аутентификацией в Postfix?

Как включить TLS с портом 587 с безопасной аутентификацией в Postfix?

Как заставить мой сервер Postfix отправлять почту только на порт 587, а также включить TLS с портом 587 с безопасной аутентификацией (которая использует системных пользователей Linux)?

Во-первых, этот вопрос может показаться слишком обширным, но я не смог найти ни одного решения в интернете. Во многих статьях дается решение, но они пропускают некоторые части.

Я хочу принудительно включить аутентификацию и TLS-подключения.

Если кто-то спросит, могу выложить конфигурацию.

Спасибо заранее. Я новичок в postfix. Также я мог бы взглянуть наhttp://www.postfix.org/documentation.html, но прежде чем вы мне об этом расскажете, я не могу понять это как следует, поэтому я уверен, что испорчу конфигурацию и сделаю свой сервер непригодным для использования. Кроме того, postfix здесь был установлен с помощью менеджера пакетов apt. Но я уверен, что это не особо связано с ubuntu. Я использовал Exim4 до того, как начал использовать postfix, но там так мало поддержки Exim, потому что люди в основном используют его в cPanel, поэтому я не получаю поддержки vanilla Exim.

Нужна срочная помощь, поскольку безопасность нашего сервера под угрозой.

решение1

Чтобы включить порт 587, отредактируйте файл/etc/postfix/master.cf

vi /etc/postfix/master.cf

и удалите # перед строкой (раскомментируйте строку):

#submission inet n - n - - smtpd

так что это будет выглядеть так:

submission inet n - n - - smtpd

Возможно, вам захочется раскомментировать дополнительные строки, включающие аутентификацию SASL, сразу после этой строки. Каждая новая строка должна начинаться с пробела!

 -o syslog_name=postfix/submission
 -o smtpd_tls_security_level=encrypt
 -o smtpd_sasl_auth_enable=yes
 -o smtpd_client_restrictions=permit_sasl_authenticated,reject

Все остальные параметры должны быть настроены в/etc/postfix/main.cfв зависимости от вашей среды.

Дополнительно вам может потребоваться настроить параметры TLS:

# TLS parameters
# you need to specify a real certificate location
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert.key
smtpd_use_tls=yes
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
smtp_tls_session_cache_database = btree:$data_directory/smtp_tls_session_cache
smtpd_sasl_tls_security_options=noanonymous
smtpd_tls_auth_only=yes

В зависимости от того, используете ли вы dovecot для получения писем, вам может потребоваться добавить:

smtpd_sasl_security_options = noanonymous
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/dovecot-auth
broken_sasl_auth_clients=yes

Дополнительные ограничения безопасности:

smtpd_relay_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
smtpd_recipient_restrictions=permit_mynetworks,permit_sasl_authenticated,reject_non_fqdn_helo_hostname,reject_non_fqdn_sender,reject_unknown_sender_domain,reject_non_fqdn_recipient,reject_unknown_recipient_domain

проверьте и перезапустите postfix:

postfix check
systemctl restart postfix

Вы можете убедиться, что postfix теперь прослушивает оба порта 25 и 587:

netstat -na | grep LISTEN | grep 25
netstat -na | grep LISTEN | grep 587

Не забудьте разрешить порт 587 в вашем брандмауэре.

Создание пользователей postfix — это отдельная история. Как упоминалось в комментариях, для хранения почтовых ящиков (пользователей почты) следует использовать SQL. Если вы не хотите этого делать, можно использовать пользователей Linux, подробно описаноздесь.

P.S. Я не думаю, что здесь возможно предоставить полную конфигурацию, поскольку она всегда сильно зависит от конкретных требований случая и вашей среды.

решение2

Это позволит использовать только безопасные соединения:

smtpd_tls_auth_only = yes

Тогда у вас есть другие необходимые опции:

smtpd_tls_security_level = may

smtp_sasl_auth_enable = yes

smtp_use_tls = yes

Чтобы использовать 587, отредактируйте master.cf и раскомментируйте строку:

submission inet n - n - - smtpd

Постфикс перезагрузки.

Связанный контент