跳到正文
>_ITDITDWeb 安全平台

安全指南

收到了『冒充自己域名』的邮件——它和被入侵的区别,以及如何止住

一封自称来自你自己域名的可疑邮件发到了你自己邮箱——多数情况下这并不是『服务器被入侵』,而是『发件人(From)被伪造』。本文从防御视角,浅显讲解如何与被入侵区分(怎样读邮件头)、为什么它能进到收件箱,以及如何用 SPF、DKIM、DMARC 分阶段止住冒充。

发布于 2026-06-23 更新于 2026-06-23 3 分钟阅读

某天,一封自称来自自己公司域名的可疑邮件,发到了自己邮箱——首先请放心,没事。这多数情况下不是『被入侵』,而是『发件人被冒充』。本文从防御视角讲解如何分辨,以及如何止住(不涉及攻击的构造方法)。

先安心:冒充 ≠ 被入侵

这是最重要的误解点。邮件信封上的『发件人』,发送方可以任意填写。所以仅仅收到一封随手写着你域名的邮件,并不意味着家被人闯入了——这就是基本格局。

外部的发信源(攻击者的中继服务器)— 把 From 冒充成你署名
你的接收服务器(MX) 收下它(没有拒绝依据就会受理)
↓ 若设有转发
到达最终收件箱(Gmail 等)— 看起来像『真的收到了』
冒充邮件从『外部的发信源』发出,经过你的接收服务器(MX),若设有转发则到达最终收件箱。发信源并不是你的设备。

不过作为例外,邮件账户真的被入侵的情况也并非为零。而要区分这一点,读邮件头就能看出来。

用邮件头分辨是『入侵』还是『冒充』

邮件在正文背后附带着一份叫『邮件头』的投递记录(Gmail 里可用『显示原始邮件』来读)。要看的要害有这 5 处。

邮件头看哪里这样读
Authentication-Resultsspf= / dkim= / dmarc= 的结果dmarc=fail,就是『正规认证没通过=很可能是冒充』
Received(会接连出现多条)最底下=最初的发信源若是从你自己签约的服务器以外发出,就是『来自外部的冒充』
Return-Path(信封上的发件人)是否与可见的 From 一致不一致=冒充的信号
Reply-To(回复地址)回复会飞到哪里From 看着像公司内部,回复地址却是无关的外部 → 引诱你回复来下钩的陷阱
X-Mailer(发送软件名)是不是正经名字莫名其妙的随机字符串=自动垃圾邮件工具的指纹

尤其容易被忽略的是 Reply-To。From 哪怕长得和公司同事一模一样,一回复却飞到了完全不同的外部地址——对方就在那里诱导你照其要求把机密或联系方式(聊天的二维码等)回复过去,借此劫持联络渠道。不要只凭 From 的外观就信任,这是人这一侧最大的防御(→ 什么是钓鱼)。

为什么它能进到收件箱

冒充邮件连垃圾邮件都不算就进来了,是因为接收方没有『拒绝假货的依据』

1

没有 DMARC 的方针

如果你的域名没有设置 DMARC 策略,接收方即便检测到 From 被冒充也无法强制拒绝。这是它能进到收件箱的最大主因。

2

SPF 是『软』的设置

若 SPF 末尾是 ~all(软失败=『可疑但不拒绝』),接收方就缺少拒绝它的决定性依据。

3

转发会破坏 SPF

把收到的邮件转发到别的地址时,SPF 会以转发源服务器为基准看起来是『pass』,但 From 仍是别的域名。最后裁决这种不一致的,正是 DMARC。

这里起作用的是 DKIM 签名。SPF 会被转发破坏,但 DKIM 签名即便被转发也能存活下来。所以『即便提升到拒绝(reject)也不会误杀正规邮件』的救命绳就是 DKIM——这正是在对策中要先把 DKIM 作为地基打好的理由。

修复办法:SPF → DKIM → DMARC 分阶段

机制的细节交给 什么是 SPF / DKIM / DMARC,这里只讲安全的顺序。铁律是『不要一上来就拒绝』。

1

把 SPF 只配一条且配对

把用于发送的正规服务器(自家・邮件投递服务等)无一遗漏地许可。SPF 要在一个域名上汇总成一条,并确保评估时的 DNS 查找不超过 10 次(超了整条 SPF 都会失效)。
2

启用 DKIM 签名(地基)

在使用中的邮件基础设施上启用 DKIM。即便被转发也能存活的签名,会成为日后改成拒绝时的防止误伤的救命绳
3

DMARC 从 p=none(仅监控)开始

不要一上来就拒绝。先用 p=none +接收报告,观察 1~2 周,看正规邮件会不会被误杀
4

分阶段一直提升到 reject

用报告把正规投递的遗漏都堵掉后,再 p=quarantinep=reject。最终达成『冒充在接收方就被拒绝』,这时这次这种邮件才会在到达对方收件箱之前就消失

『缺哪一块』会因域名而恰好相反

逐个检查多个域名,会发现一件有趣的事:缺的那个洞往往恰好相反。原因在于『发送的机制不同=服务自动帮你做掉的范围不同』。

邮件投递服务型

  • 例:交易邮件从外部的投递服务发出的架构
  • DKIM / DMARC 在初始设置里就自动容易配上
  • 唯独 SPF 需要自己在 DNS 里追加 → 那一处容易漏

主机托管标准型

  • 例:从租用服务器直接发送的架构
  • SPF 大多一开始就有
  • DKIM 要手动打开、DMARC 要自己发布 → 这两个容易漏

两者在『三个没配齐』这点上是一样的,只是缺的方式像镜像而已。先搞清楚自己域名属于哪一种模式,这是第一步。

本站的视角:『以为配了』是止不住的,要检查过才会生效

本站认为,邮件认证并非『设置完就完事』,而是『检查过才会生效』。自己的域名可以用 SPF / DKIM / DMARC 检测器网站综合安全诊断 一下就确认现状。实际上,单单一个设置值就可能有坑——比如没有配置失败报告的发送地址(ruf),却加了 fo,那么按规范它只是个会被忽略的死标签。这种经审查才发现的『无害但无意义的设置』并不少见。而真正的重点始终是『让接收方一开始就把冒充拒掉(DMARC)』『人不要落入陷阱去回复』这两道防线。在检测和设置之前,先放上用机制来止住的设计,这是本站的基本立场。

接着读

FAQ

Q收到自称来自自己域名的邮件=服务器被入侵了,是这个意思吗?
A

多数情况下不是。邮件的发送方式(SMTP),其机制就是允许发件人任意填写发件人(From)栏。这就和在信封背面随手写上别人的住址一样,哪怕完全没碰过你的服务器,也能发出『以你域名署名』的邮件。所以收到≠被入侵。到底是真被入侵了,还是单纯的冒充,读一读邮件头就能分辨。

Q为什么冒充邮件连垃圾邮件都不算,能直接进到收件箱?
A

因为接收方(Gmail 等)没有『拒绝假货的依据』。如果你的域名没有设置 DMARC 方针,接收方即便检测到 From 被冒充,也无法强制拒绝。再加上一旦牵涉转发,判定就会摇摆。对策是把 SPF、DKIM、DMARC 都配齐,并把 DMARC 分阶段提升到 p=reject(拒绝)。

Q该从哪里下手?
A

先检查自己域名的现状(用 SPF/DKIM/DMARC 检测器一下就能确认)。在此基础上,不要一上来就拒绝,DMARC 从 p=none(仅监控)开始,先用报告确认正规邮件不会被误杀,再分阶段提升到 p=quarantine→p=reject。在转发路径上守护正规邮件的救命绳是 DKIM 签名,所以要先把 DKIM 启用搞定。