宝塔面板防CC攻击设置:5个实战步骤,新手也能直接上手
为什么要给宝塔面板做防CC攻击?
CC攻击(Challenge Collapsar)通过大量伪造的HTTP请求耗尽服务器资源,让网站响应缓慢甚至崩溃。
对于个人站长或中小企业来说,没有专业硬件防火墙,宝塔面板自带的防CC功能就是性价比最高的方案。
本文会带你从零开始,在宝塔面板里完成防CC攻击的配置。
即使你刚接触服务器,只要按步骤操作,也能让网站安全等级提升一个台阶。
---
一、前置条件:确认你的宝塔面板已就绪
在开始设置前,请确保:
- 你已安装宝塔面板(7.9以上版本更佳)并登录后台。
- 网站已正常运行,且绑定域名已解析到服务器。
- Nginx防火墙插件已安装(如果没有,请在宝塔应用商店里搜索“Nginx防火墙”并一键安装)。
- 知道宝塔面板的基本操作路径:左侧菜单 -> 网站 -> 点击对应网站的“设置”。
如果你还没安装防火墙插件,先完成安装:宝塔面板左侧 -> 软件商店 -> 搜索“Nginx防火墙” -> 安装。安装后无需额外配置。
---
二、核心操作:在宝塔面板中配置防CC攻击
2.1 开启Nginx防火墙的CC防御规则
- 进入网站设置:宝塔面板左侧 → 网站 → 点击你要保护的网站 → 选择 防火墙 选项卡。
- 开启防火墙开关:确保顶部开关为绿色(开启状态)。
- 找到 CC防御 区域:勾选 启用,然后设置以下关键参数:
- 请求频率限制:建议设为 50次/分钟(开发测试站可以放宽到100,正式站建议30-60)。
- 封禁时间:设为 60分钟(让攻击者失效较长时间)。
- 超过频率后的动作:选择 封禁IP。
- 点击 保存。
2.2 配置IP黑白名单(可选但推荐)
为了防止误封你自己的IP或合作方IP:
- 在防火墙界面点击 IP规则 选项卡。
- 点击 添加IP规则 → 选择 白名单 → 填入你自己的公网IP(可以用百度搜“我的IP”获取)。
- 点击保存。这样设置后,你自己的IP不会受频率限制影响。
2.3 调整Nginx配置,增强防御深度
如果网站流量较大,可以修改Nginx配置来强化CC防御:
- 进入网站设置 → 配置文件。
- 在
server块中(一般在location /之前),添加以下代码:
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:10m rate=30r/m;
server {
...
location / {
limit_conn addr 10;
limit_req zone=one burst=5 nodelay;
...
}
}rate=30r/m表示每分钟最多30个请求,burst=5允许短暂突发5个请求。- 保存后,点击 重载配置(在配置文件编辑框顶部按钮)。
注意:limit_req 和宝塔防火墙的CC防御会叠加生效,如果同时开启,阈值以严格的为准。建议直接使用宝塔防火墙的规则,Nginx配置作为辅助。---
三、避坑指南:这些错误新手常犯
- 阈值设置过低:例如配置为10次/分钟,正常用户刷新几下页面就会被封。建议从50开始,观察两天再微调。
- 忘记添加白名单:结果自己访问网站也被封,需要去宝塔后台解封IP或登录服务器清空
/tmp/firewall/下的拦截记录。 - 同时开启多个防御插件:例如同时用了宝塔防火墙和第三方WAF(如ModSecurity),可能导致冲突。建议只保留宝塔防火墙,关掉其他同类插件。
- 忽略日志检查:很多人设置完就不管了,但CC攻击特征会变化。定期查看防火墙日志(防火墙选项卡下方)能发现是否有漏网之鱼。
---
四、效果验证:如何知道防CC攻击生效了?
- 模拟攻击测试(谨慎操作):用一台远程机器对网站进行高频访问(如使用
ab工具 或 wrk),观察宝塔防火墙日志是否产生拦截记录。 - 查看防火墙拦截日志:进入网站防火墙页面 → 点击 日志 选项卡,可以看到被拦截的IP、请求URL和拦截原因。如果记录了大量异常的IP,说明防御生效。
- 正常访问感受:在配置后,自己用浏览器打开网站,看看速度是否有变化?如果设置合理,正常用户几乎感觉不到影响。
- 服务器负载监控:宝塔面板首页有服务器CPU、内存和网卡流量图表。如果之前被CC攻击时流量异常,配置后流量回归正常,说明防御有效。
---
五、高频问题解答
Q:设置后网站无法访问了,怎么办?
A:检查是否误封了自己IP。先通过面板左侧 “安全” → “防火墙” → 查看被拦截的IP列表,找到自己的IP并解封。或者直接进入网站防火墙的IP规则,将你的IP加入白名单。
Q:防CC攻击会影响百度蜘蛛抓取吗?
A:会。如果百度蜘蛛的请求频率超过60次/分钟,也可能被拦截。建议在防火墙中设置 搜索引擎白名单(宝塔面板7.9+支持:防火墙 → 全局设置 → 搜索引擎白名单,勾选百度、必应等)。
Q:请求频率设置多少合适?
A:一般个人博客 30-60次/分钟;企业官网 60-100次/分钟;如果网站有大量API调用,建议单独为API路径设置更高的阈值(可通过防火墙的URL白名单排除)。
---
总结
通过以上5步,你已经在宝塔面板中完成了基础的防CC攻击设置。
重点是开启防火墙、合理配置频率限制、添加白名单以及定期检查日志。
对于零基础用户,这套方案无需编写复杂规则,一键启用就能应对大部分CC攻击。
如果你正在处理宝塔面板防CC攻击设置,建议先按本文步骤完整执行,再根据自己的环境微调阈值;
遇到异常时优先回看避坑和高频问题部分。
安全是一个持续的过程,定期更新规则和软件版本也同样重要。