从评估的身份开始
“我们发布了-all ,因此接收者必须拒绝冒充”这一声明结合了三个不同的决定。域发布授权策略,评估者获取 SPF 连接地址和身份的结果,接收者决定如何处理该消息。将这些决策分开可以使故障排除更加准确,并防止配置更改成为不受支持的安全承诺。
SPF评估 HELO身份 或 邮件来自 身份,而不仅仅是消息“发件人”字段中显示的地址。在解释任何策略之前,记录连接地址、身份类型、评估域和时间。提供商的信封域的结果不会自动描述可见的品牌域。对于空反向路径,还需要捕获身份处理,而不是从屏幕截图中猜测。 RFC 7208 ,第 2.3 和 2.4 节
all 机制实际上做了什么
all 机制始终匹配。使用减号限定符,达到-all收益都会失败。该说法是精确的,但有条件:较早的匹配机制可以首先完成评估,并且错误可以在到达终端机制之前中断评估。将终端令牌称为“硬拒绝开关”隐藏了这两个条件。它的含义是授权断言,而不是在每个收件人的邮件系统内执行的命令。
机制按其指定的顺序进行处理。允许的地址可能与早期的 ip4 或 ip6 机制匹配,并在未到达-all情况下生成通过。包含也可能匹配。相反,无效的政策或耗尽的评估预算可能会产生 permerror 而不是有人期望通过读取最终令牌而失败。记录的最后一个字符不能替换实际的评估路径。 RFC 7208 ,第 4.6、5.1 和 8 节
将子结果与父结果分开
包含是一种递归检查,其结果被映射到父机制中。它不是粘贴到父策略中的文本。子传递使包含匹配;子失败、 softfail或中性使其不匹配。然后父级继续其下一个适用的机制。一个孩子 temperror 或permerror作为错误传播,而子 none 被视为包含的permerror 。
当供应商以-all结束其自己的策略时,这一点很重要。未经该供应商授权的发件人不会自动使客户的整个保单失效。另一个授权服务稍后可能会出现在父记录中。在诊断工作表中单独保留子结果和父延续。否则,合法的多服务设计可能会被错误地描述为矛盾或损坏。 RFC 7208 ,第 5.2 节
接收者策略是另一个证据层
RFC 7208将失败描述为显式声明,表明客户端无权使用给定身份中的域。其结果处理指南将处置留给接收者的策略。接收者可以在SMTP期间拒绝、接受并标记,或者将结果与其他信息一起使用。仅靠公共DNS无法证明确切的操作。接受报告并不表明已发布的机制被忽略;它可能反映了评估的身份、较早的匹配或接收者选择的治疗方法。
不要把这种区别变成不加区别地削弱SPF建议。准确的政策仍然很重要。首先清点合法路由,包括转发行为和第三方发送,然后将授权不匹配与特定接收者选择的处理方式区分开来。关于的声明 DMARC 此外还需要自己的身份认同和政策证据。 SPF失败本身并不是完整的DMARC诊断。 RFC 7208 ,第 8.4 节和第 10 节
拟议审查的验收工作表
每个授权消息示例创建一行,而不是每个屏幕截图创建一行。捕获路由所有者、连接地址、 HELO名称、信封发件人、评估的域、准确的 TXT记录 设置、检索时间、解析器版本和最终SPF结果。附上有序机制路径并解释评估停止的原因。保留接收者的 Authentication-Results 信任边界和来源与发送者提供的任何不可信标头分开。
添加第二部分进行处理: SMTP响应(如果可用)、接收系统、时间戳、队列或事件标识符,以及证据是否表明接受、拒绝、隔离或仅仅是应用程序状态。编辑不必要的收件人和消息内容。发送应用程序的“已送达”状态不会自动建立收件箱放置。将不可用的字段标记为不可用,而不是根据期望填充它们。
审查仅通过实际证明的主张。完整的策略跟踪可以支持SPF结论,同时接收器处理仍未解决。 SMTP拒绝可以确定特定事务的结果,而无需证明所有接收方的行为都相同。独立记录这两个验收决定,并保留缺失证据的所有者。
虚构诊断:两业务一终端故障
考虑一个虚构的组织,其父策略先检查新闻通讯供应商,然后检查交易供应商,然后-all 。对于此示例,未查询任何DNS ,也未发送任何消息。时事通讯子项返回交易地址失败。正确的下一步是恢复父级,而不是声明最终失败。如果事务性包含返回通过,则普通正包含匹配且父项返回通过。
现在想象一个与供应商都不匹配的不同地址。如果没有发生较早的错误,则评估达到-all并返回失败。特定接收者是否拒绝该消息是一个单独的观察。说明“供应商-all阻止了我们”的支持说明在第一种情况下为时过早,在第二种情况下则不完整。有用的修正是分别标记子结果、父结果和接收者动作。
第三个假设案例在评估第一个供应商时出现临时DNS故障。不能通过直接跳到最后的-all来诊断该策略。保留错误路径并避免仅仅为了强制采用首选解释而更改记录。这些例子仅说明推理;它们不是收到的消息证据或测试结果。
出版和运营保留
本手稿并未建立任何真实发送者或接收者的行为。在发布操作诊断之前,通过授权工作流程获取目录所需的特定结果示例及其DNS或消息证据。合格的审核者应该检查完整的路径并确认接收者证据属于同一交易和时间窗口。
将变更与诊断分开。删除合法服务、更改限定符或添加广泛授权可能会影响真实邮件,需要自行审核。该草案的原始证据、人类专业知识、来源适用性、生产路线、视觉可达性和所有者发布大门仍然开放。一个虚构的例子并不能替代这些门,即使它的逻辑遵循标准。