技术解析 · 附来源的解答

邮件伪造:定义与技术原理

邮件伪造是指伪造邮件头,使邮件看起来来自合法或已知的来源。由于简单邮件传输协议(SMTP)本身不验证 From 地址,任何发件人都可以在邮件信封或邮件头中指定任意身份。

工作流程

伪造发生在 SMTP 事务过程中。该协议将信封发件人(MAIL FROM)与邮件头发件人(From:)分开。恶意攻击者可以连接开放中继或使用自定义脚本,在 From 头中填写一个受信任的域名,同时使用不同的退信路径。默认情况下,收件邮件服务器会根据这些提供的字符串处理邮件,而不会验证发信 IP 是否有权使用该域名。

对合法发件人的影响

攻击者伪造某个域名时,会损害该域名合法所有者的信誉。大量伪造的钓鱼邮件可能导致该域名被全球性过滤器列入黑名单,进而使合法的事务性邮件和营销邮件被标记为垃圾邮件或被直接拒收。只有保持严格的身份验证配置,才能向收件方表明应丢弃未经授权的邮件。

通过身份验证进行防范

防范依赖三大支柱:SPF、DKIM 和 DMARC。SPF 列出获授权的 IP 地址,DKIM 在邮件头中添加加密签名,DMARC 则将两者联系起来,指示收件方拒收或隔离未通过这些检查的邮件。您可以使用 SendHQ 免费工具(https://sendhq.cc/tools)验证当前的 DNS 记录是否已正确配置,能够阻止伪造企图。

常见操作错误

一个常见错误是在没有 DMARC 策略的情况下,将 SPF 记录配置为 SoftFail(~all)而不是 Fail(-all)。这等于告诉收件服务器:这封邮件很可能未经授权,但仍应接收。另一个错误是迁移到新的 ESP 后没有更新 SPF 记录,导致合法邮件在收件服务器看来像是伪造流量。

具体示例

攻击者发送一封邮件,其 SMTP 信封设置为 attacker@malicious.com,而邮件头设置为 From: billing@yourcompany.com。如果 yourcompany.com 没有 DMARC 策略,收件人的邮件客户端就会显示这个账单地址,诱使用户相信该请求是官方发出的,尽管其底层传输并未获得授权。

团队常问的问题

邮件伪造和网络钓鱼是一回事吗?

不是。伪造是伪造发件人身份的技术手段,网络钓鱼则是攻击的社会工程目的,它经常借助伪造来骗取信任。

仅靠 SPF 能阻止伪造吗?

不能。SPF 只验证信封发件人。攻击者可以使用自己域名下有效的信封,同时伪造可见的 From 头。需要 DMARC 来确保邮件头对齐。

DKIM 能防止伪造吗?

DKIM 能证明内容未被篡改,且邮件来自持有该密钥的域名;但除非 DMARC 策略强制要求签名,否则它无法阻止发件人干脆不附带签名。

一手资料