如何在 Cloudflare 之后安全地查找真实源 IP(以及如何修复泄漏)
Source: Dev.to
请提供您希望翻译的具体文本内容,我将按照要求保留源链接并进行简体中文翻译。
为什么 Cloudflare 不能隐藏你的 MX IP
- MX 记录告诉全世界邮件应该投递到哪里。
- Cloudflare 无法像代理 HTTP/HTTPS 那样代理 SMTP 邮件,所以邮件服务器需要一个 真实、可公开访问的 IP 地址。
关键点: 你的 MX IP 并不会自动成为你的网站源 IP,但当你在同一台服务器上托管邮件和网站时,它常常会成为源 IP。
您将在此审计中回答的问题
- MX 使用了哪些主机名?
- 这些 MX 主机名解析到哪些 IP 地址?(在多个解析器中确认)
- 该 IP 属于谁,属于什么类型的网络?(托管、ISP、可疑等)
- 该 IP 是否在任何黑名单上?(对邮件投递和风险信号有用)
第一步 – 查找 MX 主机名
-
打开 DNS 记录查询工具,例如 NetworkWhois – DNS Records。
-
输入:
- 域名:
example.com - 记录类型:
MX
- 域名:
-
记录出现的 MX 目标,例如:
mail.example.commx1.provider.tldexample-com.mail.protection.outlook.com(Microsoft 365)aspmx.l.google.com(Google Workspace)

记录准确的 MX 主机名——你将在下一步解析它们。
第 2 步 – 将 MX 主机名解析为 IP(并确认一致性)
-
对每个 MX 主机名执行以下操作:
- 输入: MX 主机名(例如
mx.example.com) - 选择记录类型:
A(如果使用 IPv6 也选择AAAA) - 运行检查
- 输入: MX 主机名(例如
-
查找主要解析器之间的一致性。示例输出:
DNS Server Status IP Address TTL
Google (8.8.8.8) Propagated 192.0.2.10 3600
Cloudflare (1.1.1.1) Propagated 192.0.2.10 3600
Quad9 (9.9.9.9) Propagated 192.0.2.10 3600

这告诉你: 邮件服务器主机名在所有地方解析到相同的公共 IP —— 这就是 公共邮件 IP。
快速“同一服务器”检查
如果你的网页和邮件服务器共用同一台机器,通常会看到以下一种或多种情况:
mx.example.com解析到与你的网站源站相同的 IP。cpanel.example.com和webmail.example.com也解析到该 IP。- 你的根域名(
example.com)只有 DNS‑only 记录指向相同的 IP(或你忘记为某个主机名开启代理)。
将你获取的 IP 与你控制的主机名的 IP 进行比较,例如:
origin.example.comcpanel.example.comwebmail.example.com- 任意 “灰云”(仅 DNS)记录
第3步 – 对 IP 进行 WHOIS 查询以识别所有者
- 使用您发现的 IP(例如
192.0.2.10)。 - 使用 NetworkWhois – WHOIS Lookup。

在 WHOIS/Hazard 报告中需要关注的内容:
- ASN 类型 – 托管提供商(通常用于 VPS/专用服务器)、住宅/移动(常用于生产邮件时不正确)、代理/Tor(高风险)。
- 声誉标记 – Spamhaus、UCEPROTECT、“已知为邮件服务器”、“托管可能性”、“Bogon”、“不可达”等。
这些信号并非法律证据,但能提供有价值的上下文。干净的托管 ASN 没问题;如果出现“高风险代理、到处被列出”等结果,则表明声誉存在问题或系统可能已被妥协。
第4步 – 检查 IP 是否在黑名单上(邮件投递性与风险)
- 访问 NetworkWhois – IP Blacklist Checker。
- 粘贴相同的 IP 地址。
该工具会查询主要的 DNSBL(Spamhaus、SORBS 等),并显示任何列入的记录。
如果 IP 出现在黑名单上,您需要先解决根本问题(垃圾邮件、开放中继、服务器被入侵等),否则邮件投递性会受到影响。
如果发现不想要的“隐藏”来源该怎么办
- 分离服务 – 将邮件迁移到其他服务器或 IP。
- 代理仅网页的主机名 – 对所有面向网页的记录使用 Cloudflare(橙云),仅保留指向邮件服务器的 MX 记录。
- 更新 DNS – 确保所有暴露来源的“灰云”记录都改为指向代理或其他 IP。
- 监控声誉 – 定期重新执行 WHOIS 和黑名单检查,尤其是在任何基础设施变更后。
TL;DR
- MX 记录会暴露公共 IP,因为 SMTP 无法被代理。
- 如果网页和邮件托管在同一台服务器上,该 IP 往往会泄露你的网站来源。
- 使用公共 DNS 工具枚举 MX 主机名,解析它们,执行 WHOIS 并检查黑名单。
- 如果该 IP 与你的网站来源相同且不想暴露,请将邮件迁移出该服务器或为仅网页的主机名设置代理。
审计愉快! 🚀
为什么这一步很重要
- 如果该 IP 是你的邮件服务器 IP,被列入黑名单可以直接解释垃圾邮件文件夹问题和退信。
- 如果该 IP 也是你的网站来源,被列入黑名单可能表明服务器被滥用、被入侵,或之前被用于发送垃圾邮件。
如果确认 MX IP 与网站源 IP 相同该怎么办
如果您的邮件服务器和网站共享同一个 IP,并且您希望保持源 IP 私密,您只有少数几种实际可行的选项。
选项 1 – 将邮件与网站分离 (最佳、最简便)
将邮件迁移至:
- 专用邮件服务商(Google Workspace、Microsoft 365、Mailgun 等)
- 拥有独立 IP 的独立邮件 VPS
结果: MX 只会显示邮件 IP;您的网站源 IP 仍然隐藏在 Cloudflare 后面。
选项 2 – 在同一服务器上保留邮件,但接受源 IP 暴露
这是常见的 cPanel 场景。如果您什么也不做,任何检查 MX 记录的人都能发现您的源 IP。这并不一定“危险”,但您应相应地对服务器进行加固。
加固检查清单
- 防火墙 只允许 Cloudflare IP 段访问 80/443 端口,阻止其他来源访问源服务器。
- 锁定管理面板(
/wp-admin、/cpanel、/plesk),使用 IP 白名单、多因素认证(MFA)和速率限制。 - 移除不必要的仅 DNS 主机名,这些主机名指向源服务器(例如
direct.example.com、origin.example.com、旧的子域名)。 - 禁用未使用的服务,并积极应用补丁。
选项 3 – 使用邮件网关或中继
如果必须保留本地邮箱,但希望拥有更好的声誉和分离度,可使用出站中继。入站邮件仍需要指向可达的 MX,因此这只是部分解决方案。
即使“使用 Cloudflare”也会泄露源站的常见漏洞
mail.example.com直接指向源站,且该站点与同一服务器共享。cpanel.example.com、webmail.example.com、direct.example.com为仅 DNS 记录,暴露了源站。- 你为
www.example.com设置了代理,但忘记了根域(@)。 - 旧的子域仍解析到服务器 IP,尚未清理。
- 服务记录(SRV、TXT 等)无意中泄露了源站主机名。
修复这些问题主要是做好 DNS 卫生和网络加固。
立即尝试 – 5 分钟审计
- 查找 MX 主机名
- 解析 MX 主机名
- 验证所有权
按照清单操作,您就能了解您的 Web 源是否暴露以及接下来需要采取的措施。
