WAF规则拦截海外CC恶意流量攻击配置:详细步骤与避坑指南
最近不少站长反馈,网站突然变慢、CPU飙升,查看访问日志发现大量来自海外的异常请求——这通常是CC恶意流量攻击。
尤其当攻击IP分散在国外时,直接封单个IP效率极低。
更好的做法是通过WAF规则,按地区或行为特征批量拦截。
本文会从零开始,带你一步步配置WAF规则,实现精准拦截海外CC恶意流量攻击。
---
被海外CC攻击了?先判断是否适合这个方案
如果你的网站主要服务国内用户,海外流量占比极低,那么直接屏蔽海外地区是性价比最高的做法。
如果网站本身有境外用户(如外贸站),则需要更精细的规则,比如根据URL行为或请求频率限速。
本文以“完全阻断海外地区”为例,操作最简单、效果最直接。
---
配置前的准备:确认你的WAF环境
目前主流的建站面板(如宝塔、WDCP、AMH)都内置了WAF模块。
以宝塔面板为例,你需要:
- 确认已安装 Nginx防火墙 或 Apache防火墙(免费版或付费版均可)。
- 登录面板,进入 网站 -> 选择被攻击的站点 -> 防火墙。
- 查看“区域访问限制”和“CC防护”两个功能是否可用。如果找不到“区域访问限制”,可能需要升级防火墙插件或手动编译Nginx的geo模块。
如果使用云WAF(如阿里云WAF、Cloudflare),操作路径类似,但配置入口不同。本文以宝塔免费防火墙为例,其他环境中可参照逻辑自行调整。
---
核心操作:三步添加地区黑名单与CC防御规则
第一步:开启区域访问限制
在防火墙页面找到 区域访问限制,点击 添加规则:
- 区域:选择“海外”或具体排除掉中国(如果只有“海外”选项则直接选)
- 动作:选择“拒绝”或“403”
- 保存后立即生效。
此时来自海外的所有请求都会被拦截,包括正常浏览和恶意攻击。
如果你需要保留部分境外IP(例如搜索引擎爬虫),可以继续设置白名单。
第二步:配置CC攻击防护参数
即使屏蔽了地区,攻击者仍可能通过国内代理或肉鸡发动CC攻击。
因此还需要设置行为频率限制。
在防火墙的 CC防护 选项卡中:
- 请求频率:建议设为 10次/秒(普通用户正常访问不会超过这个频率)
- 封禁时间:设为 60秒(根据攻击力度可适当延长,如300秒)
- 触发阈值:如果单个IP在1秒内请求超过10次,自动封禁60秒。
保存后,攻击者即使使用国内IP,也会因超高请求频率被临时封禁。
第三步:添加全局IP黑名单(可选)
如果已经掌握了攻击IP段,可以直接在 IP黑名单 中添加。
但注意:海外CC攻击通常使用大量不同IP,列表功能更适合持久封禁已知恶意IP段。
---
踩过这些坑,配置才不白费
- 误封正常用户:如果你使用了CDN(如Cloudflare),WAF看到的是CDN节点IP,而不是真实用户IP。此时需要先开启“CDN回源IP”功能,让WAF识别正确来源地区。否则所有流量都会显示为CDN节点所在地区(可能被误判为海外)。
- 规则优先级:区域黑名单的优先级高于CC防护。如果先启用了“禁止海外”,那么CC防护只对国内IP生效。如果国内攻击依然严重,需要单独调低CC阈值。
- 日志检查:配置后不要马上关闭页面。去 防火墙日志 中观察是否有正常IP被误拦截。如果发现百度、搜狗等国内爬虫被拦截,说明你的地区配置可能误将“中国”排除,应只排除真正的海外地区。
---
验证规则是否生效:查看日志与访问变化
- 实时日志:在防火墙页面查看 拦截记录,应能看到大量来自海外IP的403日志。
- 服务器负载:使用
top或面板监控查看CPU/内存是否恢复正常。如果之前因攻击导致负载100%,配置后通常几分钟内会下降。 - 网站访问:打开浏览器,从国内正常访问网站,确认没有被403拦截。如果能正常打开,说明配置正确。
---
高频问题解答
Q:为什么我配置了海外白名单,但海外用户还是无法访问?
A:确认白名单添加的是正确IP段。另外,如果CC防护触发频率限制,海外用户也会因超频被暂时封禁。建议为海外用户单独设置豁免规则。
Q:我的面板没有“区域访问限制”怎么办?
A:可以手动编辑Nginx配置文件,通过 geo 模块实现地区拦截。具体命令示例:
geo $country {
default 0;
110.0.0.0/8 1; # 中国大陆IP段(示例)
}
if ($country = 0) {
return 403;
}
但推荐升级面板或使用Cloudflare的IP源站规则。
Q:配置后我的百度收录突然下降,会不会是拦截错了?
A:用日志确认百度爬虫的IP是否来自国内。如果IP归属地显示为国外(例如某些代理节点),可在区域限制中单独放行百度官方IP段。
---
如果你正在处理WAF规则拦截海外CC恶意流量攻击配置,建议先按本文步骤完整执行,再根据自己的环境微调地区黑名单和白名单。
遇到异常时,优先回看避坑和高频问题部分,通常能快速定位原因。