Postfix accept_unknown_helo_hostname 拒绝 domain.local

Postfix accept_unknown_helo_hostname 拒绝 domain.local

我有一个运行了大约 8 个月的 Postfix 服务器,

当 EHLO 指向“xxxx.local”之类的域名时,服务器会拒绝电子邮件

我的问题是: smtp 服务器将自己标识为“something.local”是否正确?

如果是,那么 Postfix 的 rejection_unknown_helo_hostname 配置错误了?如何处理这些来自“something.local”的邮件?

Out: 220 example.org ESMTP Postfix
 In:  EHLO xxxxxx.local
 Out: 250-example.org
 Out: 250-PIPELINING
 Out: 250-SIZE 104857600
 Out: 250-VRFY
 Out: 250-ETRN
 Out: 250-STARTTLS
 Out: 250-ENHANCEDSTATUSCODES
 Out: 250-8BITMIME
 Out: 250 DSN
 In:  MAIL FROM:<[email protected]> SIZE=12193
 Out: 250 2.1.0 Ok
 In:  RCPT TO:<[email protected]>
 Out: 450 4.7.1 <xxxxxx.local>: Helo command rejected: Host not
     found
 In:  QUIT
 Out: 221 2.0.0 Bye

答案1

这没错,但限制太多了。当 HELO 或 EHLO 主机名没有 DNS A 或 MX 记录时,此限制会拒绝请求。

为了削弱它,你可以尝试使用限制

reject_unknown_reverse_client_hostname

当客户端 IP 地址没有地址->名称映射时,它将拒绝请求,并且

reject_invalid_helo_hostname

当 HELO 或 EHLO 主机名语法无效时,拒绝请求。

此外,你可以将限制的行为更改为记录警告,而不是拒绝请求

warn_if_reject reject_unknown_helo_hostname

请查看 postconf(5) 手册页来了解这些限制的详细描述。

答案2

您应该仅在端口 587(提交端口)上的 HELO 中允许无效的 FQDN。

这就是将提交端口与端口 25 分开的意义所在(参见 RFC 6409)。只需确保没有人可以在未先使用 SMTP AUTH 进行身份验证的情况下将邮件提交到端口 587。

答案3

邮件服务器将自己标识为 something.local 肯定是不对的。电子邮件要求每台服务器提供有效的 fqdn。要求您的同行提供正确的 dns 设置是一种有用的垃圾邮件预防机制。话虽如此,还有其他原因允许错误的 dns 设置,例如配置超出您范围的本地计算机。

相关内容