[ SPF ]

SPF存在和宏:检查实际进行的查询

使用具体输入扩展SPF宏,并在信任结果之前检查DNS问题。

由EmailAuth研究团队提供 · 4 分钟阅读

[ 要点 ]

  • 存在针对 A 答案的测试,而不是针对 IP 地址匹配的测试。
  • 扩展实际输入并确定谁接收查询。
  • 单独的不匹配、 DNS错误和应答服务更改。
在此页面上

现有的机制可以使 SPF 策略取决于从邮件的SMTP输入组装的DNS名称。这可以实现细粒度的策略,但也使可见的 TXT记录 对实际查询或其隐私影响的描述很差。

不要因为看起来很熟悉而批准一项宏观政策。将其扩展为代表性输入,识别接收查询的DNS运营商并确定肯定答案的含义。

了解现有测试

存在扩展其域规范并执行 A 记录查询。即使对于IPv6 SMTP连接,它也会执行此操作。如果有的话 一个记录 返回,机制匹配;返回的地址不会与连接 IP 进行比较。仅 AAAA 答案不能满足 A 查找。看 RFC 7208第 5.7 节.

在正常+预选赛下,一场比赛产生通过。姓名缺失或空答案不匹配;临时的DNS错误必须根据SPF的错误规则进行处理,而不是默默地转换为授权决策。

手动扩展综合查询

假设有效的单个记录、成功的DNS应答并且没有超出限制。考虑 v=spf1 exists:%{ir}._permit.%{d} -all 在example.com上获取来自192.0.2.9的IPv4连接。 i 宏代表输入地址。 r 变压器将部件反转,d 是电流评估域。扩展查询是 9.2.0.192._permit.example.com.

如果该名称返回 A 记录(例如说明性值127.0.0.2 ),则即使该地址与192.0.2.9不同,也存在匹配项。如果不存在 A 记录并且没有错误阻止评估,则该机制不匹配并且策略达到-all 。

这里的A值只是一个肯定答案标记。安全意义来自于对查询的DNS命名空间及其返回答案的规则的控制。回答每个可能的查询的通配符可能会无意中授权到达它的每个输入。

区分宏观身份

d 宏是当前正在评估的域。 o 宏来自发送者的域,而 l 指发送者的本地部分。包含或重定向可以更改计算上下文,因此不要假设 d 和 o 在依赖项内可以互换。

宏转换器可以选择部分、反转它们并更改分隔符。 IPv6扩展不是与IPv4相同的点分十进制字符串。使用 RFC 7208 §7.2 和 RFC 7208 §7.3 以及实际形式的实现跟踪,而不是从IPv4示例中猜测。

格式错误的扩展名称和过长的标签需要特别小心。在下面 RFC 7208 §4.8,规范指出了一些无效域规范结果的实现差异。将固定装置保持在有效的DNS语法内并测试您环境中使用的评估器;不要声称所有接收器都以相同的方式处理每个格式错误的输入。

检查隐私和可用性

如中所述 RFC 7208 §11.6,使用本地部分或完整发送者数据的宏可以通过DNS查询向命名空间运营商和相关DNS基础设施公开与消息相关的身份信息。在使用此类设计之前,请检查所需的最少数据,尤其是使用第三方策略服务时。

该策略还取决于应答DNS系统的可用性和完整性。记录谁在操作它、如何生成积极的答案、如何审查更改以及中断期间会发生什么。在下面 RFC 7208 §4.6.4、引起 DNS 查询的术语和 无效查找 仍受SPF限制;存在不提供无限制的外部策略调用。

建立有用的验收装置

测试授权输入、未经授权的输入、 IPv6如果使用)、 DNS中断以及有效但异常的发件人本地部分(如果影响查询)。保存每个灯具的准确扩展名称、查询类型、 DNS答案和终端SPF结果。

还测试通配符行为和对目标区域的更改。当应答服务更改其权限逻辑时,记录可以保持语法正确。仅当DNS决定可以得到解释和重现时才结束审核。

实用的外卖

对于存在来说,扩展的DNS问题是政策证据。在依赖结果之前检查其输入、回答语义、隐私暴露和错误行为。

记录决定及其限制

对于相同的192.0.2.9输入,区分三个装置: A= 127.0.0.2给出匹配和默认合格的通过;成功的空 A 答案不会给出任何匹配项并达到-all ;临时DNS错误结束评估 temperror 而不是失败。错误规则是 RFC 7208 §5 和 RFC 7208 §4.6.2。这些是预期结果,不是观察到的DNS或评估器运行。

[ 外卖 ]

存在针对 A 答案的测试,而不是针对 IP 地址匹配的测试。扩展实际输入并确定谁接收查询。单独的不匹配、 DNS错误和应答服务更改。

[ 按角色 ]

这对您意味着什么

选择您的角色以执行后续实际步骤。

IT/邮件管理员

保存扩展的查询。

单独的宏字符串无法显示真实评估所查询的内容。

后续步骤

  1. 测试IPv4和IPv6输入。
  2. 检查通配符答案。
  3. 保留错误路径夹具。

CISO / SecOps

检查DNS数据暴露。

宏派生名称可以携带邮件系统外部的发件人信息。

后续步骤

  1. 最大限度地减少查询中的身份数据。
  2. 检查第三方收件人。
  3. 控制对肯定答案逻辑的更改。

创始人/非技术人员

询问谁运行决策服务。

简短的DNS表达式可能隐藏需要所有权和连续性规划的操作依赖性。

后续步骤

  1. 识别DNS​​ 运营商。
  2. 了解停电影响。
  3. 需要可重复的决策示例。

[ 常见问题解答 ]

常见问题

是否存在将返回的A地址与发送者IP进行比较?

不会。任何返回的 A 记录都会使机制匹配。

RFC 7208 §5.7

是否存在查询IPv6发送方的 AAAA?

不会。即使对于IPv6连接,它也会执行 A 查询。

RFC 7208 §5.7

What does %{ir} do in the IPv4 example?

它使用连接 IP 并反转其点组件,为192.0.2.9生成9.2.0.192 。

RFC 7208 §7.3

Are %{d} and %{o} always identical?

d为当前评价域; o 是发件人域。递归求值可以使这种区别变得重要。

RFC 7208 §7.2 RFC 7208 §7.3

通配符会意外授权所有人吗?

是的。如果它对所有扩展查询产生 A 答案,则存在可以匹配所有这些输入。

RFC 7208 §5.7

宏可以暴露邮箱信息吗?

是的。发件人或本地部分宏可以将该信息放入DNS查询中。审查数据的必要性和接收者。

RFC 7208 §11.6

是否存在避免SPF查找限制?

不会。这是一个引起 DNS 查询的术语,无效查找行为也很重要。

RFC 7208 §4.6.4

哪些证据使得宏观政策可以审查?

具体输入值、精确的扩展查询、 DNS应答、 SPF结果以及应答命名空间的所有权。

[ 来源 ]

来源

  1. RFC 7208

    部分 §4.8 · §4.6.2 · §4.6.4 · §5.7 · §7.1 · §7.2 · §7.3 · §11.6 · §2.4 · §4.1

[ 词汇表 ]

词汇表

SPF
根据相关SMTP身份的策略评估连接 IP。

RFC 7208 §2.4

SPF存在机制
宏扩展 A 查询在返回任何 A 记录时匹配,包括IPv6连接。

RFC 7208 §5.7

企业出处

为什么顶级金融机构和政府 退役了他们的电子邮件安全仪表板。

传统的电子邮件身份验证平台会向您出售仪表板并要求您的工程师来完成这项工作。在高风险环境中,手动监督意味着延迟执行、配置漂移和不受监控的影子域。

EmailAuth是代理电子邮件来源平台。 我们的代理人强制执行 p=reject,保持第三方发件人一致并将您的域名移至完整状态 RFC 9989 合规性、新的DMARC标准,以及人机交互审核能力。

政府 大型企业 一级金融机构

SaaS · 专用租赁 · 气隙本地部署 · BYOK 加密

知识库