DMARC:ESP 在报告中作为发件人托管

DMARC: ESPs host as sender in report

我们正在发送电子邮件。我们每天发送数千封电子邮件,因为我们的客户希望我们通知他们(我们确实征得了他们的同意 ;))。

我们刚刚通过 p=none 启用了 DMARC,看看会发生什么。它来了:

<?xml version="1.0"?>   
<feedback>  
  <report_metadata> 
    <org_name>Yahoo! Inc.</org_name>    
    <email>postmaster@dmarc.yahoo.com</email>   
    <report_id>report.id.here</report_id>   
    <date_range>    
      <begin>1545350400</begin> 
      <end>1545436799</end> 
    </date_range>   
  </report_metadata>    
  <policy_published>    
    <domain>our-email-domain.tld</domain>   
    <adkim>r</adkim>    
    <aspf>r</aspf>  
    <p>none</p> 
    <pct>100</pct>  
  </policy_published>   
  <record>  
    <row>   
      <source_ip>209.85.221.48</source_ip>  
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>our-email-domain.tld</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>gmail.com</domain>  
        <result>neutral</result>    
      </dkim>   
      <spf> 
        <domain>gmail.com</domain>  
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>212.227.15.3</source_ip>   
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>our-email-domain.tld</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>srs.web.de</domain> 
        <result>neutral</result>    
      </dkim>   
      <spf> 
        <domain>srs.web.de</domain> 
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>212.227.15.3</source_ip>   
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>our-email-domain.tld</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>web.de</domain> 
        <result>neutral</result>    
      </dkim>   
      <spf> 
        <domain>web.de</domain> 
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>OUR.MX.IP</source_ip>  
      <count>175</count>    
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>pass</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>our-email-domain.tld</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>our-email-domain.tld</domain>   
        <result>neutral</result>    
      </dkim>   
      <spf> 
        <domain>our-email-domain.tld</domain>   
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
  <record>  
    <row>   
      <source_ip>77.238.176.162</source_ip> 
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>pass</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>our-email-domain.tld</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>our-email-domain.tld</domain>   
        <result>neutral</result>    
      </dkim>   
      <spf> 
        <domain>our-email-domain.tld</domain>   
        <result>softfail</result>   
      </spf>    
    </auth_results> 
  </record> 
</feedback> 

这是一份来自 Yahoo 的报告,我在 Google 和许多其他 ESP 看到了非常相似的报告。

  1. 209.85.221.48 - Google 将电子邮件转发到雅虎?
  2. 212.227.15.3 - web.de 从不同的主机转发到 Yahoo 两次 ??
  3. 77.238.176.162 - Yahoo 主机转发到另一个 Yahoo 主机 ???

当我转为 p=quarantine 时,所有这些电子邮件会怎样? 我可以理解是否有人想在一个邮箱中接收来自他所有邮箱的电子邮件。我不明白的是 - 为什么 ESP 在它们自己的主机之间传输消息时分析 DKIM/SPF?在这种情况下,策略应该会失败,如果 p=quarantine,收件人将在垃圾邮件中收到它,不是吗?

回答您的具体问题:

  1. 是的,这似乎是正确的。
  2. 是的,这似乎是正确的。
  3. 是的,这似乎是正确的。

发生这些情况的例子有很多。在您的个人邮箱中接收您的工作电子邮件的简单转发规则就是其中之一。另一种情况是您的公司(作为收件人)使用 GSuite 并使用群组(分发列表)将电子邮件转发到最终目的地,即用户。 Google 也会在 DMARC 中对此进行报告。

另一种常见情况是外部电子邮件安全过滤器将入站电子邮件转发到检查 DMARC 合规性并发送报告的电子邮件服务器。

当我打开 p=quarantine 时,所有这些电子邮件会怎样?

通常,当 SPF DKIM 生成与 Header.From 域对齐的通过结果时,DMARC 将通过,该域位于 <identifiers> 节点中XML 报告。这些结果列在 <policy_evaluated> 节点中。

在您的所有示例中,<policy_evaluated> 结果显示 DKIM 通过结果,因此它应该通过 DMARC。但是,在您的示例中,<auth_results> 节点中的所有 DKIM 评估都显示了 DKIM 的 neutral 结果,包括从您的 MX 记录 IP 地址发送的结果。

RFC 7601 states the following on a neutral result for DKIM:

neutral: The message was signed, but the signature or signatures contained syntax errors or were not otherwise able to be processed. This result is also used for other failures not covered elsewhere in this list.

这可能是 Yahoo 的 DKIM 检查器的特定问题,但最好也检查 Google(和其他人)的 DMARC 报告中的 DKIM 状态。

最终建议:在移动到 p=quarantine 之前检查其他 DMARC 报告中的 DKIM 结果。