# 宝塔 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。