什么会引起 SPF PermError?

邮件安全实战:SPF、DKIM、DMARC漏洞分析与espoofer测试防御 邮件认证是保障电子邮件通信安全的基础技术,其核心原理是通过SPF、DKIM和DMARC三大协议验证发件人身份和邮件完整性。SPF通过DNS记录声明授权发件服务器,DKIM利用数字签名确保邮件内容不被篡改,DMARC则统一协调前两者的验证结果并执行策略。这些协议的技术价值在于构建可信的邮件生态系统,防止钓鱼邮件和域名伪造攻击。然而,协议实现中的差异和配置漏洞可能导致认证失效,例如SPF的“无记录”处理差异、DKIM签名范围不完整、DMARC对齐规则宽松等。在实际应用场景中,邮件管理员和安全工程师需要深入理解这 阅读详情

当一个域名上的 SPF 记录不能被正确地解释的话,SPF 返回 PermError (永久性错误)。与 SPF TempError (临时性错误),SPF PermError 需要管理员介入来修复该问题。

下面是引起 SPF PermError 的原因:

  • 域名上发现多条 SPF 记录;
  • SPF 记录语法不正确;
  • 单次 SPF 检查调用的 DNS 查询超过 10 次;
  • 单次 SPF 检查调用的 DNS 查询超过 2 次为无效;
  • 在 redirect 中发生异常。

在本文中,我们将逐一了解这些情况。

域名上发现多条 SPF 记录

一个域名或者子域名上面只能够发布一条 SPF 记录;否则 SPF 返回 PermError。了解详情:可以在域名上发布多条 SPF 记录吗?

比如,如果您在 domain.com 上面发布了两条完全正确的 SPF 记录,SPF 会因此失败并返回 PermError:

v=spf1 a -all
v=spf1 mx -all

解决这个问题的办法是仅保留一个 SPF 记录,并且在该记录中包含所有必需的 mechanisms。比如,如果 amxmechanisms 都是必需的,您可以把第一个 SPF 记录更新成:

v=spf1 a mx -all

然后移除第二个 SPF 记录,这样问题就解决了。

SPF 记录语法不正确

您的 SPF 记录的语法必须是正确的,否则 SPF 返回 PermError。

举个例子,下面的 SPF 记录有一个无效的 mechanism:

v=spf1 a im -all

由于在 SPF 规范中并没有定义 immechanism,所以它被认为是无效的。因此,该 SPF 记录的语法是错误的。

要修复这个错误,根据您的实际情况,把 im变成一个有效的 SPF mechanism,或者移除它。

https://dmarcly.com/blog/what-can-cause-spf-permerror

单次 SPF 检查调用的 DNS 查询超过 10 次

当 SPF 对域名上的 SPF 记录进行检查时,每次检查执行 DNS 查询的 mechanisms 和 modifiers 一定不能超过 10 次,其中包括 “include” mechanism 或者 “redirect” modifier 引起的查询。否则,SPF 返回 PermError。

举个例子,如果一个域名的 SPF 记录为:

v=spf1 a mx include:bluehost.com ?all

SPF 会失败并返回 PermError,这是因为 bluehost.com已经包含 13 次 DNS 查询,仅仅是这个 mechanism 就已经违反了 SPF 中的 10 次 DNS 查询限制。

您可以使用 DMARCLY 的免费 SPF 记录检查器来检查您的 SPF 记录是否存在这个问题。

要解决这个问题,可以使用 DMARCLY 的 Safe SPF 功能。

参照 SPF PermError: Too Many DNS Lookups 来获取更多信息。

单次 SPF 检查调用的 DNS 查询超过 2 次为无效

在 SPF 检查中,如果无法解释 SPF 记录中的 mechanism/modifier 的 DNS host,这叫"无效查询"。这包括 “include”, “a”, “mx”, “ptr”, 和 “exists” mechanisms, 以及 “redirect” modifier。

如果单次 SPF 检查调用的 DNS 查询超过 2 次,那么 SPF 失败并返回 PermError。

举个例子,如果 badhost1, badhost2, 和 badhost3主机名都不存在,并且您的 SPF 记录为如下所示:

v=spf1 a:badhost1 include:badhost2 exists:badhost3 -all

SPF 会失败并且返回 PermError,原因是上面的记录的无效查询数目为 3。

为了避免这个错误,您可以在这些主机名上面发布有效的 SPF 记录,或者从 SPF 记录中移除这些主机名。

在 redirect 中发生异常

如果 SPF 记录中有 “redirect” mechanism,那么它必须指向一个有效的 SPF 记录,否则 SPF 失败并返回 PermError。

例如,如果您的 SPF 记录如下所示:

v=spf1 redirect=_spf.example.com

如果 _spf.example.com 上面没有发布 SPF 记录的话,SPF 失败并返回 PermError。

要避免这个错误,确保您的 redirect mechanism 指向一个有效的 SPF 记录。在上面的例子中,在 _spf.example.com 上面发布一条 SPF 记录。

要了解更多 SPF 检查结果,请参阅 Why SPF Authentication Fails

原文来自 What Can Cause SPF PermError?,翻译自 什么会引起 SPF PermError?,转载请保留内容完整。

SPF协议绕过实战:邮件伪造与安全边界深度解析 SPF(Sender Policy Framework)是一种基于DNS的电子邮件身份验证协议,其核心原理是通过发布域名授权的邮件服务器IP地址列表,供接收方验证邮件来源的真实性。该协议旨在防止域名伪造,是构建邮件安全体系的重要技术基础。其技术价值在于为邮件接收方提供了判断邮件是否来自合法源头的依据,从而有效减少垃圾邮件和钓鱼攻击。然而,在实际应用场景中,SPF协议的防护效果高度依赖于配置的严谨性,配置疏漏或策略宽松(如使用软失败策略)会形成安全边界缺口。本文聚焦于利用钓鱼工具和SPF配置弱点进行邮件伪造的 阅读详情

相关推荐

SPF邮件伪造漏洞深度解析:从配置误区到企业级防御实战

电子邮件安全的基础依赖于发件人身份验证,其中Sender Policy Framework(SPF)是核心协议之一。其原理是通过DNS记录声明授权发信的邮件服务器IP,接收方据此验证邮件来源的合法性。这项技术的价值在于从源头遏制邮件伪造,是构建可信通信的基石,广泛应用于企业邮箱、交易通知和营销邮件等场景。然而,实践中常见的SPF配置误区,如使用过于宽松的`~all`策略、错误包含`a`或`mx`机制,会留下严重安全漏洞。攻击者可利用这些漏洞,结合社会工程学或通过攻陷授权服务器(例如利用Web应用漏洞控制具有

weixin_30443747的博客 509

为什么 SPF 验证失败:none, neutral, fail(hard fail), soft fail, temperror, and permerror 全解释

DMARC (Domain-based Message Authentication, Reporting and Conformance) 指定了这些在 SPF 中可能出现的错误(除了 pass 以外的结果):none, neutral, fail (hard fail), softfail (soft fail), temperror (临时错误), 以及 permerror (永久错误)。 对于那些不熟悉 SPFDMARC 的读者来说,这些问题可能令人困惑:为什么 SPF 会返回这些错误,DMA

hifall的博客 5849

邮件安全实战:钓鱼邮件制作与SPF绕过原理深度解析

邮件安全是网络安全体系中的重要组成部分,其核心在于身份认证与协议安全。SPF(Sender Policy Framework)作为一种基础的邮件发件人验证机制,通过DNS记录声明授权发送邮件的IP地址,旨在防止邮件地址伪造。其工作原理是接收方服务器比对邮件信封发件人域名的SPF记录与连接IP,从而判断邮件来源的合法性。该技术的核心价值在于为邮件系统提供了第一道身份验证防线,能有效阻挡大量简单的邮件伪造攻击。然而,在实际应用场景中,攻击者常通过利用第三方邮件转发服务、子域名SPF策略缺失或配置不当等弱点,在S

weixin_33850890的博客 336

邮件服务器添加SPF、DKIM、DMARC、PTR提高送达率

1.SPF SPF 记录是一种域名服务 (DNS) 记录,可确定允许哪些邮件服务器代表您的域来发送电子邮件。 SPF的设置选项可以参考:http://www.openspf.org/SPFRecordSyntax 这里说几个常用的: a:所有该域名的A记录都为通过,a不指定的情况下为当前域名 ip4:指定通过的IP mx:mx记录域名的A记录IP可以发邮件 all:结束标志,“-”表示只允许设置的记录为通过,“~”表示失败,通常用于测试,“+”表示忽略SPF 例如我的:v=spf1 a mx

PHP程序员 - muzihao2014 7431

HVV在即,红队钓鱼手法(一)

钓鱼邮件是指黑客伪装成同事、合作伙伴、朋友、家人等用户信任的人,通过发送电子邮件的方式,诱使用户回复邮件、点击嵌入邮件正文的恶意链接或者打开邮件附件以植入木马或间谍程序,进而窃取用户敏感数据、个人银行账户和密码等信息,或者在设备上执行恶意代码实施进一步的网络攻击活动。

Success696的博客 3593

SPF 记录是什么以及它如何工作:SPF 记录全解释

SPF 记录是由域名管理员发布在 DNS 中的 TXT 记录。SPF 记录指定一个 IP 地址的白名单,在该白名单中的 IP 地址被允许来代表该域名发送邮件。当邮件到达目标服务器的时候,服务器会在 DNS 中查找该 SPF 记录,然后用 SPF 记录来判断该邮件是否来自于一个被授权的 IP 地址。 SPF 全称是「发送者策略框架」(Sender Policy Framework),是一种基于 DNS (域名系统) 的,使目标服务器能够检查接收的邮件是否来自于一个被授权的 IP 地址的方法。 要了解 SPF

hifall的博客 7343

如何解决 SPF PermError:too many DNS lookups 问题

本文解释了 SPF PermError:too many DNS lookups 问题,SPF 的 10 次 DNS 查找限制是什么,及其违反的相关的后果是什么,以及如何使用 DMARCLY 的安全 SPF 功能解决此问题。...

GitChat 1224

如何修复 SPF PermError: too many DNS lookups

当排查邮件送达问题时,您可能会在接收邮件服务器上看到类似下面的 SPF 错误: SPF PermError: too many DNS lookups SPF Permanent Error: too many DNS lookups SPF Fail: too many DNS lookups 这些信息表明您域名上的 SPF 记录包含多于 10 次 DNS 查询,这使得该 SPF 记录违反了 SPF 规范的 SPF 10 次查询极限。 当该错误发生时,SPF 返回一个 PermError(永久性错误),该

hifall的博客 408

SPF PermError: Too Many DNS Lookups - 当 SPF 记录超过 10 次 DNS 查询极限

SPF PermError: too many DNS lookups” 是一个在很多 SPF (Sender Policy Framework,发送者策略框架) 实现中常见的错误。当超过这个 10 次 DNS 查询的极限以后,SPF PermError,即 SPF 永久性错误,将被返回。SPF PermError 会降低邮件送达率。 本文介绍什么是 SPF 的 DNS 查找极限,当 SPF 记录越过这个极限的后果,以及如何使用 DMARCLY 的 Safe SPF 功能来解决这个问题。 SPF Perm

hifall的博客 840

可以在域名上发布多条 SPF 记录吗?

您可以在一个域名上发布多条 SPF 记录吗?答案是否定的:一个域名一定不能有多条 SPF 记录,否则 SPF 会失败并返回永久错误(PermError)。 SPF 记录是位于 DNS 中的 TXT 记录,准确地以 “v=spf1” 开始,后面跟一系列的 mechanisms 和 modifiers。 SPF 检查先获取域名上面的所有以 “v=spf1” 开始的 TXT 记录: 如果没有找到记录,返回 None; 如果找到多条记录,返回 PermError。 比如,如果您有 2 个 TXT 记录在 yo.

hifall的博客 1148

什么是自动/动态 SPF 记录压平及其如何修复 SPF PermError: Too Many DNS Lookups 问题

SPF PermError: Too Many DNS Lookups问题出现的时候,由于 SPF 失败的原因,邮件抵达率会受到负面影响。我们将说明自动/动态 SPF 记录压平技术如何能够解决该问题。 越来越多的服务被用来跑在线业务,比如营销,销售,客服,人力资源等。结果是您需要把诸如 SendGrid, Mailchimp, Zendesk 等服务添加到您的 SPF 记录中。 但是迟早您会发现 SPF PermError: Too Many DNS Lookups 问题,因为您在 SPF 记录中包括了

hifall的博客 401

解读 SPF 认证验证结果

发件人策略框架 (SPF) 身份验证验证结果应在 SMTP 对话期间返回给发送邮件传输代理 (MTA)。检查验证结果时,请记住并非所有邮箱提供商都在其垃圾邮件过滤器中使用 SPF 身份验证。查找来自 Gmail、Yahoo!、AOL 和 Microsoft (Outlook.com) 等邮箱提供商的 SMTP 响应。如下所述的技术细节也可以在 RFC7208中找到。 如果您需要创建或编辑您的 SPF 记录,请联系您的电子邮件管理员、电子邮件服务提供商 (ESP) 或域托管服务提供商。 验证结果 邮箱提供商报

低调说 3014

如何用SPF识别钓鱼邮件

SPF(Sender Policy Framework)是一种电子邮件认证机制,用于验证电子邮件的发送者是否被授权代表域名发送邮件。SPF 检查结果有几种状态,这些状态表明了你的邮件服务器或者邮件安全措施(包括但不限于硬件网关、软件网关等)对 SPF 记录的验证结果。如果你遇到了一封可疑邮件,那么可重点先看看这个字段——SPF

企业级EML安全分析|反钓鱼|安全意识 | DeepPhish 1915

垃圾邮件设定之 解读SPF结果

接收邮件服务器在分析一封发来的邮件的SPF结果时,可以产生如下几种结果 (原文链接 http://ddbiz.com/?p=127)  SPF判定 结果  SPF解释  接收方动作  None 无 发送方没有提供SPF记录,或者发送方的domain是无效的(或者说最起码是不可查询的)。因此接收方将无法确定对方的身份。 自行定义 Neutral

钱可通神 1809

邮件伪造攻防:SPF策略深度解析与自建中继实战

在网络安全领域,邮件协议(SMTP)是互联网通信的基础设施之一,其核心机制涉及发件人身份验证与邮件传输路径管理。SPF(Sender Policy Framework)作为关键的反垃圾邮件策略,其原理是通过DNS记录验证发送服务器的IP地址是否被发件域名授权,从而防止地址伪造。然而,SPF的校验对象是SMTP信封中的MAIL FROM地址,而非用户可见的From字段,这一设计差异为攻击者留下了可乘之机。从技术价值看,深入理解SPF、DKIM等协议的工作原理,不仅能帮助安全人员识别钓鱼邮件的伪造痕迹,还能指导

weixin_33743880的博客 422

Unicode同形异义字在邮件钓鱼中的利用与SPF/DMARC防御实践

邮件安全是网络安全的基础防线,其核心在于验证发件人身份的真实性,防止伪造和钓鱼攻击。SPF(Sender Policy Framework)作为一种DNS记录技术,通过验证发件人IP是否在域名授权的列表中,构成了邮件身份验证的第一道屏障。然而,攻击者利用Unicode编码中的同形异义字(如西里尔字母а与拉丁字母a),在邮件头中构造视觉上可信的发件人地址,试图绕过基于人工识别的安全机制。这种技术虽然无法直接突破服务器端的SPF协议验证,但其主要威胁在于针对收件人的视觉欺骗和社会工程学攻击,尤其在某些客户端渲染

weixin_30274627的博客 392

企业邮件安全实战:从零构建SPF防御体系,筑牢钓鱼邮件第一道防线

电子邮件作为企业核心通信协议,其安全性建立在SMTP、DNS等基础技术之上。SPF(发件人策略框架)是一种基于DNS的电子邮件验证标准,其核心原理是允许域名所有者通过发布一条TXT记录,明确授权哪些IP地址有权代表该域名发送邮件,从而在协议层防范发件人地址伪造。这项技术的核心价值在于以极低的成本,为邮件身份认证提供了基础保障,有效提升了钓鱼邮件的攻击门槛。在应用场景上,它广泛适用于所有使用自有域名进行邮件收发的企业,特别是依赖Microsoft 365、Google Workspace等云邮件服务或Send

dieyuqi2955的博客 376
上一篇: SPF PermError: Too Many DNS Lookups - 当 SPF 记录超过 10 次 DNS 查询极限
下一篇: SPF 常见问题
hifall
博客等级 码龄7年 0粉丝 · 0原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值