本文由财富云计算提供,我们提供高防服务器、CDN 与 NAT 型云服务器,NAT 型无独立公网 IP 价格比独立 IP 省一半以上,源站隐藏是我们的标准交付动作,见文末。
一、为什么源站暴露 = 防护归零
高防/CDN 的逻辑是「对外只暴露防护入口,源站藏在后面」:
正确架构: 用户 → 高防/CDN(清洗)→ 源站
攻击者 → 只能看到高防 IP → 打不动源站 IP 一暴露:
被绕过: 攻击者 → 直接打源站 IP → 高防形同虚设
你的源站在普通机房 → 几 G 攻击就瘫痪高防洗得再干净,洗不了不打它的流量。源站隐藏不是可选项,是买了防护之后第一件必须做的事。
二、攻击者找源站的六种手段(逐个拆招)
2.1 DNS 历史解析记录
原理:你的域名以前裸奔过(没用 CDN),历史解析记录里全是源站 IP。查 DNS 历史(各种在线工具、被动 DNS 数据库)就能翻出来。
自查:
# 主动 DNS 现在指向哪
dig +short 你的域名 A
dig +short www.你的域名 A
# 历史记录要查被动 DNS 数据库(在线工具搜「域名历史解析」)对策:
- 源站 IP 进过历史解析的,换 IP 或换域名——被动 DNS 数据库删不掉
- 新业务一开始就套 CDN/高防,别先裸奔再补救
- 企业域名所有历史记录清理一遍,冷门的老域名也查
2.2 子域名爆破(最常见的漏点)
原理:主站 www.z0w.cn 套了 CDN,但 admin.z0w.cn、test.z0w.cn、mail.z0w.cn、api.z0w.cn 没套——解析直接到源站 IP。攻击者爆破子域名列表,命中一个就全盘皆输。
自查:
# 常见子域名挨个查(对比:套 CDN 的解析到 CDN 段,裸奔的解析到源站段)
for sub in www mail admin test dev api app cdn img static blog bbs m; do
ip=$(dig +short $sub.z0w.cn | head -1)
echo "$sub.z0w.cn → $ip"
done
# 套了 CDN 的应该解析到 CDN CNAME;直接 A 记录到某个固定 IP 的 = 高危专业爆破(攻击者视角,你也要知道):
# 子域名枚举(用工具,示例思路)
subfinder -d z0w.cn # 被动来源
amass enum -passive -d z0w.cn对策:
- 所有子域名要么套 CDN,要么不存在——
test这种内部子域名删掉 DNS 记录,用 hosts 或内网 DNS 访问 - 必须保留的子域名(如管理后台)单独套 CDN + IP 白名单(只放你的办公 IP)
- 泛域名证书场景注意:
*.z0w.cn的 CDN 要开泛域名支持
2.3 证书透明度日志(CT Logs)
原理:所有公开信任的 SSL 证书都记录在 CT 日志里,crt.sh 等网站可查。源站证书(或给源站签过的证书)会暴露 IP。
自查:
curl -s "https://crt.sh/?q=z0w.cn&output=json" | python3 -c "
import json,sys
data = json.load(sys.stdin)
for d in data:
print(d.get('name_value'), '|', d.get('issuer_name', '')[:40])
" | sort -u对策:
- 源站证书用自签名——回源 TLS 是私有链路(CDN/高防到你的服务器),不在乎证书可不可信,CDN 商家都支持「忽略回源证书校验」
- 或者源站用内网 CA 签的证书(不进 CT 日志)
- 对外证书只在 CDN 商家处管理
2.4 邮件服务器(MX 记录)
原理:企业邮箱 @z0w.cn 的 MX 记录指向邮件服务器,这个 IP 常和源站同机或同段。查 MX → 反查同段 IP → 找到你的源站。
自查:
dig MX z0w.cn +short # 邮件服务器
dig A mail.z0w.cn +short # 它的 IP
# 这个 IP 和你的 Web 源站是什么关系?同段?同机?对策:
- 邮件和 Web 彻底分离——用第三方企业邮箱(腾讯/阿里/网易企业邮),自己服务器不跑邮件
- 自建邮件服务器的,独立 IP、独立机器,别和 Web 源站混
2.5 客户端泄露(APP/小程序/桌面端)
原理:
- APP 里写死了源站 IP(早期版本、配置文件、旧 SDK)
- 小程序的 request 合法域名要配 IP 时泄漏
- 桌面客户端更新检查、崩溃上报直连源站
对策:
- APP 所有网络请求走域名(DNS 层可切),代码里不出现任何 IP
- 崩溃上报、统计走第三方 SDK,不直连自己源站
- 历史版本泄露过 IP 的——换源站 IP 或加一层只放行 CDN 回源的校验
2.6 社交工程与历史痕迹
原理:
- 你在论坛/群聊晒过服务器 IP(游戏服主高发:贴过
connect 1.2.3.4:28015) - Whois 历史、网站备案信息、招聘信息的技术栈描述
- 源码仓库里泄漏的配置(GitHub 搜域名/IP)
对策:
- 游戏服公开连接地址只用高防 IP,源站 IP 永不外露
- 代码仓库配
.gitignore+ 上线前扫敏感信息(gitleaks、trufflehog) - 内部文档用域名不用 IP
三、源站加固:即使 IP 泄露也打不动
隐藏是「不被找到」,加固是「找到了也白费」——双保险。
3.1 回源白名单(核心)
# /etc/nginx/conf.d/whitelist.conf
# 只允许 CDN/高防回源 IP 段
server {
listen 80;
server_name z0w.cn;
allow 203.0.113.0/24; # CDN 回源段 1(商家文档查)
allow 198.51.100.0/24; # CDN 回源段 2
deny all; # 其他全拒——包括源站 IP 直连
location / { proxy_pass http://127.0.0.1:8080; }
}# iptables 双保险
iptables -A INPUT -p tcp --dport 80 -s 203.0.113.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s 198.51.100.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP3.2 只认域名(Host 校验)
server {
listen 80 default_server;
server_name _;
return 444; # 裸 IP 访问、错误 Host 直接断
}
server {
listen 80;
server_name z0w.cn *.z0w.cn;
...正常业务...
}3.3 防火墙最小化
# 源站只开回源端口,其他全关
iptables -P INPUT DROP
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -s CDN段 -j ACCEPT # 回源
iptables -A INPUT -p tcp --dport 443 -s CDN段 -j ACCEPT # HTTPS 回源
iptables -A INPUT -p tcp --dport 22 -s 你的管理IP -j ACCEPT # SSH 只放行你
# 其他全 DROP(默认策略)模板见iptables 抗 DDoS 配置,改造成回源专用。
3.4 封禁探测
# 发现攻击者直连源站 IP(日志里出现非 CDN 段的访问)
grep -v -E '203\.0\.113\.|198\.51\.100\.' /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head
# 这些就是绕过 CDN 直连的——白名单应该已经拦了,查日志确认四、终极方案:NAT 型源站(没有公网 IP)
以上都是「藏 IP」,NAT 型是「没有 IP 可藏」——源站本身没有独立公网 IP,只有 NAT 网关的一个映射端口:
传统源站: 源站有公网 IP → 藏不好就暴露 → 被打
NAT 源站: 源站无公网 IP → 攻击者扫遍全网也找不到 → 无从打架构:
用户 → 高防/CDN(对外唯一入口)
↓ 回源
NAT 网关(公网 IP:映射端口)
↓ 内网转发
源站(内网 IP,如 10.0.0.5,无公网)为什么 NAT 型适合做源站:
| 维度 | 传统源站 | NAT 源站 |
|---|---|---|
| 公网暴露面 | 一个 IP(可能泄露) | 零(网关是共享出口) |
| 被直连风险 | 有 | 无(网关不转发陌生流量) |
| 高防回源 | 配公网 IP | 配网关 IP + 端口映射 |
| 成本 | 独立 IP 机型贵一半以上 | NAT 型省一半以上 |
| 适用 | 必须直连的业务 | 挂 CDN/高防后面的源站 |
NAT 型 + 高防/CDN 是源站隐藏的性价比之王——省下的 IP 费用买防护,安全性和成本双赢(这就是我们的主推架构,见文末)。
NAT 型做源站的配置要点
# 1. 源站只监听内网 + 网关转发(或直接听网关映射)
# 2. HTTPS 回源要开通网关 443 映射(默认可能只有 80)
# 3. 高防回源填「网关公网 IP:映射端口」
# 4. 网关防火墙只放行高防/CDN 回源段五、排查清单:一张表验完全部暴露面
DNS 暴露面
□ 主域名/所有子域名解析指向(无裸奔 A 记录)
□ DNS 历史解析记录查过(被动 DNS 工具)
□ 内部子域名(test/dev/admin)DNS 记录已删或用 CDN
证书暴露面
□ crt.sh 查自己域名(无暴露 IP 的证书)
□ 源站证书自签或内网 CA
邮件暴露面
□ MX 记录指向第三方(非自己服务器)
□ 邮件服务器与源站不同机不同段
客户端暴露面
□ APP/客户端代码无硬编码 IP
□ 崩溃上报/统计走第三方
□ 历史版本无泄漏(泄漏过就换源站 IP)
社交暴露面
□ 论坛/群聊无晒过源站 IP
□ 代码仓库无泄漏配置(gitleaks 扫)
□ Whois/备案信息不含源站 IP
加固面
□ 回源白名单(Nginx + iptables 双层)
□ Host 校验(裸 IP 访问 444)
□ SSH 只放行管理 IP
□ 日志监控非回源段访问这张表建议每季度过一遍——业务变更(新子域名、新 APP 版本)随时引入新暴露面。
六、被绕过打了怎么办
日志发现「非 CDN 段的 IP 在访问源站」= 源站已暴露,攻击者正在绕过防护:
- 确认白名单生效:没配回源白名单的立刻配(3.1),配了的查是不是有漏洞(子域名旁路、其他端口)
- 找暴露点:拿第三节的清单过一遍,多半是某个子域名或邮件
- 换 IP / 切架构:紧急情况下源站换 IP(云控制台操作),同时查暴露点是否跟着域名走(域名解析到新 IP = 换了也白换)
- 切 NAT 型:从根上没有公网 IP,一劳永逸
- 引流:攻击进行中,先把域名切高防/CDN 顶住(迁移实操)
七、小结
源站隐藏的完整体系:六个暴露面逐个查(DNS 历史、子域名、证书、邮件、客户端、社交痕迹)+ 三层加固(回源白名单、Host 校验、防火墙最小化)+ NAT 型终极方案(没有 IP 可暴露)。核心认知:买了防护不等于安全,防护的强度和源站的隐蔽性成正比——攻击者找不到你,300G 和 30G 没区别;找得到你,1T 也白搭。每季度拿第五节的清单过一遍,把隐藏当成和备份一样重要的日常运维。
相关阅读:
本文由财富云计算整理,我们提供高防服务器、CDN 防护与 NAT 型云服务器,NAT 型无独立公网 IP 是源站隐藏的性价比方案,价格比独立 IP 省一半以上,需要架构设计的咨询我们。更多教程见端口速查表。
延伸阅读
- 高防误区与避坑清单:25 个坑+下单前必问 14 问+到货验货流程
- DNS 攻击防护专题:劫持、隧道、投毒、放大四类攻击与 DNSSEC
- 电商大促防攻击预案:T-14 到当天的分级响应与降级开关
- 日志分析找攻击源:Nginx 日志三维度分析法与证据固定
- 攻击应急响应手册:六阶段响应流程,从确认到复盘的照做清单
- iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
- OpenResty Lua 自研 WAF:动态限流+攻击特征检测+Redis 黑名单
- Nginx 进阶防护:连接层、请求层、行为层三层生产级配置

[...]本文由财富云计算提供,我们提供高防服务器与 CDN 防护服务,NAT 型无独立公网 IP 价格比独立 IP 省一半以上,选型拿不准的看完这篇直接咨询。一、参数表的十个文字游戏坑 1:「1T 防护」是机房共享宣传页写「1Tbps 防护」,实际是整个机房清洗集群的总能力,分给你单个 IP 的可能是 50G。问法:「这个防护值是单 IP 独享清洗能力,还是机房共享池?」坑 2:「硬防」是营销词「硬防 1[...]
2026-10-21 回复
[...]netsh advfirewall firewall add rule name="GameRange" dir=in action=allow protocol=UDP localport=26901-26903完整的 Windows 环境准备(远程桌面连接、运行库安装、SteamCMD 用法、开机自启、8 个常见坑)见:《Windows 云服务器开服通用前置教程》→ htt[...]
2026-10-21 回复