66 lines
2.2 KiB
Markdown
66 lines
2.2 KiB
Markdown
# 宝塔 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。
|