SpamAssassin:自定义规则和分数

SpamAssassin:自定义规则和分数

对于我的邮件服务器,我想要为 spamassin DKIM 和 SPF 检查添加一些自定义规则和分数。

目前我使用以下自定义设置:

score   DKIM_SIGNED 0
score   DKIM_VALID  -1
score   SPF_NONE    1
score   SPF_PASS    -1

问题:

如果邮件没有 spf,则存在标签,但如果邮件未经过 dkim 签名,则不存在设置。我如何使用或实现

score   DKIM_UNSIGNED   1

任何帮助都将受到赞赏。

答案1

您可以这样做:

ifplugin Mail::SpamAssassin::Plugin::DKIM
score DKIM_SIGNED    -0.01
meta  DKIM_UNSIGNED  !DKIM_SIGNED
score DKIM_UNSIGNED  1
endif

(为规则分配零分将禁用其评估,因此!DKIM_SIGNED始终为真。解决方案是给它一个简单的分数。它还使用条件来确保插件被加载,否则!DKIM_SIGNED将始终为真。)

⚠ 然而,我既不建议这样做,也不建议调整 DKIM/SPF 权重。

很多垃圾邮件发送者和肮脏的营销人员实施 SPF 和 DKIM。然后还有通过免费邮件提供商(如 GMail、Yahoo、Hotmail/Outlook 等)发起的所有攻击。这些基础设施全部拥有正确的 DKIM 和 SPF 签名。您将给予他们所有较大的正常权重 (-2),从而使 SpamAssassin 更难判定他们有罪。

同样,许多合法邮件未能使用(或正确实施)SPF 或 DKIM。

您可以查看以下内容:考虑 2022-01-12 的公共 SpamAssassin 规则 QA 日志。由于这些日志并非在所有测试中都运行 DKIM 插件,因此让我们看看__DKIM_EXISTS(有一个 DKIM 签名标头)而不是 DKIM_SIGNED(有一个格式正确的 DKIM 签名标头)或 DKIM_VALID(它匹配)。__DKIM_EXISTS 与 DKIM_SIGNED 几乎相同。

22.5% 的垃圾邮件和 71.4% 的正常邮件具有 DKIM,这意味着 87.5% 的垃圾邮件和 38.6% 的正常邮件缺乏 DKIM。

真的想要从四分之一的垃圾邮件中移除 2 分,并从三分之一的火腿中增加 1 分吗?


相反,我建议明确支持已知安全的域名:

whitelist_from_dkim *@safe.example.com *@serverfault.com
whitelist_from_spf  *@safe.example.com *@serverfault.com

这仅允许来自列出的域的有效 DKIM 签名和 SPF 授权邮件。您还可以使用def_whitelist_from_dkimdef_whitelist_from_spf来处理较轻的 ham 重量。

您还可以考虑通过以下方式自动执行此操作发送应答,但前提是确保你正确使用 IP域名系统(看DNS阻止列表)我认为 DNSBL 和贝叶斯内容检查是总体上打击垃圾邮件的两种最佳武器。

相关内容