本文由财富云计算提供,我们提供高防服务器与 CDN 防护服务,NAT 型无独立公网 IP 价格比独立 IP 省一半以上,需要 CDN + 源站防护组合方案的见文末。
一、CDN 为什么能防护:三个机制
1.1 分布式节点摊薄攻击
单台源站的带宽是固定的(比如 10Mbps),DDoS 打满就挂。CDN 有几十上百个节点分布各地,攻击流量被分散到多个节点——每个节点扛的是总攻击的一小部分。攻击者要打瘫你的站,得先打瘫整个 CDN 网络,成本高几个数量级。
直接打源站:100G 攻击 → 你的 10M 带宽瞬间蒸发
打了 CDN: 100G 攻击 → 分散到 50 个节点,每节点 2G,节点扛,源站 0 压力1.2 缓存挡住大部分请求
静态资源(图片/CSS/JS)命中节点缓存,请求根本到不了源站。CC 攻击刷你的首页?如果首页可缓存,刷的都是节点缓存,源站服务器闲得喝茶。
1.3 节点自带基础清洗
主流 CDN 节点都有 SYN Flood / UDP Flood 的基础清洗(这是节点机房的标配),七层还有 CC 防护规则。这就是「免备案小站套个 CDN 也能扛小攻击」的原因。
CDN 防不了什么(要有预期):
- 针对你回源 IP 的定向打击(所以必须做回源白名单,见第四节)
- 大流量 DDoS(超过 CDN 免费/套餐防护上限还是会黑洞——这时上高防,见对比篇)
- 慢速精细 CC(需要 WAF 规则配合,见CC 变种)
二、选 CDN:防护向的挑选标准
加速向的选 CDN 看节点数量,防护向看这些:
| 指标 | 说明 |
|---|---|
| 防护带宽 | 单域名/单 IP 的 DDoS 防护上限,免费档通常 10–30G,付费档 100G+ |
| CC 防护能力 | 有没有智能 CC 防护(频率限制 + 人机识别),还是只有基础的 IP 限流 |
| WAF 支持 | Web 攻击规则(SQL 注入/XSS/路径扫描),付费功能 |
| 回源协议 | 是否支持 HTTPS 回源、回源 HOST 改写 |
| 精准访问控制 | IP/UA/Referer/地域黑白名单 |
| 告警与日志 | 攻击时通知、访问日志可下载(事后溯源) |
防护向的推荐组合(不写具体价格,只说能力档位):
- 小站/个人:主流 CDN 免费额度(国内需要域名备案)+ 源站 Nginx 限流
- 小生意:CDN 付费防护套餐(50–100G 级)+ WAF 基础包
- 电商/游戏官网:高防 CDN(200G+)+ 自定义 WAF 规则 + 源站隐藏全套
三、配置实战:把防护真正打开
CDN 买完不配置 = 白买。按这个清单逐项检查:
3.1 接入与解析
- 域名 CNAME 到 CDN 提供的地址
- TTL 设为 600 秒(攻击时改解析能快速切流量,平时也够用)
- CDN 控制台确认「节点已生效」(多地 ping 看是否调度到节点)
3.2 缓存策略(防护的关键)
缓存 hit 率越高,源站越安全:
| 资源类型 | 缓存建议 |
|---|---|
| 图片/字体/视频 | 缓存 30 天,URL 带版本号(style.v2.css) |
| CSS/JS | 缓存 7–30 天 |
| HTML 首页 | 短缓存 1–5 分钟或不缓存(内容频繁更新) |
| API 接口 | 不缓存,走动态加速 |
首页不缓存的站怎么防 CC? 靠 CC 规则 + 人机识别(3.3),别指望缓存。
3.3 CC 防护规则(核心)
在 CDN 控制台开启并调细:
- 频率限制:单 IP 每秒请求数超过 N 次 → 弹验证码或 503(先松后紧,误杀了放宽)
- 智能 CC:基于行为分析(请求节奏、UA 一致性)识别机器流量——比死板的频率限制误杀低
- UA 过滤:拦掉空 UA、已知攻击工具 UA(curl/python-requests 直接拦会误杀 API 调用,慎重)
- 地域限制:业务只服务国内就拦海外流量(外贸站反之)
- Referer 防盗链:图片被别站盗刷也是流量杀手
3.4 WAF 开启
至少开「观察模式」跑一周,看拦截日志里有没有误杀,再切「拦截模式」。规则包选「严格」还是「宽松」看误杀情况调(WAF 规则实战有详细调法)。
3.5 HTTPS 与回源
- 全站 HTTPS(CDN 节点到用户 TLS,节点到源站也 TLS)——配置见SSL 完全指南
- 开启 HSTS,防 SSL 剥离攻击
- 回源 HOST 设为你自己的域名(防 Host 头攻击)
四、源站隐藏:CDN 玩家的命门
CDN 用了但源站 IP 暴露 = 裸奔。攻击者直接打源站 IP,CDN 完全绕过。完整防护四步:
4.1 查:你的源站暴露了没有
攻击者找源站的常用手段,你全查一遍:
# 1. DNS 历史解析记录(暴露以前用过的 IP)
# 浏览器查:domainwatch / 微步在线等,输入你的域名
# 2. 证书透明度日志(crt.sh)
curl -s "https://crt.sh/?q=z0w.cn&output=json" | python3 -m json.tool | grep -o '"[0-9.]*"' | sort -u
# 3. 邮件服务器 MX 记录(邮件服务器常和源站同 IP 或同段)
dig MX z0w.cn +short
dig A mail.z0w.cn +short
# 4. 子域名爆破(dev./test./admin. 常没套 CDN)
for sub in www mail admin test dev api app; do
echo "$sub: $(dig +short $sub.z0w.cn | tr '\n' ' ')"
done子域名是最常见的漏点:admin.z0w.cn 没套 CDN,IP 直接暴露,而它和主站同机——源站就这么被挖出来了。
4.2 堵:回源白名单
源站 Nginx 只允许 CDN 回源 IP 段:
# /etc/nginx/conf.d/cdn-whitelist.conf
# CDN 回源 IP 段(在 CDN 商家文档里查,每家不同)
geo $cdn_allow {
default 0;
1.2.3.0/24 1; # 示例:替换成你 CDN 的真实回源段
5.6.7.0/24 1;
}
server {
listen 80;
server_name z0w.cn;
if ($cdn_allow = 0) {
return 444; # 非 CDN 回源直接断连(444 是 Nginx 特有:不响应直接关)
}
location / {
proxy_pass http://127.0.0.1:8080;
}
}# iptables 兜底(双保险)
iptables -A INPUT -p tcp --dport 80 -s 1.2.3.0/24 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j DROP注意:444 回源白名单上线前先「观察模式」(记日志不拦截),确认 CDN 回源段没漏——漏一个段,你的站对所有用户 444。
4.3 断:历史 IP 与证书泄露处理
- 历史解析 IP:换过服务器的老 IP,联系 CDN 商家或自己确认老 IP 已回收。云服务器的 IP 释放后会给别人,但攻击者的扫描记录里还留着你的域名-IP 对应关系
- 证书暴露:源站用 CDN 签发的证书(回源 HTTPS 时源站也要证书),crt.sh 一查全暴露。解法:源站证书用自签名(回源 TLS 不在乎证书是否可信,CDN 到源站是私有链路)或者内网 CA
- 邮件分离:邮件服务器别和源站同 IP,用第三方企业邮箱
4.4 藏:NAT 型源站(终极方案)
源站本身没有公网 IP——CDN/高防回源到网关的端口映射,攻击者扫遍全网也找不到你的机器在哪。NAT 型云服务器做源站,是性价比最高的隐藏方案(迁移实操第六节有完整配置)。
五、被打了怎么办:CDN 玩家的应急动作
已经套了 CDN 还被打,按这个顺序:
- 看 CDN 监控:是打 CDN 节点(攻击流量、命中率掉)还是打源站(源站带宽/CPU 异常)?
- 打节点:节点的事 CDN 商家扛,联系商家确认防护状态;同时收紧 CC 规则频率
- 打源站:源站 IP 暴露了,立刻执行第四节全流程;临时应急可关站等回源白名单生效
- 切换预案:CDN 扛不住 → 域名切到备用(高防 IP 或静态页「攻击恢复中」公告页),TTL 短的话 10 分钟生效
- 取证报警:下载 CDN 日志(攻击源 IP、UA、节奏),攻击量大或勒索的直接报警(应急手册)
六、进阶:多层防护架构
站做大了,单层 CDN 不够,上组合:
用户 → 高防 CDN(全站加速 + CC/WAF)
↓ 回源(只放 CDN 节点 IP)
高防服务器(流量清洗兜底,防大流量打源站)
↓ 内网
源站(无公网 IP,NAT 型)每一层只干自己擅长的:CDN 管应用层和加速,高防管流量层,源站只管业务。这套架构下,打任何一层都伤不到核心——成本也比「全堆高防」低得多(方案对比)。
七、回源白名单的观察模式上线
直接上 deny all 太危险——漏一个 CDN 回源段,你的站对部分用户直接 444。正确上线姿势是「先观察后拦截」:
# 阶段 1:观察模式(跑 24-48 小时)
# 记录「非回源段的访问」但不拦截
map $cdn_allow $honeypot_log {
default 1;
0 ""; # 不允许的才记特殊日志
}
server {
if ($cdn_allow = 0) {
access_log /var/log/nginx/non-cdn-access.log security; # 单独日志
}
# 不 return,正常放行
location / { proxy_pass http://127.0.0.1:8080; }
}# 观察期结束后分析:非 CDN 段的访问都是什么?
awk '{print $1}' /var/log/nginx/non-cdn-access.log | sort | uniq -c | sort -rn | head -20
# 如果里面除了扫描器、你的办公 IP、监控探测——没有正常用户
# 说明 CDN 回源段列表完整,可以上第二阶段# 阶段 2:拦截模式(确认无正常用户后)
server {
if ($cdn_allow = 0) {
return 444; # 或 403(想给用户看错误页的话)
}
location / { proxy_pass http://127.0.0.1:8080; }
}观察期要覆盖一个完整的业务周期(至少含一个白天高峰)——夜间的正常用户少,只看夜间数据会漏判。这个方法适用于所有「白名单类」规则:iptables 回源过滤、地域限制、IP 黑名单——先记录后拦截,是防误杀的铁律。
八、小结
CDN 防护的三板斧:分布式节点摊薄攻击、缓存挡请求、基础清洗。但 CDN 的命门在源站——IP 一暴露全盘皆输。所以 CDN 玩家的必修课是「回源白名单 + 子域名检查 + 证书/邮件分离」,进阶方案是 NAT 型源站。防护没有银弹,只有一层层把攻击者的成本堆上去。
相关阅读:
本文由财富云计算整理,我们提供 CDN 防护、高防服务器与 NAT 型云服务器,无独立公网 IP 机型价格比独立 IP 省一半以上,需要「CDN + 高防 + NAT 源站」组合方案的欢迎咨询。更多教程见端口速查表。
延伸阅读
- 高防误区与避坑清单:25 个坑+下单前必问 14 问+到货验货流程
- DNS 攻击防护专题:劫持、隧道、投毒、放大四类攻击与 DNSSEC
- 电商大促防攻击预案:T-14 到当天的分级响应与降级开关
- 源站真实 IP 隐藏完全指南:六大暴露面排查+NAT 型终极方案
- 日志分析找攻击源:Nginx 日志三维度分析法与证据固定
- 攻击应急响应手册:六阶段响应流程,从确认到复盘的照做清单
- iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
- OpenResty Lua 自研 WAF:动态限流+攻击特征检测+Redis 黑名单

[...]└─ 先上 CDN(便宜且能观察攻击日志),确认类型后再补三、方案 A:高防 CDN 全套(网站/电商/API)适合谁企业官网、电商、博客、H5APP/小程序后端 API一切跑在 80/443 上的业务配置清单域名 CNAME 到高防 CDN(TTL 600)静态资源长缓存,HTML 短缓存(见CDN 防护实战)CC 防护:频率限制 + 智能 CC + 地域策略WAF:先观察后拦截,规则包由松到严[...]
2026-10-21 回复
[...]□ 监控告警正常(盯源站带宽和 CPU)日志 IP 问题的处理(常见坑):切高防后 Nginx 日志全变成高防 IP,统计和 fail2ban 全失效。解法就是上面配置里的 set_real_ip_from + real_ip_header——把真实 IP 从 X-Forwarded-For 还原出来(日志分析有校验方法)。六、NAT 型源站的迁移要点源站是 NAT 型(无独立公网 IP)时,架构[...]
2026-10-21 回复
[...]curl localhost/nginx_status # "Reading" 状态的连接长时间不减少防御:Nginx 超时收紧(client_body_timeout 10s; client_header_timeout 10s; keepalive_timeout 30s;)+ CDN 层连接管理。慢速攻击变种详见CC 变种对抗。3.3 分布式 CC(僵尸网络)成千上万[...]
2026-10-21 回复
[...]# named.conf.options: recursion no; allow-transfer none;发现的处理:NTP(123):restrict default nomonitor 或升级新版 NTPDNS(53):关递归解析(recursion no),只做权威应答Memcached(11211):监听 127.0.0.1,别暴露公网(-l 127.0.0.1)SSDP(1900[...]
2026-10-21 回复
[...]}(这个简单版会被绕过,生产用OpenResty Lua WAF或 CDN 的人机识别)3.3 行为指纹请求节奏:真人请求间隔随机,机器请求间隔精确到毫秒级规律跳转路径:真人「首页 → 列表 → 详情」,机器直捣黄龙(/api/search?kw=xxx)加载资源:真人访问会带 CSS/JS/图片请求,机器只要 API 响应3.4 CDN 智能 CC(最终方案)分布式 CC 单台 Nginx 防不[...]
2026-10-21 回复
[...]sysctl -w net.ipv4.tcp_synack_retries=2完整 iptables 模板见抗 DDoS 配置。六、为什么慢速攻击必须 CDN/高防兜底上面三层都是「源站自保」,有天花板:问题源站的极限分布式慢速(几千 IP 各 1 连接)单 IP 连接限制形同虚设精确卡着超时线喂(9 秒一个字节)超时 10s 也拦不住,得调到 5s——正常用户误杀混合流量攻击源站要同时防慢速 +[...]
2026-10-21 回复
[...]□ 日志监控非回源段访问这张表建议每季度过一遍——业务变更(新子域名、新 APP 版本)随时引入新暴露面。六、被绕过打了怎么办日志发现「非 CDN 段的 IP 在访问源站」= 源站已暴露,攻击者正在绕过防护:确认白名单生效:没配回源白名单的立刻配(3.1),配了的查是不是有漏洞(子域名旁路、其他端口)找暴露点:拿第三节的清单过一遍,多半是某个子域名或邮件换 IP / 切架构:紧急情况下源站换 IP[...]
2026-10-21 回复
[...]adguard/adguardhome安全配置要点:只监听内网:bind_host: 192.168.x.x,别监听 0.0.0.0——公网可达的 DNS 必被打上游用加密 DNS:设置里配 DoH/DoT 上游(如 223.5.5.5/dns-query),防上游投毒查询日志留存 + 定期审:隧道攻击的发现靠日志(第四节)限速:OpenResty/DNSmasq 层限查询速率,防内网设备扫爆分流[...]
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 回复