1.
准备与环境确认
操作前准备:
(1)登录宝塔控制面板(http://你的面板:8888)。
(2)确认已安装并启用宝塔安全/防火墙(WAF)插件:面板左侧“软件商店/安全”。
(3)备份当前规则:进入插件→设置→导出或在服务器上备份 /www/server/panel/plugin/waf(或对应目录)。
2.
定位误报来源——查看防护日志
具体步骤:
(1)进入面板→安全→WAF→防护日志。按时间、IP、URL、规则ID筛查。
(2)点击单条日志查看触发的规则ID/名称、请求参数(GET/POST/UA/COOKIE)。记录 rule_id 和触发内容。
(3)在日志中复现请求,用 curl 或浏览器发送相同请求以便验证。
3.
判定误报类型与范围
判断流程:
(1)若仅单IP误报:可能是爬虫被误拦截;
(2)若特定URL/参数误报:检查是否因合法业务参数匹配了 XSS/SQL 注入签名;
(3)若大量不同IP误报:可能规则过严或存在规则库误判,需要调整签名或关闭该签名。
4.
添加白名单的安全方法(站点级)
逐步操作:
(1)面板→安全→WAF→误报管理或白名单管理→新增白名单;
(2)选择白名单类型:IP、URL、参数名、UA、COOKIE 或规则ID 放行;
(3)建议精确匹配:IP 指定单一 IP/CIDR,URL 使用精确路径或正则(例:^/api/v1/order$),参数白名单写明参数名与值范围;
(4)保存并应用,立即在防护日志内验证是否仍拦截。
5.
添加白名单的示例与注意事项
实用示例:
(1)放行内部IP:类型=IP,内容=192.0.2.10/32;
(2)放行某参数:类型=参数,内容=name=product_desc;
(3)放行规则ID:类型=规则ID,内容=100213(具体以日志 rule_id 为准);
风险提示:尽量不要使用全局“放行所有”或过宽的正则,记录变更并定期审计。
6.
调试、回滚与验证流程
实施后校验:
(1)在测试环境或使用 curl 携带原始请求头复现,观察 WAF 日志是否还触发;
(2)若误放行导致安全隐患,立刻删除该白名单并从备份恢复规则;
(3)建议:变更时先在“观察模式”或“警告模式”运行24~72小时后再切换到阻断模式。
7.
问:为什么会出现误报?
答:误报常见原因包括规则签名过于通用、业务参数含有特殊字符(如含 SQL 片段或 HTML 标签)、第三方爬虫行为类似攻击、或新上线功能未同步白名单。通过查看防护日志的 rule_id 与触发字段可以快速定位原因并采取精确白名单或调整规则。
8.
问:什么时候应使用规则级白名单而不是IP白名单?
答:当误报由特定签名导致且影响多个合法用户时,优先考虑规则级(或参数级)白名单以最小化放行面;IP 白名单适用于可信任的内部或合作方 IP,避免长期使用 IP 白名单放行公网访问。
9.
问:如何保证白名单操作既解决误报又不降低安全?
答:遵循最小权限原则:精确匹配(具体 URL 或参数)优先于模糊放行;记录每次白名单变更、设置到期自动审查;先在观察模式验证;最后定期审计白名单并结合日志分析评估风险。