应立即检查dns记录代理状态、排查响应头与页面内容泄露、核查子域名及泛解析、审查第三方服务集成、确认ssl/tls加密模式,确保所有流量经cloudflare中转且源站ip不暴露。

如果您已将网站接入 Cloudflare 代理,但源站服务器 IP 仍被直接暴露并遭受攻击,则说明流量未完全经由 Cloudflare 中转。以下是解决此问题的步骤:
一、检查 DNS 记录代理状态是否启用
Cloudflare 的安全防护和 IP 隐藏功能仅在 DNS 记录处于“Proxied”(橙色云图标)状态下生效。若记录为“DNS only”(灰色云图标),则解析直接返回源站真实 IP,完全绕过 Cloudflare。
1、登录 Cloudflare 控制台,进入对应域名的 DNS 页面。
2、查找所有 A、AAAA、CNAME 类型的记录,确认其代理状态列显示为橙色云图标。
3、对任何显示为灰色云图标的记录,点击该图标切换为橙色。
4、特别注意:CNAME 记录若指向非 Cloudflare 托管域名,且目标域名未启用代理,仍可能导致源站 IP 泄露;必须确保最终回源路径上所有中间域名均处于 Proxied 状态。
二、排查源站 IP 在响应头或页面内容中泄露
即使 DNS 层已正确代理,源站服务器可能在 HTTP 响应头(如 Server、X-Powered-By)、HTML 源码(硬编码的 IP 或内网地址)、JavaScript 文件、CSS 注释或错误页面中意外暴露真实 IP。
1、使用 curl -I https://yourdomain.com 获取响应头,检查是否包含 Server: nginx/1.18.0 或 X-Real-IP: 192.168.1.100 等字段。
2、访问网站并查看网页源代码(Ctrl+U),搜索源站 IP 地址段(如 192.168.x.x、10.x.x.x、172.16–31.x.x)或托管服务商标识(如 “aws”、“aliyun”、“digitalocean”)。
3、检查 robots.txt、.git/config、phpinfo.php 等敏感路径是否可公开访问并泄露配置信息。
4、禁用所有含 IP 或服务器路径的调试输出,移除注释中的基础设施描述。
三、验证是否存在未代理的子域名或泛解析记录
攻击者常通过扫描子域名(如 dev.yourdomain.com、test.yourdomain.com、admin.yourdomain.com)发现未启用 Cloudflare 代理的记录,从而获取源站 IP 并发起直连攻击。
1、在 Cloudflare DNS 页面,执行全量记录扫描,确认每个子域名均有对应 DNS 记录且状态为橙色云图标。
2、检查是否存在 *.yourdomain.com 的泛解析 CNAME 或 A 记录,若存在且未开启代理,该泛解析将直接暴露源站 IP。
3、使用在线工具(如 dnsdumpster.com 或 subfinder)对 yourdomain.com 进行子域名枚举,比对 Cloudflare 控制台中是否全部覆盖。
4、删除所有不再使用的子域名记录;对必须保留但无需代理的子域(如邮箱 MX 记录),确保其类型不为 A/AAAA/CNAME,且不指向源站 IP。
四、审查服务器日志与第三方服务集成
源站 IP 可能通过第三方服务(如统计脚本、CDN 回源日志、监控探针、邮件发送服务、API 回调地址)间接泄露。这些服务若配置了源站 IP 作为白名单或回调目标,攻击者可通过逆向分析获取。
1、检查网站前端是否加载了未混淆的 JS 统计代码(如自建 Matomo、Grafana 前端面板),其 endpoint 是否为 http://192.168.1.100:3000/track。
2、审查后端日志中是否有来自 Cloudflare IP 段(如 172.64.0.0/13、2606:4700::/32)以外的请求,确认是否开放了非标准端口(如 8080、8443)且未设防火墙限制。
3、核查邮件服务(如 SMTP 配置)、Webhook 设置(如 GitHub/GitLab 回调地址)、SaaS 工具集成(如 Sentry、LogRocket)是否硬编码源站公网 IP。
4、所有对外暴露的接口地址必须使用主域名(如 api.yourdomain.com)并确保该域名已启用 Cloudflare 代理。
五、确认未启用“原始证书”或错误配置 SSL/TLS 模式
当 Cloudflare 的 SSL/TLS 加密模式设置为 “Off” 或 “Flexible”,且源站使用自签名证书或未绑定域名的证书时,部分客户端(尤其是爬虫或自动化工具)可能跳过 Cloudflare 直连源站 443 端口,并通过 SNI 或证书 Subject 字段反查源站 IP 与域名关联关系。
1、进入 Cloudflare SSL/TLS → Overview 页面,确认加密模式为 “Full” 或 “Full (strict)”。
2、在 SSL/TLS → Origin Server 页面,检查是否误启用了 “Origin Certificates” 并将其部署到源站;若未部署或证书不匹配,源站可能拒绝 HTTPS 请求,迫使客户端降级尝试 HTTP 直连。
3、使用 openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 查看返回证书是否由 Cloudflare 签发(Issuer 包含 “Cloudflare, Inc.”)。
4、禁止在源站单独监听 443 端口并提供非 Cloudflare 签发的证书;所有 HTTPS 流量必须由 Cloudflare 终止。










