宝塔面板怎么设置 WAF
学完这篇你能得到什么:你会在宝塔面板上装好并配好 WAF(网站防火墙),让网站自动拦掉 SQL 注入、XSS、恶意扫描和 CC 攻击这类常见请求。
第一步:确认环境是 Nginx
宝塔的 WAF 插件依赖 Nginx 的 Lua 模块,Apache 环境下装不了,所以先确认服务器跑的是 Nginx。
登录宝塔面板后台(默认地址 http://服务器IP:8888),左侧竖排菜单点「软件商店」→ 顶部切到「已安装」,列表里能看到 Nginx 1.2x 就说明没问题。如果只有 Apache,要么重装环境,要么改用「堡塔云 WAF」独立部署版。
注意:装插件前先在「面板设置」→「备份」里对站点和数据库做一次快照。插件和 Nginx 版本不兼容时会导致整站 502,有备份能一键回滚。
第二步:安装防火墙插件
这一步把 WAF 程序装到服务器上。
左侧「软件商店」→ 顶部搜索框输入「堡塔网站防火墙」(老版本叫「Nginx 防火墙」)→ 找到后点右侧「安装」。弹窗会让你选版本:
- 免费版:CC 防护、IP 黑白名单、基础拦截规则,个人小站够用
- 专业版/企业版:完整的 SQL 注入、XSS、木马查杀规则库,以及地区限制、URL 级规则
安装约 1–3 分钟,完成后按钮变成「设置」。
第三步:打开全局总开关
这一步让防火墙整体处于生效状态。
「软件商店」→「已安装」→ 找到「堡塔网站防火墙」→ 点「设置」。进入后左侧选「全局配置」,把最上面的「防火墙总开关」拨到开启状态(变蓝/变绿)。
第四步:给具体站点开启防护并调参数
全局开关只是总闸,每个网站还要单独开。
左侧点「站点设置」→ 找到你的域名那一行 → 点右侧「配置」,进入站点面板后:
- 打开「站点防火墙开关」
- CC 防御:设「周期」60 秒、「单 IP 请求次数」120 次、「封锁时间」600 秒。流量不大的站可以更严,比如 60 秒 60 次
- 规则开关:SQL 注入、XSS、一句话木马、文件包含、命令执行,全部勾上
- URL 白名单:把后台地址
/admin、支付回调/notify、接口路径填进去
注意:CC 阈值设太低,正常用户和搜索引擎爬虫会被一起封。不确定就先设宽松值,跑一天看「封锁记录」再收紧。
注意:后台地址、支付回调、微信/支付宝异步通知这类地址必须加白名单,否则用户付了钱回调被拦,订单状态不会更新。
第五步:看日志、解封误伤的 IP
左侧「封锁记录」列出被拦 IP、拦截时间、命中原因;「日志」里能看到具体请求 URL 和触发规则。自己的 IP 被误封时,去「IP 白名单」→「添加」填上 IP,或在封锁记录里点「解封」。
第六步:验证是否真的生效
浏览器打开 你的域名/?id=1%27%20or%20%271%27=%271,如果返回 403 或宝塔的拦截提示页,说明规则已经工作。没反应就回到第三步检查总开关和站点开关是否都开着。
注意:面板自身的 8888 端口不要裸奔在公网。去「安全」→「面板端口」改掉默认端口,开启「面板 SSL」,再在「授权 IP」里只放自己的固定 IP。
小结
- WAF 插件只支持 Nginx,Apache 环境装不了
- 「软件商店」搜「堡塔网站防火墙」安装,免费版足够防日常 CC
- 全局开关和站点开关是两处,都要打开
- CC 阈值别设太狠,后台和支付回调地址必须加白名单
- 定期翻封锁记录,误封及时解封并加白,规则按日志逐步收紧
原文链接:https://www.gj0.com/thread-531.html
转载请注明出处并保留本声明;内容仅代表作者观点,与本站立场无关。若本文涉嫌侵权,请联系本站处理。