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

攻击者伪造From地址时SPF的作用及相关设计疑问

邮件SPF/DKIM认证相关问题解答

一、你的初始理解是否正确?

没错,你的理解完全准确:SPF仅校验发送邮件服务器的IP是否在信封发件人(Return-Path/MAIL FROM)域名的SPF记录范围内。攻击者伪造收件人可见的From地址时,只要信封发件人用自己控制的域名,且把发送服务器IP加入该域名的SPF记录,SPF校验就会顺利通过。

二、单独使用SPF的意义是什么?

  • 拦截伪造信封发件人的垃圾/钓鱼邮件:很多早期垃圾邮件会直接冒充正规域名的信封发件人,SPF能直接拦下这类邮件——正规域名的SPF记录根本不会包含垃圾邮件服务器的IP。
  • 提升邮件送达率:合规配置SPF的发件方,能让收件方服务器确认发件IP的合法性,降低邮件被误判为垃圾邮件的概率。
  • 作为DMARC的基础:完整的邮件认证体系(DMARC)需要SPF或DKIM的校验结果来执行对齐规则,单独的SPF是搭建这套体系的第一步。

三、攻击者为何要伪造信封发件人?

  • 隐藏真实身份:用自己控制的域名做信封发件人,退信会回到该域名的邮箱,不会暴露攻击者的真实服务器或私人邮箱。
  • 绕过SPF拦截:如你所说,配置好自己域名的SPF后,邮件能通过SPF校验,减少被收件方服务器直接拦截的可能。
  • 配合From地址伪造:收件人看到的是伪造的From地址(比如john@gmail.com),而信封发件人是攻击者的域名,既过了SPF校验,又能最大化欺骗收件人。

四、为何SPF的设计没采用From地址?

核心原因是兼容邮件转发/中继场景:

  • 正常的邮件转发(比如企业网关转发员工邮件、第三方服务代发邮件)会保留用户可见的From地址,但会把信封发件人改成转发服务器的域名。如果SPF校验From地址的域名,转发后的邮件会因为发件IP不在原From域名的SPF记录里被拦截,导致大量合法邮件无法送达。
  • SPF的定位是校验传输层的发件合法性,而From地址是内容层给用户看的标识,两者负责的逻辑完全不同。SPF设计时就瞄准了传输层的信封发件人,而非内容层的显示地址。

五、如果SPF改用From地址校验,DKIM的必要性会降低吗?

不会,DKIM依然有不可替代的价值:

  • 防内容篡改:SPF只管IP和域名的关联,没法验证邮件内容有没有被改。DKIM通过对邮件内容(或核心部分)签名,能确保邮件从发件到收件全程没被篡改。
  • 适配转发场景:就算SPF改校验From,转发服务器可能会给邮件加免责声明之类的内容,此时SPF可能失效,但只要DKIM签名的部分没动,依然能通过校验。
  • 覆盖更多场景:有些发件方用动态IP发邮件,没法满足SPF的固定IP限制,DKIM靠域名私钥签名,不依赖固定IP,能补充SPF覆盖不到的情况。

六、未采用From地址校验的其他原因?

除了转发/中继,还有这些因素:

  • 加密邮件限制:如果邮件内容(包括From地址)被加密,收件方服务器读不到From地址,根本没法执行SPF校验。
  • 历史生态兼容:SPF设计时,邮件传输体系已经用信封发件人处理退信和传输逻辑很久了,改用From地址会打破现有规则,导致大量合法邮件失败。
  • 规则复杂度:From地址可能包含多个域名(比如同时显示个人和团队邮箱),SPF如果校验From地址,规则会变得异常复杂,没法统一执行。

内容的提问来源于stack exchange,提问作者kataba

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 03:23:27