本文由财富云计算提供,我们提供高防服务器与 CDN 防护服务,NAT 型无独立公网 IP 价格比独立 IP 省一半以上,智能 CC 防护是我们高防 CDN 的标配能力,见文末。
一、CC 的本质:合法请求的恶意洪流
CC(HTTP Flood)攻击的请求每个都是合法的 HTTP:正确的 Host、正常的 UA、标准的 GET/POST。防火墙看它们是好人,只有数量和节奏暴露恶意。
为什么难防:你在防「假用户」,而攻击者越来越像「真用户」。对抗的核心是从频率、行为、业务逻辑三个维度识别「不像人的流量」,而不是封 IP 那么简单。
普通 DDoS:流量畸形/协议违规 → 特征明显,硬件直接洗
CC 攻击: 流量完全合法 → 只能靠「行为分析」层层设卡二、基础 CC:单 IP 刷接口(最好防)
特征:单 IP 或少数 IP,高频请求同一接口,UA 统一(curl/python-requests),Referer 空。
# 识别:日志里一目了然
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
# 某个 IP 一分钟几千次 = 实锤
# 看 UA
awk '{print $12}' access.log | sort | uniq -c | sort -rn | head对抗:Nginx 限流一招制敌。
# /etc/nginx/conf.d/cc-basic.conf
limit_req_zone $binary_remote_addr zone=perip:10m rate=30r/m;
limit_req_zone $server_name zone=perserver:10m rate=1000r/s;
server {
location / {
limit_req zone=perip burst=10 nodelay;
limit_req zone=perserver burst=2000;
limit_req_status 503;
limit_req_log_level warn;
}
}nginx -t && systemctl reload nginx(Nginx 限流 WAF 基础有完整配置,本模块是它的进阶篇)
三、分布式 CC:IP 池轮换(限流失效)
特征:几千个 IP,每个 IP 每分钟只请求几次(低于你的限流阈值),UA 五花八门(真实浏览器 UA 库轮换),分布全国各地。
为什么限流没用:单 IP 频率 5 次/分钟,限流阈值 30 次/分钟——人家合规得很。但 5000 个 IP × 5 次 = 你的服务器在燃烧。
对抗手段(按有效性排序):
3.1 频率维度换成「全局视角」
不限单 IP,限全站总请求速率——正常站点有访客基线,超出基线就是异常:
# 全站级别限流(配合业务基线调)
limit_req_zone $server_name zone=global:10m rate=500r/s;
limit_req zone=global burst=1000 nodelay;3.2 人机验证(JS 挑战)
# 简单版:Nginx 层下发 Cookie 挑战(思路示意)
location / {
if ($cookie_js_verified != "ok") {
return 200 '<html><script>document.cookie="js_verified=ok;path=/";location.reload()</script></html>';
}
proxy_pass http://backend;
}(这个简单版会被绕过,生产用OpenResty Lua WAF或 CDN 的人机识别)
3.3 行为指纹
- 请求节奏:真人请求间隔随机,机器请求间隔精确到毫秒级规律
- 跳转路径:真人「首页 → 列表 → 详情」,机器直捣黄龙(
/api/search?kw=xxx) - 加载资源:真人访问会带 CSS/JS/图片请求,机器只要 API 响应
3.4 CDN 智能 CC(最终方案)
分布式 CC 单台 Nginx 防不住——你没有全局视角。CDN 节点的价值:它看到的是「这个客户端在所有页面/接口上的行为全景」,AI 模型直接判定机器流量。这就是高防 CDN的 CC 模块比本机 Nginx 强一个量级的原因。
四、精准打击:专打「贵」接口
聪明攻击者不刷首页(缓存命中,打你也白打),专打你最贵的接口:
| 目标接口 | 打你的成本 | 攻击者收益 |
|---|---|---|
搜索(?kw=) | 数据库 LIKE 查询,CPU 爆炸 | 不刷带宽就能打瘫 |
| 登录(POST /login) | bcrypt 哈希,单次几百 ms CPU | 顺带撞库 |
| 注册/发短信 | 短信费一条条扣 | 你的真金白银 |
| 下单/优惠券 | 业务资损 | 库存、优惠全被刷 |
| 文件上传 | 磁盘 I/O + 带宽 | 垃圾数据塞满磁盘 |
| 导出(Excel/PDF) | 内存 + CPU 拉满 | 几个请求内存爆 |
识别:access log 里同一接口占比异常:
awk '{print $7}' access.log | cut -d'?' -f1 | sort | uniq -c | sort -rn | head -15
# 正常:/ 首页最多,分布均匀;攻击:/api/search 或 /login 一柱擎天对抗:接口分级防护。
# 贵接口单独严格限流
location /api/search {
limit_req zone=perip rate=5r/m burst=3 nodelay; # 单 IP 每分钟 5 次
limit_conn perip 5;
proxy_pass http://backend;
}
location /api/sms/send {
limit_req zone=perip rate=1r/m burst=1 nodelay; # 单 IP 每分钟 1 条
# 必须配图形验证码(前端)+ 失败锁定
proxy_pass http://backend;
}
location /login {
limit_req zone=perip rate=10r/m burst=5;
# 登录失败 5 次锁定 IP 15 分钟(后端逻辑)
proxy_pass http://backend;
}接口防护的核心思想:不是「防请求」,是「让攻击者的每次请求代价高于你的防御成本」。短信接口加验证码,攻击者就刷不动了;搜索加缓存 + 限频,数据库不疼了。
五、慢速 CC:不拼量,拼占用(Slowloris/RUDY)
原理:慢慢发请求(几秒一个字节),连接永远开着不完成——占满你的 worker 连接,正常人连不进来。
慢速攻击者:发一半请求头,停 30 秒,再发一个字节……连接保持中
正常用户: 新连接 → 服务器连接池满 → 排队/503识别:
# established 连接多但请求不完整
ss -tn state established '( sport = :80 )' | wc -l # 异常多
# Nginx status 看
curl -s localhost/nginx_status | grep Reading # Reading 状态持续不降
# access log 里同一 IP 只有零星请求(一次请求分成几十条记录)对抗:收紧超时。
server {
# 慢速攻击的核心克星:所有超时调短
client_header_timeout 10s; # 10 秒发不完头 = 断
client_body_timeout 10s; # 10 秒传不完 body = 断
keepalive_timeout 30s; # 空闲连接 30 秒回收
send_timeout 10s;
reset_timedout_connection on; # 超时连接发 RST 释放
# 大文件上传例外(别误杀正常上传)
location /upload {
client_body_timeout 300s;
}
}RUDY(慢速 POST body):同理,client_body_timeout 治它。更详细见慢速攻击专题。
六、拟人 CC:最难识别的形态
特征:真实浏览器 UA + 随机 Referer + 随机间隔 + 完整加载页面(连 JS 都跑)——headless Chrome 傀儡机,看起来就是真人。
识别线索(没有银弹,靠组合信号):
- IP 段异常集中(云厂商 IP 段、代理池特征)
- TLS 指纹异常(curl/Chrome 指纹和 UA 声称的不一致)
- 鼠标轨迹过于「完美」或缺失(真人有微抖动)
- 纯 API 调用、从不加载图片 CSS(开 JS 渲染只为过验证,不打上游资源)
- 行为模式高度一致(每个「用户」的访问路径一模一样)
对抗:
- 行为验证码:滑动/点选——成本转嫁给攻击者(一个验证码几分钱,刷一万次就是几百块)
- 设备指纹 + 频率关联:同指纹跨 IP 出现 = 代理池,连坐
- 业务风控:登录异常设备要二次验证、下单异常频率进审核
- TLS 指纹校验:JA3 指纹与 UA 不匹配直接挑战(OpenResty 可做)
七、防御体系:四层纵深
第 1 层 接入层:CDN 智能 CC(分布式识别、人机挑战)← 防分布式/拟人
↓ 漏过来的
第 2 层 网关层:Nginx 全局限流 + 连接数限制 ← 防基础刷量
↓ 漏过来的
第 3 层 应用层:接口分级限流 + 验证码 + 业务风控 ← 防精准打接口
↓ 漏过来的
第 4 层 兜底层:fail2ban + 监控告警 + 人工介入 ← 收尾每一层都假设上一层会漏。攻击者突破 CDN,还有 Nginx;绕过 Nginx,接口层还有验证码。这就是纵深的含义——不指望单点无敌。
各层配置:
- 第 2 层:Nginx 限流 WAF + Nginx 进阶防护
- 第 3 层:OpenResty Lua WAF + 本文件第三节配置
- 第 1 层:CDN 防护
八、监控:被打了你要能看见
# 简易实时 CC 监控(cron 每分钟跑)
tail -600 /var/log/nginx/access.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -5 > /tmp/cc-top.txt
# 单 IP 超过阈值就告警(接微信/邮件机器人)必看的三个指标:
- 单 IP 请求速率 Top10(基础 CC)
- 接口请求分布 Top10(精准打接口)
- 全站 QPS vs 平时基线(总量异常)
进阶监控告警体系见Loki 日志体系和Uptime Kuma 状态页。
九、小结
CC 攻击的演进路线:单 IP 刷 → 分布式轮换 → 精准打贵接口 → 慢速占用 → 拟人模拟,防御也必须逐层升级:Nginx 限流防第一代,全站视角 + 人机挑战防第二代,接口分级 + 业务风控防第三代,CDN 智能识别防拟人。核心原则:把攻击成本堆到高于他的收益——刷搜索限流、刷短信验证码、刷登录上行为检测,让他每一发都打在棉花包着钉子的墙上。
相关阅读:
本文由财富云计算整理,我们提供高防服务器、CDN 防护与 NAT 型云服务器,无独立公网 IP 机型价格比独立 IP 省一半以上,需要智能 CC 防护的咨询。更多教程见端口速查表。
延伸阅读
- 高防误区与避坑清单:25 个坑+下单前必问 14 问+到货验货流程
- DNS 攻击防护专题:劫持、隧道、投毒、放大四类攻击与 DNSSEC
- 电商大促防攻击预案:T-14 到当天的分级响应与降级开关
- 源站真实 IP 隐藏完全指南:六大暴露面排查+NAT 型终极方案
- 日志分析找攻击源:Nginx 日志三维度分析法与证据固定
- 攻击应急响应手册:六阶段响应流程,从确认到复盘的照做清单
- iptables 抗 DDoS 配置模板:状态过滤+SYN 防护+防扫描+游戏服版
- OpenResty Lua 自研 WAF:动态限流+攻击特征检测+Redis 黑名单

[...]fi日常基线记录:你的站正常时 established 连接是多少(通常 50–200)——超过基线 3 倍且带宽/CPU 正常,就是慢速攻击特征。八、被慢速攻击打了的应急确认:ss -tn state established | wc -l 暴增、带宽 CPU 正常、网站 503 → 实锤收紧超时(如果之前没配):10s → 5s,观察恢复单 IP 连接限制降到 5:误伤正常用户也认了(攻击时保[...]
2026-10-21 回复
[...]# 5. 敏感路径 444(见 4.2)完整的 anti-CC + anti-scan 模板和逐行注释在基础篇和CC 变种篇,配合iptables 模板和OpenResty 篇构成源站防护全家桶。九、小结Nginx 防护的三层:连接层(超时收紧 + 连接限制,防慢速和连接耗尽)、请求层(分级限流 + 接口保护,防 CC 和精准打击)、行为层(UA/路径/地域过滤,防扫描和爬虫)。配 Nginx 防[...]
2026-10-21 回复
[...]□ reload 后功能正常(lua_code_cache on)九、小结OpenResty Lua WAF 三板斧:滑动窗口动态限流(按 IP/接口分级,比 Nginx rate 精细)、请求体深度检测(SQLi/XSS/遍历,Nginx 配置够不着的地方)、Redis 全局黑名单(多机同步 + 违规计分自动封)。性能代价是每请求 0.1–0.3ms,对防护价值可以忽略。定位上它是源站最后一道自[...]
2026-10-21 回复
[...]nginx -t && systemctl reload nginx如果是打某个具体接口,单独给那个 location 上更狠的限流(CC 变种篇第三节)。2.4 慢速攻击# 收紧超时[...]
2026-10-21 回复
[...]# POST 请求 awk '$6 ~ /POST/ {print $1, $7}' access.log | sort | uniq -c | sort -rn | head十、小结日志分析三段论:粗筛(IP/URI/UA 三维度看轮廓)→ 细筛(时段曲线 + 单 IP 画像 + 状态码)→ 转化(封 IP、调限流、加防护)。两个前提:CDN 场景必须 real_ip 还原真实 IP[...]
2026-10-21 回复
[...]任何级别:记录时间线(取证 + 复盘)大促中的决策原则:保交易链路,牺牲体验。搜索慢就关搜索,评论卡就关评论——下单支付流程一分钟都不能断。六、典型场景处置场景 1:凌晨 3 点,带宽打满,全站 503定级 P0,起床ping + ss -s 确认大流量(不是应用问题)域名切 CDN(TTL 短,10 分钟生效)或切高防若已在高防上:看后台攻击类型,联系商家确认清洗状态通知值班群 + 准备对外公告[...]
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 回复