【问题标题】:SPF, DKIM and DMARC all set but dmarc-reports keep saying the oppositeSPF、DKIM 和 DMARC 都设置好了,但 dmarc-reports 一直说相反
【发布时间】:2017-04-08 17:47:55
【问题描述】:

我(再次)对电子邮件失去理智。

我有一个 Kimsufi/OVH (Debian Wheezy 7.10) 服务器。我已经设置好了后缀和鸽舍。

我的主域名/主机名是 mywebsite.fr,我使用的是 mywebsite.fr 上设置的 mywebsite.fr。

我在两个域的 dns 区域中设置了 spf、dkim 和 dmarc 条目。从contact[at]mywebsite[dot]fr和no-reply[at]mywebsite[dot]fr,我运行的所有测试都很好:

1) auth-resultats@verifier.port25.com

The Port25 Solutions, Inc. team

==========================================================
 Summary of Results
==========================================================
SPF check:          pass
DomainKeys check:   neutral
DKIM check:         pass
SpamAssassin check: ham

==========================================================
Details:
==========================================================

HELO hostname:  mywebsite.fr
Source IP:      91.121.166.194
mail-from:      contact@mywebsite.fr

----------------------------------------------------------
SPF check details:
----------------------------------------------------------
Result:         pass
ID(s) verified: smtp.mailfrom=contact@mywebsite.fr
DNS record(s):
    mywebsite.fr. SPF (no records)
    mywebsite.fr. 6055 IN TXT "v=spf1 a mx include:mx.ovh.com ~all"
    mywebsite.fr. 6054 IN A 91.121.166.194

----------------------------------------------------------
DomainKeys check details:
----------------------------------------------------------
Result:         neutral (message not signed)
ID(s) verified: header.From=contact@mywebsite.fr
DNS record(s):

----------------------------------------------------------
DKIM check details:
----------------------------------------------------------
Result:         pass (matches From: contact@mywebsite.fr)
ID(s) verified: header.d=mywebsite.fr

2) dmarcian.com

https://dmarcian.com/dmarc-inspector/mywebsite.fr
All seems good

3) dkimvalidator.com

DKIM Information:

DKIM Signature

Message contains this DKIM Signature:
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mywebsite.fr;
    s=mail; t=1491673268;
    bh=g3zLYH4xKxcPrHOD18z9YfpQcnk/GaJedfustWU5uGs=;
    h=Date:From:To:Subject:From;
    b=CScyX9ZvWCDL6FGLroXZi/8dFiWmgPbKwcTuSZqPuCHBOR4tv4QdGzxgZ3acWf6AP
     AwAt3Y2h+9IHeayu8mT2rl2Bz3E3XbMC6waEHoc645sAOq1nV9l8hAuw73hm6YsvXU
     QEAgcDIaD8b5fAXoX99rGkSfD6Rx5ygeuJOs0MzZcxnOzaJM+6mvOzusep4PRv0XvG
     eEJYYwL2sNd0qEJSLJ666fhvE781qtwnWaUewlceSgek5bnJ1DVEOsLkcl3uwTabau
     PsLZm9SPuqsc+aDRTTNNRKuI2noO1/w3M6XWfZxpYPIeoxwNnflWxP0s9O6+UbhsCJ
     PJbZeYVATVFKYKjFJlbwAqPMMmJAiqSWzsXvT06/P/Qw70nT5Q9qK1FI8Uu9NRFhWe
     g+35wx03zNG5OMgKzKsv9qH06qccBsbfhHXKm63YkxLDhO+2AtdicdWqrMlZQap7V0
     CC4VyTCNLZdOASWdLJdh8JDsY2TXNU/Pcpxw0uSf0BigY/0q3qj5O7GRzzSLG1rKz0
     +HpvDql/PpsscXt16URaOtO7/rZ6H3EsS1ZkutO5udiwJvoZulraMbI8sQQghR3Yyw
     OZqDardodYdVo1tHzTPQ4MJTEKI+2IO4ulCj7/kJ109xpTYo8+8x3I7Z5Bhmnyui7j
     TIxRT8MCD1sRUOoP7mD/7Pb0=


Signature Information:
v= Version:         1
a= Algorithm:       rsa-sha256
c= Method:          relaxed/relaxed
d= Domain:          mywebsite.fr
s= Selector:        mail
q= Protocol:        
bh=                 g3zLYH4xKxcPrHOD18z9YfpQcnk/GaJedfustWU5uGs=
h= Signed Headers:  Date:From:To:Subject:From
b= Data:            CScyX9ZvWCDL6FGLroXZi/8dFiWmgPbKwcTuSZqPuCHBOR4tv4QdGzxgZ3acWf6AP
     AwAt3Y2h+9IHeayu8mT2rl2Bz3E3XbMC6waEHoc645sAOq1nV9l8hAuw73hm6YsvXU
     QEAgcDIaD8b5fAXoX99rGkSfD6Rx5ygeuJOs0MzZcxnOzaJM+6mvOzusep4PRv0XvG
     eEJYYwL2sNd0qEJSLJ666fhvE781qtwnWaUewlceSgek5bnJ1DVEOsLkcl3uwTabau
     PsLZm9SPuqsc+aDRTTNNRKuI2noO1/w3M6XWfZxpYPIeoxwNnflWxP0s9O6+UbhsCJ
     PJbZeYVATVFKYKjFJlbwAqPMMmJAiqSWzsXvT06/P/Qw70nT5Q9qK1FI8Uu9NRFhWe
     g+35wx03zNG5OMgKzKsv9qH06qccBsbfhHXKm63YkxLDhO+2AtdicdWqrMlZQap7V0
     CC4VyTCNLZdOASWdLJdh8JDsY2TXNU/Pcpxw0uSf0BigY/0q3qj5O7GRzzSLG1rKz0
     +HpvDql/PpsscXt16URaOtO7/rZ6H3EsS1ZkutO5udiwJvoZulraMbI8sQQghR3Yyw
     OZqDardodYdVo1tHzTPQ4MJTEKI+2IO4ulCj7/kJ109xpTYo8+8x3I7Z5Bhmnyui7j
     TIxRT8MCD1sRUOoP7mD/7Pb0=
Public Key DNS Lookup

Building DNS Query for mail._domainkey.mywebsite.fr
Retrieved this publickey from DNS: v=DKIM1; k=rsa;p=MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAomnPCDLufwn5YnIxZ+4veAqdQiTNyk3OsqxTXddGXstKjYefjeJZ/Wgd4vFRheS9DSRjtqLvc66KyM3Ubk37G3S2tXU6dpIPh/poiQuDhdZMWlp829YyR47sYtSSJqFrzd+dKDGfPwrlJb6iIeYksfXOXSHej6s9z1mDobl+fDhORKaB5JySZyPhh/FqCIVMHJffr8tod0Q55MAfRpl38WIJjRjjTXHS2OTNUSQq53kIqSZkx3iFdlxxZh5Tj1DU1bzIGfB4tQaJAGqGhSz4pyzkdc+uVuvXr6NbIrEQ/YnueDHWrbbPoMq77QcToMGqfypgB2CcEU2rlcDYq9aPqYAalv22zY6S0M5FUjlpiHDIR3Hb/ID2ZC2Q/XtCKgaOxr2C4T7Ad0CdcjjQMLnFkOY337U7/P0FgaSQaykiUvSkXDvURgunBv0GLqXfjfwK2Ge8fl+dhYN5bZ/59/GFPcyB/sLHB/cMFWEUyp63RXHBRm+q+c6PMdGIgmoTHYH/0FbYI+/9NHhYOLWhBrgds3x54vStQk0jqYKAipd2494v2dr3p5XlhXU4NEOSEH4FnBfiqoHiYDgjPEIm0ddqH2kBEiuymIoGtWPuBCmY993/1wevOMVjrQlysw2Gf1DZnlbnaytgcSAR0fHgIlLPPoRqGXodvgtW6Zj8ocy71qsCAwEAAQ==
Validating Signature

result = pass
Details: 

SPF Information:

Using this information that I obtained from the headers

Helo Address = mywebsite.fr
From Address = contact@mywebsite.fr
From IP      = 91.121.166.194
SPF Record Lookup

Looking up TXT SPF record for mywebsite.fr
Found the following namesevers for mywebsite.fr: ns.kimsufi.com nsXXXXXX.ip-91-XXX-166.eu
Retrieved this SPF Record: zone updated 20170408 (TTL = 46739)
using authoritative server (ns.kimsufi.com) directly for SPF Check
Result: pass (Mechanism 'a' matched)

Result code: pass
Local Explanation: mywebsite.fr: 91.121.166.194 is authorized to use 'contact@mywebsite.fr' in 'mfrom' identity (mechanism 'a' matched)
spf_header = Received-SPF: pass (mywebsite.fr: 91.121.166.194 is authorized to use 'contact@mywebsite.fr' in 'mfrom' identity (mechanism 'a' matched)) receiver=ip-172-31-3-128.us-west-1.compute.internal; identity=mailfrom; envelope-from="contact@mywebsite.fr"; helo=mywebsite.fr; client-ip=91.121.166.194

等等等等等等。

一切似乎都很好,我正在发送电子邮件的所有邮件测试人员都在说“10/10,你很好,伙计”。

问题是,我收到了 dmarc-reports,但它们并不好。 例如,来自 yahoo 的最新日期:

<?xml version="1.0"?>   
<feedback>  
  <report_metadata> 
    <org_name>Yahoo! Inc.</org_name>    
    <email>postmaster@dmarc.yahoo.com</email>   
    <report_id>1491615950.716847</report_id>    
    <date_range>    
      <begin>1491523200</begin> 
      <end>1491609599 </end>    
    </date_range>   
  </report_metadata>    
  <policy_published>    
    <domain>mywebsite.fr</domain>   
    <adkim>r</adkim>    
    <aspf>r</aspf>  
    <p>none</p> 
    <pct>100</pct>  
  </policy_published>   
  <record>  
    <row>   
      <source_ip>91.121.166.194</source_ip> 
      <count>1</count>  
      <policy_evaluated>    
        <disposition>none</disposition> 
        <dkim>fail</dkim>   
        <spf>fail</spf> 
      </policy_evaluated>   
    </row>  
    <identifiers>   
      <header_from>mywebsite.fr</header_from>   
    </identifiers>  
    <auth_results>  
      <dkim>    
        <domain>mywebsite.fr</domain>   
        <result>permerror</result>  
      </dkim>   
      <spf> 
        <domain>mywebsite.fr</domain>   
        <result>pass</result>   
      </spf>    
    </auth_results> 
  </record> 
</feedback> 

最后来自 google.com 的日期:

<?xml version="1.0" encoding="UTF-8" ?>
<feedback>
  <report_metadata>
    <org_name>google.com</org_name>
    <email>noreply-dmarc-support@google.com</email>
    <extra_contact_info>https://support.google.com/a/answer/2466580</extra_contact_info>
    <report_id>14868783784049997701</report_id>
    <date_range>
      <begin>1491523200</begin>
      <end>1491609599</end>
    </date_range>
  </report_metadata>
  <policy_published>
    <domain>mywebsite.fr</domain>
    <adkim>r</adkim>
    <aspf>r</aspf>
    <p>none</p>
    <sp>none</sp>
    <pct>100</pct>
  </policy_published>
  <record>
    <row>
      <source_ip>2001:41d0:1:e7c2::1</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>fail</dkim>
        <spf>fail</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>mywebsite.fr</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>mywebsite.fr</domain>
        <result>fail</result>
        <selector>mail</selector>
      </dkim>
      <spf>
        <domain>mywebsite.fr</domain>
        <result>softfail</result>
      </spf>
    </auth_results>
  </record>
  <record>
    <row>
      <source_ip>2001:41d0:1:e7c2::1</source_ip>
      <count>1</count>
      <policy_evaluated>
        <disposition>none</disposition>
        <dkim>pass</dkim>
        <spf>fail</spf>
      </policy_evaluated>
    </row>
    <identifiers>
      <header_from>mywebsite.fr</header_from>
    </identifiers>
    <auth_results>
      <dkim>
        <domain>mywebsite.fr</domain>
        <result>pass</result>
        <selector>mail</selector>
      </dkim>
      <spf>
        <domain>mywebsite.fr</domain>
        <result>pass</result>
      </spf>
    </auth_results>
  </record>
</feedback>

我迷路了,除了已经设定好的,我不知道该做什么。不要犹豫,问我更多信息,如果它可以帮助。谢谢...

【问题讨论】:

  • 你试过mailtest@unlocktheinbox.com吗?它是最全面的测试仪。

标签: email debian spf dkim dmarc


【解决方案1】:

无论如何,查看其他测试人员的结果,您似乎使用的是 4096 DKIM,它生成的密钥大小超过 512 字节。将您的 DKIM 大小降低到 2048,我认为您的问题将随着 DKIM 故障而消失。我见过很多大密钥大小导致 DKIM 失败的实例。

另外,来自 google 的结果显示一个 ipv6 地址作为源 IP,我感觉 Google 可能被窃听了,这可能是关于 aaaaa 记录的 SPF 查找不正确,您应该添加 @ 987654325@ 发送给您的 SPF,看看是否可以解决 Google 的 SPF 故障。

理论上,当 ESP 接收到 ipv6 IP 时,如果将 a 指定为机制,则应查找 aaaa 记录以获取 SPF,如果指定 IPv4,则应查找 a"

【讨论】:

  • 谢谢!您所说的密钥大小可能是诀窍,unlocktheinbox 实际上是在说“753 字节 - UDP 最多只能读取 512 字节,一些不使用 TCP 的电子邮件提供商将无法验证您的 DKIM”。奇怪的是它有时会起作用,而其他时候则不起作用。我会尝试这些更改,谢谢,我会与您保持联系。
  • 结果看起来不错,您必须关闭该端口上的贵宾犬漏洞。您还应该创建一个“postmaster@”帐户。还要记住,一些邮件服务器有多个 MTA,它们的配置可能不同,这可以解释间歇性行为。 SSL 证书不匹配也可能导致其他问题,您可以在以下位置生成免费证书:letsencrypt.org
  • 是的,贵宾犬的事情(我希望)现在正确关闭。还会创建邮局局长帐户。我的域已经有一些免费证书。 Tbh,我不知道如何将它们应用于邮件。
  • 嗯,我想知道我是否还有其他问题。当我从 roundcube 向 unlocktheinbox 发送邮件时,报告非常清楚,只涉及calendridel.fr(除非它涉及主机名 (vaeserveur.fr) ofc)。但是,当我使用 php mail() 从我的网站发送邮件时,报告有点混乱,其中包含关于 vaeserveur.fr然后是关于 calendridel.fr 的记录(它用于 rDNS、电子邮件端口检查等)。也许它会引起一些麻烦......知道它可能来自哪里吗?
  • 在无法看到任何相关数据的情况下很难提供任何建议,看起来unlocktheinbox.com 的旧报告已被删除。无论如何,rDNS 专注于说 LSIP 的条目——这才是最重要的。其余的信息更多。
【解决方案2】:

您看到的 SPF 问题是对齐问题。当 Return-Path 域和 Header From 域位于同一组织域上时,SPF 仅计入 DMARC。用有些过于简单的术语来说,它们需要相同或有一个不是 TLD 的共同父域。

从报告中,您可以看到您的 Return-Path 域(用于 SPF)是 vaeserveur.fr,而来自域的标头是 calendridel.fr。在这种情况下,SPF 产生通行证并不重要 - 该通行证值不会用于 DMARC。请参阅此处的讨论 - https://www.rfc-editor.org/rfc/rfc7489#section-3.1

至于 DKIM,另一个答案是正确的。验证器通常不支持 4096 位密钥,根据 RFC - https://www.rfc-editor.org/rfc/rfc6376#section-3.3.3

【讨论】:

  • 谢谢,我会抢夺你链接的讨论。问题是,calendridel.fr 在 vaeserveur.fr 上,它们是链接的,并且 spf 多次返回“通过”......但其他时候,它没有。无论如何,我希望 2048 位密钥足以修复它。再一次,谢谢。
  • 这个声明 - 'calendridel.fr is on vaeserveur.fr' - 不正确。两个域使用相同的主机或 IP 地址这一事实无关紧要。它们是不相同的。 DMARC 是关于域的。它们不是同一个域。阅读以上关于对齐的说明。
猜你喜欢
  • 2023-03-10
  • 2020-05-01
  • 2022-07-23
  • 2017-10-09
  • 2015-09-06
  • 1970-01-01
  • 1970-01-01
  • 2018-03-18
  • 2018-11-01
相关资源
最近更新 更多