具有不同 HELO FQDN 的 SPF 问题

具有不同 HELO FQDN 的 SPF 问题

我正在尝试在 VPS 上的电子邮件服务器上设置 SPF/DKIM/DMARC。以下是我的 DNS 配置(为方便阅读,删除了 DKIM 和 DMARC):

@                       28800  A      X.X.X.X
@                       28800  MX     10 smtp.example.com.
smtp                    28800  A      X.X.X.X
www                     28800  A      X.X.X.X
@                       28800  TXT    "v=spf1 ip4:X.X.X.X -all"
smtp.example.com.       28800  TXT    "v=spf1 ip4:X.X.X.X  -all"
www.example.com.        28800  TXT    "v=spf1 -all"

电子邮件似乎有效,并且 port25.com 报告没有任何错误:

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

然而 Yahoo 报告了 SPF 失败:

<?xml version="1.0"?>   
<feedback>      
  <report_metadata>     
    <org_name>Yahoo! Inc.</org_name>    
    <email>[email protected]</email>   
    <report_id>1484621522.715243</report_id>    
    <date_range>        
      <begin>1484524800</begin> 
      <end>1484611199 </end>    
    </date_range>       
  </report_metadata>    
  <policy_published>    
    <domain>example.com</domain>  
    <adkim>s</adkim>    
    <aspf>s</aspf>      
    <p>reject</p>       
    <pct>100</pct>      
  </policy_published>   
  <record>      
    <row>       
      <source_ip>X.X.X.X</source_ip>      
      <count>7</count>  
      <policy_evaluated>        
        <disposition>none</disposition> 
        <dkim>pass</dkim>       
        <spf>fail</spf> 
      </policy_evaluated>       
    </row>      
    <identifiers>       
      <header_from>example.com</header_from>      
    </identifiers>      
    <auth_results>      
      <dkim>    
        <domain>example.com</domain>      
        <result>pass</result>   
      </dkim>   
      <spf>     
        <domain>myVPS.provider.com</domain>      
        <result>none</result>   
      </spf>    
    </auth_results>     
  </record>     
</feedback>

看来雅虎正在检查 HELO 名称(此处myVPS.provider.com),虽然它具有与发送域相同的 IP 地址,但没有 SPF 记录(我无法自行编辑其 DNS 配置)。

如果我的 VPS 提供商将以下内容添加到 DNS 配置中,是否可以解决该问题myVPS.provider.com ?

myVPS.provider.com.  IN TXT  "v=spf1 ip4:X.X.X.X  -all"

还有其他选择吗?

答案1

希望这是一个比以前的答案更好的方法:修改 MTA 中的 HELO/EHLO 名称。

借助exim4,我添加了以下内容到/etc/exim4/conf.d/main/00_local_settings :

REMOTE_SMTP_HELO_DATA=$sender_address_domain

然后在update-exim4.conf和之后service exim4 restart,HELO/EHLO 名称与发件人地址的域名相同。

更新 :

这种方法似乎是错误的,因为 HELO 数据应该是 FQDN。我想有一个更好的解决方案:根据OpenSPF FAQ,常见错误部分

SPF RFC 建议检查 HELO/EHLO 名称。发布这些主机名的记录是 SPF 协议的重要组成部分。

我会与我的 VPS 提供商核实,如果可以的话,我会测试并相应地更新这个答案。

答案2

实际上最简单的解决方案可能是修改 FQDN?

我对其进行了更改hostname example.com(并进行了修改/etc/hostname以便/etc/hosts下次重启),如果下一个雅虎报告是肯定的,我会接受这个答案(当然,除非有人有更好的答案……)。

相关内容