Page Shape Page Shape Page Shape Page Shape Page Shape

SPF 软失效与硬失效:有什么区别?

SPF或发件人策略框架是一种电子邮件验证协议,有助于验证发送源的合法性。SPF 与 DMARC 结合使用,有助于防止网络钓鱼和直接域名欺骗等电子邮件网络攻击。

通过对 SPF 记录语法的细微调整,可以用两种完全不同的方式处理 SPF 失败的电子邮件!SPF 可以配置为在发件人身份验证失败时触发硬失败(Hardfail)错误或软失败(Softfail)错误。在本博客中,我们将讨论 SPF 硬失败和软失败之间的区别、配置这两种错误的语法及其用例。让我们直接进入正题! 

SPF记录是如何工作的?

要为电子邮件实施 SPF,您需要在域名的 DNS 上创建并发布 SPF 记录。SPF 记录的典型示例如下:

v=spf1 include:_spf.google.com ~all

在此 SPF 记录中,您将授权来自 Google SPF 记录中所列 IP 地址的所有电子邮件。失败机制定义在记录的末尾(~all),即 Softfail。 

因此,SPF 记录定义了所使用的协议版本、授权的发送源和失效机制。当您在 DNS 上发布此记录时,就能确保只有授权的发件人才能代表您的域名发送电子邮件。如果未经授权的来源试图冒充您,SPF 将根据记录中定义的失败机制类型而失败。 

SPF 硬失败与软失败的区别

下表解释了 SPF 硬失败和软失败之间的基本区别。 

SPF 硬失败与软失败:RFC 中的定义 

根据 RFC 7208:

  • SPF 的 "失败 "结果直接表明电子邮件的发件人未获得发送域的授权。失败 "与 "硬失败 "结果(-all)同义,后者明显表明域名使用未经授权。 
  • 不过,一种更为宽松的方法是配置 SPF Softfail,它表示 "可能 "存在未经授权的域名使用。 

硬故障与软故障的收件人故障处理 

在第 8.4 节中中,RFC 定义了以下 SPF 硬失败与 SPF 软失败结果的处理方案:

1.SPF 硬失败/失败 

对于 "失败 "或 "硬失败 "结果,收件人服务器可能会选择拒绝未授权的电子邮件。如果是 SMTP 交易,则应返回 550 5.7.1 错误代码,并附上适当的错误说明。 

如果收件人服务器在 SMTP 交易期间没有拒绝电子邮件,那么 RFC 建议收件人在 Received-SPF 或 Authentication-Results 头中记录 SPF 结果。 

2.SPF 软失败

作为一种更灵活的策略,Softfail 表示行政管理域确实怀疑邮件未经授权,但并不希望直接拒收。在这种情况下,邮件会被送达,但会有一个需要进一步审查的警告。  

SPF 软失败与硬失败:我们推荐什么?

在 SMTP 电子邮件中继的情况下,您可以将 SPF 软失败视为比硬失败更安全的选择。让我们一起来了解一下: 

SMTP 电子邮件中继是将邮件从一台服务器自动传输到另一台服务器。这意味着电子邮件会被转发到一个 IP 地址未列在您的域名 SPF 记录中的服务器上。这使得它成为未经授权的电子邮件发件人,尽管实际上它是合法的。 

您能控制这种活动吗?答案是否定的,因为收件人会自动转发电子邮件。在这种情况下,中继电子邮件的 SPF 将失效。 

SPF 硬失败策略可能会给您带来麻烦!我们已经知道,硬失败机制可能会导致拒绝失败的邮件。因此,如果您的域名配置了硬失败策略,这些中继邮件可能会无法送达。 

最糟糕的是什么?SPF 失败处理策略所采取的行动将覆盖 DMARC 和 DKIM 的验证结果。从本质上讲,即使 DKIM 和 DMARC 通过了,电子邮件仍然可能无法送达。   

根据 RFC 7489 第 10.1 节规定如果在执行 DMARC 操作前进行 SPF 检查,发件人 SPF 机制上出现"-"前缀(如"-all")可能会导致立即拒收电子邮件。这种拒绝会在电子邮件处理流程的早期发生,甚至在进行任何 DMARC 处理之前。

因此,如果电子邮件发件人的 SPF 策略包括一个"-all "机制,表示有严格的策略来拒绝 SPF 检查失败的电子邮件,这可能会导致在任何 DMARC 策略或处理发生之前就拒绝邮件。无论电子邮件最终是否会通过 DMARC 验证,这种提前拒绝都可能发生。

因此,在这种情况下,SPF Softfail 比 Hardfail 机制更胜一筹。它是一种风险相当低的方法,只需标记已授权的电子邮件,而不是拒绝它们,从而为审查留有余地。 

安全 SPF 实施策略

最佳 SPF 实施对于保护电子邮件通信免受未经授权的欺骗和网络钓鱼攻击至关重要。通过遵循最佳实践,企业可以增强电子邮件安全态势,保护品牌声誉。以下是一些安全实施 SPF 的策略和指南:

1.使用 SPF 记录生成工具

SPF 实施流程从生成记录开始。您可以通过正确理解 SPF 标记来手动创建记录。但这种方法容易出现人为错误。理想情况下,您可以使用我们的自动 SPF 生成器工具。这可以帮助您创建一个无差错、准确的 SPF 记录,并根据您的组织需求进行定制。

2.使用适当的 SPF 机制

利用 SPF 机制(如 "include"、"a "和 "IP4")指定允许的发送源。请根据您的电子邮件基础结构审慎选择机制,并确保它们准确反映您的电子邮件发送实践。

3.维护和优化 SPF 记录

您的发件人策略框架记录需要维护和优化,以防止其发生故障。当您的授权发件人在接收方的 DNS 查询次数超过 10 次限制时,SPF 往往会出现故障。为保持最佳查询限制,我们的 托管 SPF解决方案是您的最佳选择!我们帮助域名所有者一键优化 SPF,使其保持在查询和无效限制范围内,并保持 SPF 不出错。

4.将 SPF 与 DMARC 结合起来

部署 DMARC(基于域的消息验证、报告和一致性)与 SPF 一起提供了一个额外的(但必不可少的)安全层。DMARC 使域所有者能够指定电子邮件处理策略,包括对 SPF 失败的电子邮件采取什么措施。

DMARC 在最大限度地减少电子邮件欺诈、泄密和冒充攻击方面的效果已得到证实。 

5.实施严格的 SPF 故障处理策略

配置记录以处理 SPF 验证失败严格策略,如拒绝或标记来自失败域名的电子邮件。为此,您可以执行 SPF 硬失败或 SPF 软失败,而不是中立策略。

6.监控 SPF 验证结果

实施 DMARC 报告监控 SPF 验证结果,如 SPF 通过和失败,以及对齐错误。A DMARC 分析器工具可以帮助你以有条理、人类可读的方式解析和分析 SPF 验证数据。

最后的话

对于 "哪个更好?SPF 硬失效还是软失效 "这个问题没有直接答案。虽然硬失效标签可以为您提供更好的安全性,但选择正确的解决方案来监控发送源变得至关重要。 

最新博客