SPF 与 DKIM - 确切的用例和差异

del*_* 42 26 email spf dkim

我很抱歉这个模糊的标题。我不完全明白为什么 SPF 和 DKIM 应该一起使用。

第一:如果发件人或 DNS 被“欺骗”,SPF 可以通过它应该失败的地方,如果涉及代理和转发器的一些高级设置,它可能会在应该通过的地方失败。

DKIM 可以通过它应该失败的地方,要么是因为密码学中的错误/弱点(我们排除了这一点,因此简化点),要么因为 DNS 查询被欺骗。

由于排除了密码学错误,不同之处(如我所见)在于 DKIM 可用于 SPF 失败的设置。我想不出任何可以从两者中受益的例子。如果设置允许 SPF,则 DIKM 不应添加任何额外的验证。

任何人都可以举一个使用两者的好处的例子吗?

小智 26

这是前一段时间回答的,但我认为接受的答案缺乏为什么必须一起使用两者才能有效的观点。

SPF 根据授权列表检查最后一个 SMTP 服务器跃点的 IP。DKIM 验证邮件最初是由给定域发送的,并保证其完整性。

有效的 DKIM 签名消息可以在不加修改的情况下重新发送,从而被用作垃圾邮件或网络钓鱼。SPF 不检查消息完整性。

想象一下这样一个场景,您收到一封有效的 DKIM 签名电子邮件(来自您的银行、朋友,等等),并且您找到了一种无需修改即可利用该邮件的好方法:然后您可以将该邮件数千次重新发送给不同的人。由于没有对邮件进行修改,DKIM 签名仍然有效,邮件将作为合法邮件通过。

无论如何,SPF 会检查邮件的来源(SMTP 服务器的真实 IP/DNS),因此 SPF 将阻止邮件转发,因为您无法通过配置良好的 SMTP 服务器重新发送有效邮件,并且来自其他 IP 的邮件将被拒绝,有效防止“有效”DKIM 消息作为垃圾邮件重新发送。


Chr*_*s S 16

SPF 的排名比通过/失败要多得多。在对垃圾邮件进行启发式评分时使用这些可以使该过程更轻松、更准确。由于“高级设置”而失败表明邮件管理员不知道他在设置 SPF 记录时在做什么。没有 SPF 无法正确解释的设置。

密码学从来都不是绝对有效的。DKIM 中唯一允许的加密通常需要大量资源才能破解。大多数人认为这足够安全。每个人都应该评估自己的情况。同样,DKIM 的排名不仅仅是通过/失败。

一个可以从两者中受益的示例:发送给两个不同的方,其中一个检查 SPF,另一个检查 DKIM。另一个例子,发送给垃圾邮件测试中通常排名靠前的内容的一方,但被 DKIM 和 SPF 抵消,允许邮件被传递。

大多数情况下都不需要,尽管个别邮件管理员设置了自己的规则。两者都有助于解决垃圾邮件的不同方面:SPF 是转发电子邮件的人,而 DKIM 是电子邮件的完整性和来源的真实性。