You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

已配置SPF、DKIM、DMARC仍遭域名仿冒的技术咨询

已配置SPF、DKIM、DMARC仍遭域名仿冒的技术咨询

嘿,我来帮你捋捋这个棘手的问题!你已经把SPF、DKIM、DMARC都配置妥当,甚至把DMARC的拒信比例拉到了100%,大部分仿冒邮件都能被成功拦截,结果碰到这么个漏网之鱼确实闹心。先看看你提供的DMARC记录:

<record>
<row>
<source_ip>209.85.220.41</source_ip>
<count>1</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>
<selector>selector1</selector>
</dkim>
<spf>
<domain>(spoofing domain).cc</domain>
<result>pass</result>
</spf>
</auth_results>
</record>

你说你理解SPF的情况——没错,这条记录里的SPF pass是针对(spoofing domain).cc的,因为邮件通过Google转发,Google的IP在这个仿冒域名的SPF列表里,但header_from是你的example.com,所以SPF对齐失败,最终policy_evaluated里的SPF是fail,这部分逻辑没问题。

最关键的疑问是为什么DKIM会显示pass?从记录看,DKIM签名的域名就是你的example.com,使用的是你自己的selector1,而且验证通过了,这说明邮件上的DKIM签名是有效的。能出现这种情况,大概率只有两种可能:

  • 你的DKIM私钥泄露了:这个仿冒者拿到了对应selector1的私钥,所以能以你的域名名义生成合法的DKIM签名。这种情况非常危险,得立刻排查私钥的安全状况:

    • 检查所有使用这个selector的服务(比如你的邮件服务商、营销邮件工具等),确认私钥没有被不当获取;
    • 排查是否有离职员工还保留着相关配置的访问权限;
    • 检查代码库、配置文件等公开或半公开的地方,有没有不小心提交了私钥。
  • 邮件是被篡改的合法邮件转发而来:如果仿冒者盗用了你发出的合法邮件,修改内容后通过Google转发,而Google没有修改DKIM签名覆盖的关键字段(比如From、Subject等),那原始的有效签名会被保留。不过这种情况比较少见,你可以查看完整的邮件头,看看签名覆盖的字段有没有被改动的痕迹。

给你几个具体的排查步骤:

  1. 立刻查看完整的邮件原始头信息,仔细核对DKIM签名的详细内容,确认签名覆盖的字段是否完整,有没有被篡改的迹象;
  2. 临时更换DKIM selector:生成新的公私钥对,在DNS上配置新的selector记录,同时停用旧的selector1。如果之后仿冒邮件的DKIM变成fail,那基本可以确定是旧私钥泄露了;
  3. 检查你的DMARC报告里的其他记录,看看这个仿冒者是不是只通过Google转发,有没有其他来源的仿冒邮件,辅助判断问题根源。

备注:内容来源于stack exchange,提问作者mat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 14:12:58