Назад | Перейти на главную страницу

Мой постфикс позволяет мне отправлять через него электронные письма без пароля для имени пользователя - как отключить?

Мой постфикс позволяет мне отправлять электронные письма без аутентификации. Он был настроен так, чтобы разрешить аутентификацию, но он также разрешает отправку без аутентификации, которую я бы хотел остановить.

Какие настройки конфигурации актуальны в этой ситуации?

Вот вывод postconf -n для помощи в отладке:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
debug_peer_level = 2
html_directory = no
inet_interfaces = all
inet_protocols = all
mail_owner = postfix
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
mydomain = hiddenforprivacy.org
myhostname = mail.hiddenforprivacy.org
myorigin = $myhostname
newaliases_path = /usr/bin/newaliases.postfix
queue_directory = /var/spool/postfix
readme_directory = /usr/share/doc/postfix-2.6.6/README_FILES
sample_directory = /usr/share/doc/postfix-2.6.6/samples
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtpd_client_restrictions = permit_mynetworks, permit_sasl_authenticated
smtpd_recipient_restrictions = permit_sasl_authenticated, reject_unauth_destination
smtpd_sasl_auth_enable = yes
smtpd_sasl_path = private/auth
smtpd_sasl_type = dovecot
soft_bounce = no
unknown_local_recipient_reject_code = 550
virtual_alias_domains = 
virtual_alias_maps = hash:/etc/postfix/virtual

Вам следует удалить permit_mynetworks директива из smtpd_client_restrictions. Затем, если вы используете версию 2.10 или новее, добавьте:

 smtpd_relay_restrictions = permit_sasl_authenticated, reject_unauth_destination

Если вы еще не там, помните об этом, и при обновлении добавьте эту директиву.

Это приведет к отключению любого доступа без аутентификации к вашему почтовому серверу, в том числе из ваших собственных сетей в $ mynetworks. Единственным исключением является то, что удаленные хосты по-прежнему смогут отправлять почту, предназначенную для одного из ваших адресов (так что вы все еще можете получать почту, поскольку удаленные MTA, отправляющие вам почту, не аутентифицируются); это разница между reject_unauth_destination и reject. Он также обновит ваш контроль доступа к реле в соответствии со спецификацией 2.10.

Если вы хотите даже не принимать почту (например, с других почтовых серверов) на хосты в вашем домене без аутентификации, замените reject_unauth_destination с участием reject. Если вы это сделаете, вы не будете получать входящую электронную почту через этот сервер.