对于应该在 DKIM 上硬失败但在 SPF 上软的域,适当的 DMARC 配置是什么?

Gly*_*yph 2 domain-name-system email spf dkim dmarc

由我的域发送的邮件将始终经过 DKIM 签名,收件人应立即丢弃任何未签名的邮件。但是严格的 SPF 实施会导致内部邮件转发规则和其他类型的实施细节导致虚假破坏的问题。什么是 SPF、DKIM 和 DMARC 记录的适当组合,以导致接收系统将 DKIM 故障视为绝对的“停止发送,它肯定是垃圾邮件”,但 SPF 只是一个提示?

Esa*_*nen 6

这是通过设计,如果DMARC通过任一DKIM或SPF对准即匹配与所述From报头。众所周知,DKIM 对齐可以在转发中幸存下来,而 SPF 对齐则不行:转发邮件的服务应该将邮件放入另一个信封中,即使用自己的MAIl FROM( Return-Path) 地址,尽管 SPF 是自己传递的,但这会破坏对齐。

关于配置:

  • 使用 DKIM 对每封邮件进行签名,将 DKIM 记录放在适当的位置,并使 DKIM 签名与From标题对齐。没有硬/软 DKIM 失败这样的事情,因为 DKIM 测试只是将签名与从 DNS 发布的公钥进行比较。
  • 如果没有签名,仅 DKIM 就无法判断是否应该有签名。这就是您需要 DMARC 的地方:您可以通过在 DMARC 策略中加入 DKIM 来强制执行 DKIM p=reject
  • 有了之前的设置,SPF在保护From标头方面变得不那么重要了。例如,~all可以防止 SPF 出现硬故障,从而使您的信封域部分不受保护。由于 DMARC 需要 SPF 才能通过并对齐,因此它会在 SPF softfail上失败,但只要通过 DKIM 对齐就可以了。

如果您想对 DKIM 绝对严格,请记住,仅对齐并通过 SPF 也会使 DMARC 通过。如果您想让 DMARC 在没有 DKIM 的情况下始终失败,您可以使用不同的域作为信封发件人,并v=spf1 -all制定一个SPF 策略来完全防止将此域用作信封发件人。但是,这不是典型的配置,在某些垃圾邮件过滤器上可能看起来更糟。