如何配置宝塔面板的CC防御规则的黑白名单?
美国、香港服务器
如何配置宝塔面板的CC防御规则的黑白名单?
02-05 来源:
配置宝塔面板 CC 防御规则的黑白名单,需区分全局 / 站点级、IP/UA/URL 维度,结合面板可视化与命令行批量操作,核心是利用规则优先级(IP 白 > IP 黑 > UA 黑白 > CC 防御)实现精准防护,以下是全流程可落地方案。
一、面板可视化配置(推荐,快速生效)
1. 全局 IP 黑白名单(所有站点通用)
路径:安全 → 防火墙 → IP 黑白名单
选择 “IP 白名单” 或 “IP 黑名单”,输入单个 IP(如 192.168.1.100)、CIDR 段(如 192.168.1.0/24)或 IP 段(如 192.168.1.100-192.168.1.200)。
设置封锁周期(临时 / 永久)、应用范围(全局)、动作(放行 / 阻止),点击 “添加” 后重载防火墙规则。
关键:IP 白名单优先级最高,添加后直接放行,不进入 CC 防御统计;黑名单 IP 直接拦截,无需匹配 CC 频率阈值。
2. 站点级 IP 黑白名单(独立规则,不影响全局)
路径:网站 → 目标站点 → 设置 → 配置文件
Nginx 配置添加:allow 192.168.1.100;(白名单)或deny 192.168.1.100;(黑名单),支持 IP 段。
Apache 配置添加:Require ip 192.168.1.100(白名单)或Require not ip 192.168.1.100(黑名单)。
保存后重启 Web 服务(nginx -s reload或systemctl restart httpd),仅对当前站点生效。
3. UA 黑白名单(适配 IP+UA 模式)
路径:安全 → Web 防火墙 → CC 防御 → 高级设置
开启 “UA 黑白名单”,白名单填写搜索引擎爬虫(如Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html))或可信 UA,避免误拦。
黑名单填写恶意 UA 关键词(如python-requests、curl等高频攻击 UA),支持模糊匹配。
关键:IP+UA 模式下,UA 黑白名单在 IP 黑白名单之后匹配,进一步过滤恶意请求。
4. URL 黑白名单(绕过 CC 防御,适配核心接口)
路径:安全 → Web 防火墙 → URL 黑白名单
白名单:输入核心接口 URL(如/api/login),格式为^/api/login(前缀匹配),添加后该 URL 不进入 CC 防御检测,直接放行。
黑名单:输入恶意 URL(如/admin/backdoor.php),阻止访问并记录日志。
注意:URL 白名单优先级高于 CC 防御,仅用于必须放行的核心接口,避免扩大范围导致安全风险。
5. CC 防御专属黑白名单联动
路径:安全 → Web 防火墙 → CC 防御(全局 / 站点)
开启 “IP+UA 模式”,在 “黑白名单” 模块中,直接添加 IP 或 UA 至对应列表。
从 CC 攻击日志(安全 → 攻击日志 → CC 防御)中,一键将高频攻击 IP/UA 加入黑名单,形成闭环防护。
CDN 场景:开启 “获取真实 IP”,避免误封 CDN 节点 IP,确保黑白名单匹配源 IP。
二、命令行底层配置(批量 / 自动化,适合运维脚本)
1. 编辑 WAF 配置文件(Lua)
打开配置文件:
bash
运行
vi /www/server/panel/vhost/wafconf/config.lua
配置 IP 黑白名单(格式为数组,支持多个条目):
lua
ipWhitelist = {"127.0.0.1", "192.168.1.0/24"}, -- 白名单IP
ipBlocklist = {"1.2.3.4", "5.6.7.0/24"}, -- 黑名单IP
配置 UA 黑白名单:
lua
uaWhitelist = {"Baiduspider", "Googlebot"}, -- 白名单UA
uaBlocklist = {"python-requests", "curl"}, -- 黑名单UA
保存后重启 Nginx 与 WAF 服务:
bash
运行
nginx -s reload && bt reload firewall
2. 批量导入 IP 黑白名单脚本
bash
运行
#!/bin/bash
# 批量导入IP白名单,IP列表存于whitelist.txt
while read ip; do
bt firewall add whitelist --ip=$ip --expire=0 --scope=global
done < whitelist.txt
# 批量导入IP黑名单,IP列表存于blacklist.txt
while read ip; do
bt firewall add blacklist --ip=$ip --expire=3600 --scope=global
done < blacklist.txt
bt reload firewall
三、规则优先级与生效验证
优先级顺序(从高到低):IP 白名单 → IP 黑名单 → UA 白名单 → UA 黑名单 → CC 防御规则(IP+UA 模式)。
验证方法:
面板查看:安全 → 防火墙 → IP 黑白名单,确认 IP/UA 已添加。
命令行验证:
bash
运行
grep "ipWhitelist" /www/server/panel/vhost/wafconf/config.lua
grep "deny" /www/server/panel/vhost/wafconf/ipblacklist.conf
模拟访问:用黑名单 IP 访问网站,应返回 403 错误,且 CC 防御日志无该 IP 记录;白名单 IP 访问正常,不受 CC 频率限制。
四、常见问题与排查
规则失效:检查 CDN 是否开启真实 IP 获取,未开启会导致黑白名单匹配 CDN 节点 IP 而非源 IP。
误拦正常用户:将误拦 IP/UA 加入白名单,调大 CC 防御触发频率,或限制黑名单应用范围(如仅站点级)。
重启失效:确认防火墙规则已保存并设置开机自启(systemctl enable firewalld),避免重启服务器后规则丢失。
黑白名单冲突:确保同一 IP/UA 不同时存在于白名单和黑名单,白名单优先级更高。
五、最佳实践与安全建议
日常维护:定期审计黑白名单,清理过期规则(如临时封锁 IP),避免冗余导致性能下降。
联动防御:IP+UA 模式下,优先用 IP 黑名单拦截高频 IP,UA 黑名单过滤 IP 不变但 UA 频繁更换的攻击,减少 CC 防御计算压力。
分级防护:全局黑白名单用于通用规则,站点级用于特定业务,URL 黑白名单用于核心接口,实现精细化管控。
三二互联专业提供香港VPS,美国VPS主机,香港云服务器租用等业务香港美国到大陆CN2 GIA速度最快