防止任何人在本地用户之间发送电子邮件

防止任何人在本地用户之间发送电子邮件

我试图阻止匿名用户从一个本地用户向另一个本地用户发送电子邮件。如果有人知道我的 postfix 服务器 (2.10.1) 上 2 个帐户的电子邮件地址,他们似乎可以在任何地方发送电子邮件而无需进行身份验证。我使用 telnet 命令对此进行了测试:

220 domain1.co.uk ESMTP Postfix
ehlo domain1.co.uk
250-domain1.co.uk
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-AUTH PLAIN LOGIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
MAIL FROM:[电子邮件保护]
250 2.1.0 确定
RCPT TO:[电子邮件保护]
250 2.1.5 Ok
数据
354 结束数据 .
测试
.
250 2.0.0 Ok: 排队为 A002982019
退出
221 2.0.0 再见

我想避免任何人都能够在本地域之间发送,除非他们经过身份验证或来自特定 IP 地址(用于中继的本地 IP 地址)。

答案1

我认为您正在寻找reject_sender_login_mismatchreject_unauthenticated_sender_login_mismatch的参数smtpd_sender_restrictions

例如:

smtpd_sender_restrictions = permit_mynetworks, reject_sender_login_mismatch, ...

来自文档

拒绝发送者登录不匹配
当 $smtpd_sender_login_maps 为 MAIL FROM 地址指定了所有者,但是客户端未以该 MAIL FROM 地址所有者身份(SASL)登录时,或者当客户端已(SASL)登录,但是根据 $smtpd_sender_login_maps,客户端登录名并不拥有 MAIL FROM 地址时,拒绝请求。
拒绝未经身份验证的发送者登录不匹配
仅对未经身份验证的客户端强制执行reject_sender_login_mismatch限制。此功能在Postfix 2.1及更高版本中可用。

前者是更多的限制性的,禁止性的,例如[电子邮件保护]发送邮件[电子邮件保护],即使经过身份验证。后者将允许经过身份验证的用户从任何电子邮件地址发送邮件。


permit_mynetworks应该始终首先出现,并且将允许您在 中指定的 IP 地址和 CIDR 范围中的任何内容mynetworks

答案2

您可以通过以下设置实现您所寻找的内容:

/etc/postfix/main.cf:
smtpd_sender_restrictions = permit_mx_backup, reject_sender_login_mismatch
smtpd_sender_login_maps = hash:/etc/postfix/login_maps

cat /etc/postfix/login_maps
[email protected] [email protected]

# postmap /etc/postfix/login_maps
# systemctl restart postfix

Test 1: MAIL FROM: [email protected]   RCPT TO: [email protected]
nc smtp.server.net 25
220 smtp.server.net ESMTP - nice to meet you.
helo dude
250 smtp.server.net
mail from: <[email protected]>
250 2.1.0 Ok
rcpt to: <[email protected]>
553 5.7.1 <[email protected]>: Sender address rejected: not logged in
^]^C


Test 2: MAIL FROM: [email protected]    RCPT TO: [email protected]
nc smtp.server.net 25
220 smtp.server.net ESMTP - nice to meet you.
helo dude
250 smtp.server.net
mail from: <[email protected]>
250 2.1.0 Ok
rcpt to: <[email protected]>
250 2.1.5 Ok
data
354 End data with <CR><LF>.<CR><LF>
helo
.
250 2.0.0 Ok: queued as CB96C3E82F
quit
221 2.0.0 Bye

更多信息请访问:http://www.postfix.org/SMTPD_ACCESS_README.html http://www.postfix.org/postconf.5.html#smtpd_sender_restrictions

相关内容