凌晨收到CC攻击告警,先别急着重启服务器,把源站IP从公网入口摘掉,切到高防CDN或云WAF,开启托管挑战,按IP和URI限流,同时保留Nginx日志,再逐步恢复业务。 这是最快让独立站活下来的路径,也是避免误封、误删、越处理越乱的关键。
独立站凌晨遭遇CC攻击怎么快速恢复:先止损再溯源
第1步:判断是不是CC攻击,别把促销流量当攻击
CC攻击属于应用层DDoS,攻击请求通常伪装成正常用户,专门打登录、搜索、API、结算和动态页面,业内专家指出,CC攻击的带宽峰值不一定高,但CPU、数据库连接、PHP-FPM进程会被快速耗尽。
先看几个指标:
- 云监控里的CPU、内存、连接数、带宽是否突然飙升。
- Nginx的5xx、499、502是否集中出现。
- MySQL连接数、Redis命中率、PHP-FPM队列是否堵住。
- 同一IP、同一小网段是否高频访问同一URI。
常用命令可以直接跑:
ss -s
netstat -anp | grep :443 | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr | head
tail -f /var/log/nginx/access.log
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head
如果看到大量请求集中在 /wp-login.php、/api/login、/search、/cart,UA杂乱或为空,Referer异常,大概率就是CC,此时不要只加带宽,应用层攻击加带宽往往解决不了问题。
第2步:分钟级止损,先切高防再封IP
凌晨处理CC,动作要快,顺序不能乱。
- 登录CDN或云WAF控制台,开启“Under Attack”或托管挑战,据Cloudflare公开文档,Under Attack Mode会对访问者进行托管质询,能挡住相当一部分自动化请求。
- 如果有高防IP,立刻把域名解析切到高防清洗节点,DNS TTL提前改低,切换会更快。
- 源站安全组只放行CDN回源IP,禁止公网直接访问源站,Nginx回源server块可以加:
allow 回源IP段; deny all;

- 临时封禁高频IP,小规模用iptables,大规模用ipset:
iptables -I INPUT -s 1.2.3.4 -j DROP ipset create cc_blacklist hash:ip ipset add cc_blacklist 1.2.3.4 iptables -I INPUT -m set --match-set cc_blacklist src -j DROP
- Nginx限流要立刻生效,按IP限请求速率和并发连接:
limit_req_zone $binary_remote_addr zone=req_per_ip:10m rate=10r/s; limit_conn_zone $binary_remote_addr zone=conn_per_ip:10m;
server {
limit_req zone=req_per_ip burst=20 nodelay;
limit_conn conn_per_ip 20;
}
登录、搜索、API接口单独限流,阈值比静态页面更严,据Nginx官方文档,`limit_req`和`limit_conn`分别控制请求速率和并发连接,是源站自救的基础手段。
### 第3步:保留日志,别把证据删了
攻击时最怕手忙脚乱清日志,先打包保留:
```bash
tar -czf /root/cc_$(date +%F).tar.gz /var/log/nginx/
再统计Top IP、URI、UA:
awk '{print $1}' access.log | sort | uniq -c | sort -nr | head
awk '{print $7}' access.log | sort | uniq -c | sort -nr | head
awk -F\" '{print $6}' access.log | sort | uniq -c | sort -nr | head
同时检查是否有异常文件、计划任务、SSH登录,云厂商安全中心的告警、WAF日志、CDN日志都要下载,后期溯源、申诉、调策略都靠这些数据。
第4步:灰度恢复业务,不要一次全开
先恢复静态页和商品页,再恢复搜索和API,最后恢复登录和支付,每恢复一层,观察源站负载和错误率,如果CPU再次飙高,立刻回退限流阈值,源站IP已经暴露的,考虑换IP并重新隐藏,源站只允许CDN回源,能大幅降低再次被打穿的概率。
高防CDN和源站防火墙哪个更适合独立站防CC?
行业共识认为,源站只靠单机iptables很难扛住代理池和肉鸡规模的应用层攻击,更稳的做法是边缘防护加源站限流,两者不是二选一,而是主次配合。
| 方案 | 生效位置 | 适合场景 | 优点 | 局限 |
|---|---|---|---|---|
| 高防CDN/WAF | 边缘节点 | 流量大、源站IP隐藏 | 清洗、缓存、隐藏源站、托管挑战 | 有成本,配置要提前 |
| 云防火墙/安全组 | 云网络层 | 云服务器快速隔离 | 封IP快,五元组控制 | 难防应用层CC |
| 源站Nginx限流 | 应用层 | 中小CC、接口防护 | 免费、精准、可自定义 | 消耗源站资源 |
| iptables/ipset | 主机层 | 已知IP封禁 | 简单直接 | 易误封,规模有限 |
独立站凌晨被打,优先切高防CDN或云WAF,再用源站Nginx限流兜底,已经知道攻击IP段的,用ipset批量封,只靠源站防火墙,很容易在攻击峰值时把正常用户也挡在外面。
凌晨切高防CDN时,源站怎么隐藏
- 更换源站IP,别继续用被攻击的旧IP。
- 安全组只允许CDN回源IP访问80和443。
- Nginx默认server返回444,禁止直接IP访问。
- 回源加共享密钥或鉴权Header,防止被扫到真实源站。
- 检查DNS历史解析、SSL证书透明度日志、邮件头是否泄露源站。
- 静态资源尽量走CDN缓存,减少回源压力。
独立站防CC攻击一年多少钱?预算怎么分配
独立站防CC攻击一年多少钱,没有统一答案,免费CDN加基础WAF可以零成本起步,适合小流量站点,云WAF通常按量或按套餐,高防CDN和高防IP一年从几百元到数万元不等,取决于防护带宽、QPS、节点地区、清洗次数和是否含专家应急。
预算可以这样看:
- 基础CDN和WAF:覆盖日常防护和缓存。
- 高防CDN或高防IP:应对大流量和应用层攻击。
- 源站加固:Nginx限流、Redis缓存、数据库连接池、队列削峰。
- 监控告警:凌晨能打电话叫醒你,比省监控费更重要。
- 应急服务:按次或按年,适合没有专职运维的独立站。

深圳独立站CC攻击处理要额外注意什么?
深圳做外贸独立站的团队多,服务器常在海外或香港,处理CC时,别一刀切封海外IP,否则可能把真实客户挡掉,优先选择有香港、新加坡、美西节点的高防CDN,回源线路要稳,跨境支付接口、订单回调地址也要加限流和签名校验,如果源站部署在境内,注意备案与合规要求;如果部署在境外,重点看CDN清洗能力和工单响应速度,深圳独立站CC攻击处理的核心不是封多少IP,而是让正常订单流程先恢复。
凌晨处理CC攻击的常见误区
- 直接重启服务器:攻击流量还在,重启只会中断业务。
- 只封当前IP:代理池和肉鸡会换IP继续打。
- 关闭所有海外访问:外贸站会误伤真实客户和支付回调。
- 只加带宽:应用层CC耗的是CPU和数据库,不是单纯带宽。
- 删日志求清净:后面没法溯源,也没法调整WAF规则。
- 把限流阈值设得太死:正常用户也被429,转化率直接掉。
凌晨处理CC攻击,核心不是彻底消灭攻击者,而是把业务从攻击流量里隔离出来,用边缘防护和源站限流争取恢复时间,先让网站能下单、能登录、能支付,再慢慢做溯源和加固。
独立站凌晨遭遇CC攻击常见问题解答
独立站凌晨遭遇CC攻击,先关站还是先封IP?
先切高防CDN或云WAF,再封高频IP,关站是最后手段,会直接影响GEO、广告投放和订单,源站已经被打穿时,可以临时返回503维护页,但不要长期关闭。
CC攻击和DDoS攻击有什么区别?
DDoS偏网络层和流量层,靠大流量堵带宽,CC偏应用层,模拟合法请求,消耗CPU、数据库、连接数和PHP进程,防护重点不同,CC更依赖WAF、限流、缓存和人机校验。
独立站防CC攻击一年多少钱?
免费CDN加基础WAF可以零成本起步,云WAF按量计费,高防CDN和高防IP一年从几百元到数万元不等,最终看QPS、带宽、节点和是否含应急服务。
