Amavis / Spamassassin - FORGED_SPF_HELO 和 SPF_HELO_PASS

Amavis / Spamassassin - FORGED_SPF_HELO 和 SPF_HELO_PASS

我有一个 Web 服务器,它通过 Postfix 3.3.0 发送 Web 表单类型的电子邮件。无入站。无额外内容。

接收邮件服务器运行的是相同的 Postfix(但使用 amavis-new/spamassassin + dovecot/etc)。它们都位于同一个域中,但子域不同(“www.”和“mail.”)。

当测试电子邮件从 Web 服务器发送到邮件服务器(使用 postfix sendmail 命令)时,除了 HELO/EHLO 上的评分外,一切都很完美。我一直收到FORGED_SPF_HELO。我以前从未遇到过这种情况,而且几乎没有文档可以找到。不过,这似乎是不言而喻的,它没有通过 HELO 上的 SPF 查找。

原始 DNS 只是将“www.”作为 CNAME 添加到顶点 A 记录。
顶点 SPF 包括“a”记录:"v=spf1 a mx ~all"

日志中的 HELO 内容如下: helo=www.example.net, Tests:[ALL_TRUSTED=-1,FORGED_SPF_HELO=1,MISSING_HEADERS=1.207,MISSING_SUBJECT=1.767]

我调整了“www.”记录,使其成为 A 记录,并为其单独添加了 SPF TXT 记录。

现在我得到:helo=www.example.net, Tests: [ALL_TRUSTED=-1,FORGED_SPF_HELO=1,MISSING_HEADERS=1.207,MISSING_SUBJECT=1.767,SPF_HELO_PASS=-0.001]

伪造并通过?

主要问题:
有人能解释为什么 SPF 中首先a不允许 CNAME“www.”通过吗?其次,有人能解释一下如何同时出现“伪造”和“通过”吗?

答案1

该规则FORGED_SPF_HELO来自 Spamassassin 更新。通过 grep 您的配置文件夹(/var/lib/spamassassin至少在 Debianoids 上),您将看到以下定义:

meta    FORGED_SPF_HELO     __HELO_NOT_RDNS && SPF_HELO_PASS && !SPF_PASS
header  __HELO_NOT_RDNS     X-Spam-Relays-External =~ /^[^\]]+ rdns=(\S+) helo=(?!\1)\S/
header   SPF_PASS           eval:check_for_spf_pass()
header   SPF_HELO_PASS      eval:check_for_spf_helo_pass()

您不符合规则__HELO_NOT_RDNS(主机的反向 DNS 查找www.example.net不是www.example.net)并且您没有SPF_PASS(主机无权代表您的域发送电子邮件)。

由于您肯定不想将其添加www.example.net到官方邮件服务器的列表中,请将其配置为使用以下形式的发件人发送电子邮件[email protected]

相关内容