Можно ли разрешить SMTP AUTH только с IP-адресов в моих сетях? Я тестировал кучу вариантов, но ни один из них не работал. Вот фактическое состояние моего main.cf:
smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
smtpd_use_tls=yes
smtpd_tls_session_cache_database = btree:${data_directory}/smtpd_scache
smtp_tls_session_cache_database = btree:${data_directory}/smtp_scache
smtpd_relay_restrictions = permit_mynetworks permit_sasl_authenticated defer_unauth_destination
myhostname = mx1.domain.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = mail.domain.com, localhost.domain.com, localhost
relayhost =
mynetworks = 172.20.1.0/24 172.18.1.0/24 192.168.0.0/24 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128
mailbox_command = procmail -a "$EXTENSION"
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
virtual_transport = dovecot
dovecot_destination_recipient_limit = 1
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_auth_enable = yes
smtpd_tls_security_level = may
smtpd_tls_auth_only = no
smtpd_recipient_restrictions =
check_recipient_access mysql:/etc/postfix/blocked-recipients.cf,
permit_mynetworks,
permit_sasl_authenticated,
reject_unauth_destination,
check_sender_access hash:/etc/postfix/sender_access
message_size_limit = 409600000
Вы, вероятно, захотите использовать smtpd_sasl_exceptions_networks
.
Спасибо @ 84104. Ваш ответ привел меня к поиску Эта тема который решил мою проблему.
smtpd_sasl_exceptions_networks
не объявляет о поддержке AUTH, но разрешает AUTH с любого IP.Эта функция была предоставлена для предотвращения сбоев некоторых сетевых клиентов, когда сервер объявляет о поддержке AUTH, но у клиента нет информации для входа. С участием
smtpd_sasl_exceptions_networks
эти клиенты не пытались аутентифицироваться, и все было хорошо.
smtpd_sasl_exceptions_networks
устарелоsmtpd_discard_ehlo_keywords
иsmtpd_discard_ehlo_keyword_address_maps
. Последние два не позволяют Postfix принимать команды AUTH.
smtpd_sasl_exceptions_networks
вероятно, будет устаревшим и в конечном итоге удален из документации.