2.2 KiB
2.2 KiB
宝塔 WAF 安装记录
日期:2026-09-01
服务器:47.106.181.28
安装内容
- 插件:宝塔软件商店
Nginx免费防火墙 - 插件名称:
free_waf - 版本:
8.4 - Nginx:
1.26.3,已包含 Lua Nginx 模块 - 插件目录:
/www/server/panel/plugin/free_waf - WAF 运行目录:
/www/server/free_waf - 日志目录:
/www/wwwlogs/free_waf_log
没有安装需要付费授权的 btwaf 插件。
备份
安装前完整备份:
/www/backup/bt-free-waf-20260901-151459
备份包含 Nginx 配置、全部 Nginx 虚拟主机配置、安装前 nginx -T 输出及经过宝塔软件商店 MD5 校验的插件包。
当前策略
- WAF 总开关:开启
- SQL 注入和 XSS 检查:开启
- POST 参数检查:开启
- Cookie 检查:开启
- 常见扫描器检查:开启
- CC 防护:开启
- CC 阈值:单 IP 每 60 秒 120 次
- CC 封禁时间:300 秒
- 境外访问全部拦截:关闭
插件原始默认配置会禁止所有中国大陆以外访问。为避免误伤正常用户,安装后已将该规则关闭。
验证结果
- Nginx 配置语法检查通过。
- 正常列表页面连续请求均返回 HTTP 200。
- 宝塔面板标准浏览器请求返回 HTTP 200。
- SQL 注入探测请求返回 HTTP 403。
sqlmap扫描器标识请求返回 HTTP 403。- WAF 已生成站点拦截日志:
/www/wwwlogs/free_waf_log/www.xxiaw.com_2026-09-01.log。 - 安装后源站缓存命中请求约 3–18 ms;首次缓存生成会更慢。
面板可见性修复
宝塔 13 的软件商店后端在查询“已安装”时默认排除类型为 10 的本地插件,导致 WAF 已运行但界面仍只显示 7 项。已修正 /www/server/panel/class/panelPlugin.py 的本地插件合并和筛选条件,并重启宝塔面板。
- 修复后“已安装”接口返回 8 项。
free_waf返回setup=true、status=true。- 面板代码备份:
/www/backup/bt-waf-ui-20260901-152211/panelPlugin.py。
回滚
宝塔插件自带卸载入口和卸载脚本:
bash /www/server/panel/plugin/free_waf/install.sh uninstall
如需手工恢复,可使用安装前备份目录中的 Nginx 与虚拟主机配置。回滚后必须先运行 /www/server/nginx/sbin/nginx -t,通过后再重新加载 Nginx。