开启 Cloudflare 后隐藏源站 IP 的核心在于两点:DNS 记录必须启用代理(橙色云图标),且源站防火墙必须仅允许 Cloudflare 官方 IP 段访问。仅开启 DNS 代理而不配置防火墙,攻击者仍可通过历史 DNS 记录或直接 IP 访问绕过防护。
先说结论:开启 Cloudflare 代理只是第一步,必须配合源站防火墙白名单才能彻底防止直连扫描。
- 先判断:检查 Cloudflare 控制台 DNS 记录是否均为橙色云图标(Proxied)。
- 优先做:在源站服务器防火墙(iptables 或云安全组)中仅放行 Cloudflare 官方 IP 段。
- 再验证:使用 curl 命令检查响应头是否包含 cf-ray 字段,并确认服务器日志无直接 IP 访问记录。
命令速用版
以下命令用于快速拉取 Cloudflare IP 段并配置 iptables 白名单,适用于 Linux 源站服务器。
curl -s https://www.cloudflare.com/ips-v4 | xargs -n1 echo "-A INPUT -s" | sed 's/$/ -j ACCEPT/' > /tmp/cf4.rules
获取 IPv6 地址段:
curl -s https://www.cloudflare.com/ips-v6 | xargs -n1 echo "-A INPUT -s" | sed 's/$/ -j ACCEPT/' > /tmp/cf6.rules
Nginx 配置真实用户 IP 获取:
set_real_ip_from 173.245.48.0/20; real_ip_header CF-Connecting-IP;
为什么会这样
Cloudflare 的 DNS 代理仅改变域名解析结果,不强制拦截直接 IP 访问。如果源站防火墙未限制,攻击者扫描到服务器公网 IP 后,可直接绕过 Cloudflare 边缘节点请求源站。因此,隐藏源站 IP 需要 DNS 代理与防火墙白名单双重配合。
分步处理
步骤 1:确认 DNS 代理状态
适用场景:所有接入 Cloudflare 的域名记录。
操作动作:登录 Cloudflare 控制台,进入 DNS 页面,确保所有 A、AAAA、CNAME 记录显示橙色云图标。
风险边界:若存在 CNAME 指向第三方域名且未启用代理,整个链路失效,源站 IP 必然泄露。
步骤 2:配置源站防火墙白名单
适用场景:源站服务器(Linux iptables 或云平台安全组)。
操作动作:删除所有 0.0.0.0/0 放行项,新增规则仅允许 Cloudflare 官方 IPv4/IPv6 网段访问 80/443 端口。
风险边界:Cloudflare IP 段会更新,建议每季度手动同步一次,或用脚本自动拉取并重载规则。
步骤 3:清理 Web 服务泄露信息
适用场景:Nginx、Apache 或宝塔面板。
操作动作:关闭宝塔面板的「强制 HTTPS」和「HTTP 重定向」功能,移除响应头中的 Server 标识。
风险边界:若 Web 服务配置错误,可能在 301 跳转中泄露真实 IP。
怎么验证是否生效
检查响应头:在终端执行curl -I https://yourdomain.com,正常应返回cf-ray字段,且server字段不暴露真实服务标识(如 nginx/openresty)。
检查日志 IP:查看源站访问日志,确认所有请求 IP 均为 Cloudflare 节点 IP 段,而非用户真实 IP 或空值。
外部扫描验证:使用 Shodan 等工具扫描服务器公网 IP,确认未开放 80/443 端口或无法直接访问网站内容。
常见坑
- 宝塔面板干扰:宝塔默认开启的「强制 HTTPS」可能绕过 Cloudflare 的 SSL 加密层,导致真实 IP 在 301 跳转中泄露,需手动关闭。
- 邮件头泄露:服务器发送的系统邮件(如密码重置)可能包含源站 IP 头信息,需配置 SMTP 中继或移除 IP 标识。
- 子域名遗漏:主域名启用代理但子域名(如 mail.example.com)未启用,攻击者可通过子域名解析反查源站 IP。
- 历史 DNS 记录:接入 Cloudflare 前的 DNS 记录可能被存档,若源站 IP 未变更,攻击者可通过历史 DNS 查询工具获取。
常见问题
开启橙色云图标后源站 IP 就安全了吗?
不安全。橙色云图标仅表示流量经过 Cloudflare 代理,若源站防火墙未限制直接 IP 访问,攻击者仍可直接连接服务器公网 IP。
如何获取访客的真实 IP 地址?
需在 Web 服务器配置中信任 Cloudflare IP 段,并读取CF-Connecting-IP或X-Forwarded-For请求头,否则获取到的将是 Cloudflare 节点 IP。
Cloudflare 的 IP 段会变化吗?
会变化。官方会不定期更新 IP 范围,建议定期通过官方接口拉取最新列表并更新防火墙规则,避免正常流量被误拦。
参考来源
- Cloudflare 免费 CDN 回源 IP 怎么配置?防止源站被直接访问的安全策略
- 源站隐藏实战:规避裸 IP 被直接攻击的完整方案
- 腾讯云域名+Cloudflare CDN 保姆级配置:手把手教你隐藏服务器真实 IP 并加速网站-CSDN 博客
- 如何利用宝塔面板隐藏服务器真实 IP_配合 Cloudflare 设置
- 如何使用 cloudflare 的 CDN 加速网站隐藏网站 IP