无视 CC 攻击?海外云服务器 Nginx 防刷与 WAF 规则配置实战
}}搭建香港、美西、日本海外 WordPress 商城、资讯站、跨境 SaaS、TikTok 素材站点的运维普遍遭遇七层 CC 攻击:竞品肉鸡集群、自动化爬虫、接口高频刷量、虚假访客持续轰炸,仅靠云服务器基础带宽、简单 UA 拦截完全扛不住,出现 CPU / 内存 100% 占满、数据库卡死、网站 502/503 全页白屏,谷歌收录暴跌、广告投放询盘全部流失。
大量站长踩两大防护误区:只配置 Nginx 简单 UA 黑名单,无法应对伪造浏览器的高级 CC;仅依赖机房基础高防,七层应用层攻击无过滤,流量进入源站直接耗尽资源。完整防护必须搭建CDN 云端清洗 + Nginx 多层限流 + 专业 WAF 规则拦截 + 系统内核加固四层纵深防御体系。
本文基于香港 CN、美西大带宽海外云生产环境实战,提供可直接复制原生 Nginx 防刷完整配置、宝塔 Nginx WAF 可视化规则设置、ModSecurity 开源 WAF 部署方案,区分外贸商城、资讯站、API 接口三类差异化防护阈值,附带 CC 攻击排查、应急处置流程。
一、CC 攻击底层原理,为什么单一拦截毫无作用
1、CC 攻击核心特征(七层应用层攻击)
CC 全称 Challenge Collapsar,区别于四层 DDoS 流量洪水,攻击不占用超大带宽,专注消耗CPU、内存、数据库连接资源:
攻击者使用大量代理 IP、肉鸡,模拟正常浏览器发起动态页面请求;
伪造标准 Chrome/Firefox User-Agent,单纯 UA 黑名单完全失效;
高频刷新搜索、登录、商品详情、API 接口,每一次请求都触发 PHP 查询数据库;
海外低价共享云、1 核 2G 低配机器极易被几十台肉鸡打崩。
2、四大单一防护致命短板
仅靠 robots.txt:爬虫完全无视协议,无任何拦截效果;
仅拦截恶意 UA:高级 CC 全部伪装正规浏览器,规则直接绕过;
仅机房四层高防:只能拦截 UDP 洪水,七层动态请求直达源站;
仅 CDN 免费版:无精细人机识别,高强度 CC 会穿透至服务器。
3、四层纵深防御标准架构(海外站点通用最优)
第一层:Cloudflare 企业级 CDN(云端 AI 人机验证,拦截 70% 浅层 CC)
第二层:Nginx 原生限流 limit_req/limit_conn(源站第一道流量阀门,控制单 IP 请求上限)
第三层:Nginx WAF/ModSecurity(特征拦截 SQL 注入、高频扫描、异常请求)
第四层:系统内核 + Fail2Ban(自动拉黑持续攻击 IP,兜底防护)
二、原生 Nginx 全套防 CC 限流配置(Ubuntu/CentOS 海外云通用)
2.1 全局共享内存定义(写入 nginx.conf http 块,全站生效)
通过limit_req限制每秒请求、limit_conn限制并发 TCP 连接,区分全站、登录、搜索、静态资源多套阈值,适配外贸 WordPress 站点。
http{# 全局通用限流:单IP每秒10请求,内存10M存储访问状态limit_req_zone$binary_remote_addrzone=global_cc:10mrate=10r/s;# 登录/后台严格限流:每秒仅1次,防止暴力CC撞库limit_req_zone$binary_remote_addrzone=login_cc:10mrate=1r/s;# 搜索/API接口中等限流:每秒5次limit_req_zone$binary_remote_addrzone=api_cc:10mrate=5r/s;# 并发连接限制:单IP最大15条TCP连接limit_conn_zone$binary_remote_addrzone=ip_conn:10m;# 超限统一返回429请求过多,区分503服务器故障limit_req_status429;limit_conn_status429;# 开启限流日志,方便排查攻击IPlimit_req_log_level warn;limit_conn_log_level warn;# 日志格式增加限流标记log_format cc_log'$remote_addr [$time_local] "$request" $status $limit_req_status $limit_conn_status "$http_user_agent"';}2.2 站点 server 块分层限流规则(复制到域名配置)
白名单谷歌、必应搜索引擎,区分动态接口、静态资源差异化阈值,同时拦截空 UA、异常请求方法。
server{listen80;server_name your-shop.com www.your-shop.com;access_log /www/wwwlogs/your-shop.log cc_log;# 白名单正规爬虫,不参与限流if($http_user_agent~* Googlebot|Bingbot|YandexBot|DuckDuckBot){break;}# 拦截空UA、扫描工具if($http_user_agent=""){return403;}# 拦截非法请求方法(仅放行GET/POST)if($request_method!~ ^(GET|POST)$){return403;}# 全局基础限流:允许20个突发请求不延迟limit_reqzone=global_ccburst=20nodelay;limit_conn ip_conn15;# 登录/后台页面超严格防护location ~* /wp-login\.php|/admin{limit_reqzone=login_ccburst=3nodelay;limit_conn ip_conn5;try_files$uri$uri/ /index.php;}# 搜索、商品API接口location ~* /search|/api/{limit_reqzone=api_ccburst=10nodelay;limit_conn ip_conn8;}# 静态资源放宽限制,图片JS不做严格限流location ~*\.(jpg|png|webp|css|js|ico)${limit_reqzone=global_ccburst=100nodelay;limit_conn ip_conn30;expires 30d;}# 首页动态页面location /{try_files$uri$uri/ /index.php?$query_string;}}2.3 配置校验与重载命令(海外云 SSH 执行)
# 校验配置语法,报错及时修改nginx-t# 平滑重载,不中断网站访问nginx-sreload# 查看限流攻击日志,筛选CC攻击IPgrep"429"/www/wwwlogs/your-shop.log2.4 分业务阈值适配参考(海外站点专用)
三、宝塔面板 Nginx WAF 可视化防 CC 配置(新手海外云首选)
绝大多数香港、美西海外云使用宝塔面板,内置 Nginx 防火墙,无需手写复杂配置,图形化开启 CC 防御、自定义拦截规则,适配 WordPress 外贸站。
3.1 基础 CC 防御一键开启步骤
登录宝塔面板 → 软件商店 → 安装「Nginx 防火墙」;
进入防火墙页面 → 顶部【CC 防御】标签;
防护模式选择:
中小型外贸商城:标准模式(误拦截极低);
频繁遭受高强度 CC:增强模式(开启人机 5 秒盾);
阈值参数(海外 CN 云推荐):60 秒内单 IP 最大请求 60 次,封禁时长 1800 秒;
勾选【拦截异常空 UA、无 Referer 扫描请求】,保存全局配置。
3.2 自定义 WAF 拦截规则(外贸站专用)
进入【URL 过滤 / UA 黑名单】新增规则,批量拦截 CC 扫描特征:
UA 黑名单:python|scrapy|curl|httrack|sqlmap|zgrab;
POST 过滤:拦截高频参数遍历、漏洞扫描 Payload;
接口单独限制:/wp-login.php、/search单独设置更低请求阈值;
IP 白名单:添加国内办公固定 IP、谷歌爬虫 IP,避免后台被误封。
3.3 宝塔 WAF 配套优化要点
开启攻击日志,每日导出 429 封禁 IP,手动加入永久黑名单;
关闭 xmlrpc.php 接口(CC 高频攻击入口);
若使用 Cloudflare CDN,开启「获取真实访客 IP」,防止拦截 CDN 节点;
四、开源 ModSecurity WAF 深度防护(专业海外独立服务器)
原生 Nginx 限流仅控制请求频率,无法拦截 SQL 注入、XSS、参数 CC,部署 ModSecurity+OWASP 规则集实现七层全量 WAF 防护,适合高对抗跨境商城、付费 SaaS 平台。
4.1 Ubuntu 安装部署命令
# 安装依赖模块aptupdate&&aptinstalllibmodsecurity3 libnginx-mod-http-modsecurity-y# 下载官方OWASP核心防护规则cd/etc/nginx&&gitclone https://github.com/coreruleset/corerulesetcpcoreruleset/crs-setup.conf.example coreruleset/crs-setup.conf4.2 Nginx 引入 WAF 配置
在 http 块添加:
modsecurity on;modsecurity_rules_file /etc/nginx/coreruleset/crs-setup.conf;modsecurity_rules_dir /etc/nginx/coreruleset/rules/;# 生产模式:拦截恶意请求,仅记录日志用DetectionOnlymodsecurity_rules_auditlog_partials On;modsecurity_response_header Sec-ModSecurity: Enabled;4.3 CC 专项规则优化
修改规则文件,提升高频 URL、重复 POST 请求拦截力度,过滤肉鸡批量会话攻击,搭配之前 limit 限流形成双重拦截。
五、四层纵深防御完整配套优化(海外云专属)
第一层:Cloudflare CDN 云端预拦截(刚需)
开启 Bot 管理、人机验证,海外爬虫 CC 在边缘节点拦截,不回源;
设置 Rate Limiting:单 IP 每分钟最多 100 次请求,API 接口收紧至 50 次;
隐藏真实源站 IP,攻击者无法直接瞄准服务器发起 CC;
CDN 真实 IP 转发配置(Nginx 添加):
set_real_ip_from103.21.244.0/22;set_real_ip_from104.16.0.0/13;real_ip_header X-Forwarded-For;第二层:Nginx 限流 + WAF(源站核心阀门,前文配置)
第三层:系统级 Fail2Ban 自动拉黑攻击 IP
读取 Nginx 429 限流日志,持续攻击 IP 自动封禁 12 小时,SSH 部署:
aptinstallfail2ban# 新建nginx限流过滤规则,监控cc_log日志第四层 系统内核 TCP 加固(缓解 CC 半连接耗尽)
修改 sysctl.conf 优化连接队列,抵御大量虚假 TCP 连接:
net.ipv4.tcp_syncookies=1net.ipv4.tcp_synack_retries=2net.ipv4.tcp_fin_timeout=30执行生效:sysctl -p
六、分海外节点差异化防护方案
1、香港 CN 云(国内每日运营外贸商城)
痛点:5M 小带宽,CC 极易占满上行,卡死后台上传
方案:标准 WAF 模式 + 严格 limit 限流(首页 8r/s)+ Cloudflare 全缓存静态图,禁止无 Referer 外部盗链 CC。
2、美西 100M 大带宽资讯站
带宽充足,放宽静态资源限流,WAF 开启增强模式拦截海外竞品爬虫 CC。
3、日本 TikTok 素材站点
额外添加日系采集工具 UA 黑名单,限制短视频接口请求频率,防止批量下载 CC。
七、CC 攻击应急处置完整流程(网站突然 502/429 时)
日志排查:grep “429” 站点日志,提取攻击 IP 段;
临时封禁:宝塔防火墙 IP 黑名单批量添加攻击网段;
切换 CDN 攻击模式:开启 5 秒人机验证;
收紧 Nginx 限流 rate 参数,降低每秒请求上限;
清理无用动态插件,减少数据库查询消耗;
长期:将高频攻击 IP 段加入永久黑名单。
八、采购 & 配置六大误区
误区 1:只开 Nginx 限流,不用 WAF
限流只能控请求速度,无法拦截 SQL 注入、参数 CC,攻击者低频扫描依旧拖垮数据库。
误区 2:阈值设置过高,单 IP 允许上百请求
肉鸡集群几十 IP 叠加,瞬间打满服务器 CPU,中小型站点推荐 10r/s 以内。
误区 3:CDN 不配置真实 IP,Nginx 拦截 CDN 节点
所有访问 IP 显示为 CDN,限流规则全部失效,必须开启 X-Forwarded-For。
误区 4:搜索引擎未白名单,谷歌爬虫被 429 拦截
收录直接断崖,白名单必须放在 server 最顶部,优先执行。
误区 5、带宽大就不用防 CC
美西 100M 带宽虽充足,但动态请求消耗 CPU,CC 依旧造成页面超时。
误区 6、增强模式人机验证全开,真实客户误拦严重
正常商城用标准模式,仅遭受高强度攻击临时切换增强。
九、落地总结
1、抵御七层 CC 不能单一依赖 Nginx 限流或 WAF,必须搭建CDN 云端清洗→Nginx 分层 limit 限流→WAF 特征拦截→系统自动拉黑四层纵深防御,海外低配云也能抵御肉鸡集群攻击;
2、两套实操方案:宝塔面板新手直接可视化开启 CC 防御,独立原生服务器部署 limit_req+ModSecurity 开源 WAF;
3、阈值选型核心:登录 / API 接口严格限流(1-5r/s),静态资源适度放宽,外贸商城标准模式平衡拦截与访客体验;
4、海外站点特殊优化:香港 CN 小带宽需收紧动态页面阈值,搭配 CDN 分流静态素材,从根源减少回源 CC 流量;
5、应急手段:网站大面积 429 时,临时开启 WAF 人机验证、收紧限流,批量封禁攻击 IP 段快速恢复访问。
