我一直在尝试理解从网上收集到的一些信息,希望得到一些澄清。
我们使用 Office 365 作为我们的电子邮件服务器。
A.) 如果未启用或未设置为 DMARC,SPF 记录和 DKIM 实际上会自行执行任何操作吗p=none
?
B.) SPF 记录规定哪些电子邮件服务器、IP 或外部域被允许以我们的域发送电子邮件,对吗?例如,我们可以授权 gmail.com 或 yahoo.com 使用 SPF 记录以我们的域发送电子邮件?
或者
当有人尝试从世界任何地方发送电子邮件时[email protected]
,我们的 SPF 记录会检查该电子邮件是否从有效来源发送,对吗?
C.) 根据我的 DMARC 报告,唯一不符合 DKIM 要求的 IP 地址是我们公司内部的 IP,这是为什么呢?所有外部信息都通过 DKIM。
*员工之间内部发送的电子邮件,标题注明 DKIM=none
*我似乎找不到任何说 DKIM=fail 的电子邮件。
D.) DKIM 听起来更像我们,保护我们的客户免遭欺诈性电子邮件。除非有人试图欺骗我们的域名并向我们发送某些东西。对吗?
答案1
答) 是的,接收服务器的垃圾邮件过滤器可以自行使用 SPF 和 DKIM 记录来评估声称从您的域发送的邮件。DMARC 确实增加了额外的安全层,但也为收件人提供了一种自动向您报告收到的邮件的方法。通过解析邮件收件人发送的 XML 报告,您可以查明第三方是否从您的域发送邮件。
B) 是的。例如:我们大部分邮件都是通过 Microsoft EOP 发送的,但有些邮件是直接从本地 Postfix 服务器发送的。通过将 EOP 的 DNS 别名和本地出站服务器的特定 IP 地址添加到我们的 SPF 记录中,我们将这两个来源都标记为合法。
不过,要挑剔一点:SPF 记录本身不会检查任何内容;它只是一个无意义的文本字符串。检查由服务器执行,服务器会将邮件头内容与一些 DNS TXT 记录(包括 SPF,如果存在)进行比较。
C) 您描述的行为意味着您不使用 DKIM 在自己的系统中对邮件进行签名。这在基于 Microsoft 的环境中非常常见。由于邮件根本没有签名,因此您不会收到签名验证失败的信息。
如果您在邮件中添加 DKIM 签名,并让邮件头指向与签名在数学上不对应的 DKIM 公钥,或者您在签名邮件后对其进行了篡改,则最终会导致 DKIM 实际失败。
D) DKIM 基本上是一个数字签名和指向公钥的指针。它告诉收件人,具有此特定哈希值的邮件确实通过了您信任的有效发件人邮件服务器。
答案2
除了 Mikael H 写的出色答案之外,我想再强调一下吹毛求疵。
了解 SPF 和 DKIM(以及 DMARC)只是一堆 DNS 文本记录非常重要。接收邮件服务器将根据在这些记录中找到的内容以及配置为执行的检查结果来采取措施。
此外,SPF 和 DKIM 无法保护接收方免受欺骗。事实上,SPF 是根据退回地址中的电子邮件域进行检查的,而 DKIM 是根据d=
DKIM 签名中的值中的域进行检查的。如果不仔细检查电子邮件的实际标题,这两个字段通常对电子邮件收件人不可见。
这意味着 SPF 和 DKIM 都可能通过,但根本无法验证欺骗域。这就是 DMARC 旨在修复的问题,即电子邮件客户端(FROM
字段)中显示的电子邮件地址与退回地址或 DKIM 值中经过验证的域之间的链接d=
。
因此,回答你的问题时要考虑到这一点:
答:是的,它们允许您验证用于接收退回邮件的域 (SPF) 和您加密签名的域 (DKIM)。无论您是否发布此类记录,越来越多的 ESP 都会检查 DMARC 对齐。Office 365 肯定以这种方式工作(检查身份验证结果标头dmarc=bestguesspass
)。它会影响分类,它不会将电子邮件视为已p=reject
发布的策略。
B. 不会。SPF 不会保护您的域名免遭欺骗。如果地址FROM
是[email protected]
,退回地址是[email protected]
,并spoofersdomain.com
在其 SPF 记录中列出发送 IP,SPF 将通过。但是,DMARC 对齐将失败。
C. 电子邮件未经过 DKIM 签名。对于本地 Exchange Server 来说,这种情况很常见,因为 DKIM 签名不是本机支持的功能。在您的 DMARC 报告中,DKIM 结果可能显示为无。但是,就 DMARC 而言,它会显示为失败(在文档policy_evaluated
的部分中XML
)。离开 Office 365 租户的所有(常规、非 DSN 或转发)电子邮件都应进行签名。如果您尚未为某些域启用 DKIM,则这些电子邮件将由 签名selector1-ourdomain-com._domainkey.ourdomain.onmicrosoft.com
。
D. 记住 DMARC 为何如此重要,答案是否定的。DKIM 签名会验证 DKIM 签名 ( d=
) 中使用的域。这可能与FROM
收件人在其电子邮件客户端中看到的字段中使用的域完全不同。DMARC 确保字段中使用的域FROM
与退回地址中的域或用于对邮件进行 DKIM 签名的域保持一致。
此外,很大一部分网络钓鱼计划都是伪造与收件人相同的域。CxO 欺诈是最著名的例子之一。
我希望这可以帮助你。