Postfix позволяет неаутентифицированным пользователям отправлять электронные письма
Эй, я настроил Postfix для использования cyrus
Имплантация SASL, и я могу войти в систему и отправить электронную почту, но я все еще могу подключиться к порту 25 и отправлять почту, даже если я не аутентифицирован, что я хочу отрицать.
smtp_sasl
часть моей main.cf
:
smtpd_sasl_path = smtpd
smtpd_sasl_type = cyrus
smtpd_sasl_auth_enable = yes
broken_sasl_auth_clients = yes
smtpd_sasl_security_options = noanonymous
smtpd_recipient_restrictions = reject_non_fqdn_recipient, reject_non_fqdn_sender, reject_unlisted_recipient, permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination, reject_invalid_hostname, reject_unknown_sender_domain, reject_unknown_recipient_domain, reject_rbl_client, sbl-xbl.spamhaus.org, reject_rbl_client, bl.spamcop.net, reject_rbl_client, list.dsbl.org, reject_rbl_client, rbl.mail-abuse.org, reject_rbl_client, spamsources.fabel.dk
Полная конфигурация здесь
Я что-то забыл?
Telnet Log:
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2014.04.20 16:10:32 =~=~=~=~=~=~=~=~=~=~=~=
220 the999ers.eu ESMTP Postfix (Debian/GNU)
ehlo kim-nuernberger.eu
250-the999ers.eu
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN
250-AUTH=PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM: test@kim-nuernberger.eu
250 2.1.0 Ok
RCPT TO: trash@kim-nuernberger.eu
DATA
250 2.1.5 Ok
354 End data with <CR><LF>.<CR><LF>
Subject: test
This is a test mail
.
250 2.0.0 Ok: queued as B82481DF1CE
quit
221 2.0.0 Bye
это было снято с моего локального компьютера, и я подключился через мой домен kim-nuernberger.eu
,
Журнал Postfix (/var/log/mail.log)
Apr 20 16:31:37 The999ers postfix/smtpd[16420]: connect from unknown[2a03:4000:2:206::1]
Apr 20 16:31:57 The999ers postfix/smtpd[16420]: 25CED1DF1CE: client=unknown[2a03:4000:2:206::1]
Apr 20 16:32:13 The999ers postfix/cleanup[16425]: 25CED1DF1CE: message-id=<20140420143157.25CED1DF1CE@kim-nuernberger.eu>
Apr 20 16:32:13 The999ers postfix/qmgr[16407]: 25CED1DF1CE: from=<test@kim-nuernberger.eu>, size=385, nrcpt=1 (queue active)
Apr 20 16:32:14 The999ers postfix/smtp[16426]: 25CED1DF1CE: to=<trash.kim.nuernberger@hotmail.de>, orig_to=<trash@kim-nuernberger.eu>, relay=mx4.hotmail.com[65.55.37.104]:25, delay=25, delays=23/0.01/0.47/1.1, dsn=2.0.0, status=sent (250 <20140420143157.25CED1DF1CE@kim-nuernberger.eu> Queued mail for delivery)
Apr 20 16:32:14 The999ers postfix/qmgr[16407]: 25CED1DF1CE: removed
Apr 20 16:32:14 The999ers postfix/smtpd[16420]: disconnect from unknown[2a03:4000:2:206::1]
Примечание: я обновил журнал после исправления некоторых ненужных проблем.
2 ответа
Это потому, что вы, возможно, пытались отправить почту с сервера (т.е. telnet localhost 25
) сама и по вашему smtpd_recipient_restrictions
permit_mynetworks
приходит раньше permit_sasl_authenticated
и поэтому клиенты, перечисленные в mynetworks
(localhost
в вашем случае) не нужно проходить проверку подлинности. Переставьте ограничения, чтобы добиться того, что вы хотите.
Больше информации: postfix docs
Изменить 1:
Спасибо за журналы telnet и postfix. postfix не требует аутентификации для получения почты для доменов, под которыми он обрабатывает mydestination
,relay_domains
virtual_alias_domains
а также virtual_mailbox_domains
, Пользователи не смогут relay
на внешние домены (то есть домены, которые являются удаленными. Например, gmail.com), если они не аутентифицируются, и это ожидаемое поведение.
Вы можете заставить пользователей проходить аутентификацию перед отправкой электронной почты, изменив не на main.conf, а на master.conf, добавив, например, проверку на отправку, и отклонив все:
-o smtpd_relay_restrictions=permit_sasl_authenticated,reject
Это было 4 года назад, но, возможно, поможет новым людям.