DMARC:ESP 主机作为报告中的发件人

Posted

技术标签:

【中文标题】DMARC:ESP 主机作为报告中的发件人【英文标题】:DMARC: ESPs host as sender in report 【发布时间】:2019-05-24 02:34:21 【问题描述】:

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

我们刚刚启用了 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 的报告非常相似。

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

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

【问题讨论】:

【参考方案1】:

回答您的具体问题:

    是的,这似乎是正确的。 是的,这似乎是正确的。 是的,这似乎是正确的。

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

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

当我将 p=quarantine 隔离后,所有这些电子邮件会发生什么?

通常,当 SPF DKIM 生成与 XML 报告的 &lt;identifiers&gt; 节点中的 Header.From 域一致的通过结果时,DMARC 将通过。这些结果列在&lt;policy_evaluated&gt; 节点中。

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

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

中性:消息已签名,但签名或签名 包含语法错误或无法以其他方式 处理。此结果也用于其他失败,而不是 此列表中的其他位置。

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

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

【讨论】:

似乎雅虎做了一些奇怪的事情。通常,来自所有 Yahoo 提交者的报告在 policy_evaluate 和 auth_results 中都通过了 DKIM 和 SPF。但不时通过 policy_evaluate 雅虎报告中立甚至软失败的 auth_results。我不知道如何解释这一点。我正在考虑的另一件事是为域启用 RUF 收集:对于大约数百万封“通过”的电子邮件,我看到大约 5k 以任何方式失败。联阵可能会帮助澄清这里的任何事情,否则我会死于大量报告吗? ;) 您可以尝试,但我还没有找到仍然发送法医报告的报告机构。请记住,这些取证报告可能包含敏感信息或 PII 数据。你需要相应地对待它。此外,对于每封失败的电子邮件,您(理论上)都会收到一份取证报告。您想收到 5k 失败报告吗?所以:它可能会澄清一点,你可能不会死,因为无论如何没有人发送这些报告;)

以上是关于DMARC:ESP 主机作为报告中的发件人的主要内容,如果未能解决你的问题,请参考以下文章

Office365混合部署进阶系列教程一:使用SPF+DKIM+DMARC技术提升邮件安全

客户端无权作为此发件人发送(office 365,grails)

来自应用程序的 HTTP 请求在发件人的网络/代理和我们的网络主机之间消失

作为发件人,使用 API 或标头,是不是可以检测电子邮件是不是使用 Gmail 的“计划发送”发送?

使用 Codeigniter 在电子邮件上添加“发件人”标头

获取不在联系人列表中的短信发件人姓名?