宝塔waf防火墙

 人参与 | 时间:2026-10-17 07:24:05

第一次装宝塔WAF,宝塔是火墙因为一台跑WordPress的机器被刷了。日志里全是宝塔POST /xmlrpc.php,每秒几十条,火墙CPU直接飙满。宝塔那会儿我还在用Nginx手写规则,火墙改来改去总有漏的宝塔,干脆试了宝塔面板里那个防火墙插件。火墙

装完之后第一感觉:这东西不是宝塔给技术极客玩的,是火墙给“不想折腾但又不得不防”的人用的。界面就挂在宝塔面板左侧菜单里,宝塔点进去,火墙开关一拨,宝塔完事。火墙没有复杂的宝塔策略链,没有让你写YAML配置文件。它默认给你套了一组规则——SQL注入、XSS、文件包含、CC攻击,常见的Web攻击类型基本覆盖了。

但别误会,默认规则只能挡掉脚本小子的扫描器。真正让我留下来的是它的自定义功能。

规则怎么写,决定了它好不好用

宝塔WAF的自定义规则支持正则匹配URL、User-Agent、Cookie、POST参数。我拿它干过一件事:某个后台登录接口老被人撞库,频率不高但持续不断。我在WAF里加了一条规则——同一IP在60秒内访问/admin/login超过10次就封禁30分钟。写起来跟填表单差不多,URL填路径,阈值填数字,动作选“封禁IP”。保存,生效。前后不到两分钟。

它还有个“CC防护”的独立模块,跟自定义规则是分开的。CC防护的强度可以调,从“宽松”到“严格”四档。我一般选中间那档,太严了容易误伤正常用户,太松了又跟没开一样。这个度得自己试,没有标准答案。

日志这块做得还行。每个被拦截的请求都会记录:时间、IP、触发的规则、请求的URL和UA。有次我发现一个IP一直在触发XSS规则,点开详情一看,是某个安全扫描器在批量探测。直接把这个IP段拉黑,世界安静了。

说几个实际用下来的坑

宝塔WAF跟Nginx的集成方式是在Nginx配置里插入一段lua代码。这意味着你面板里改Nginx配置的时候得小心,别把WAF那段给覆盖了。我有次手动改了个server块,重启Nginx之后WAF直接失效,排查了半天才发现是配置被冲掉了。后来学乖了,改配置之前先备份。

另一个问题是性能。开WAF之后Nginx的并发能力会下降,具体降多少取决于你开了多少规则。我那台2核4G的机器,开了全量规则之后QPS大概掉了三成。后来把一些不常用的规则关了,恢复到只掉一成左右。这个取舍看业务,如果是小站,全开也无所谓;如果是高并发接口,得掂量一下。

还有一点,宝塔WAF的免费版和付费版差距不小。免费版只能用基础规则,自定义规则条数有限制,CC防护的档位也少。付费版解锁了更多规则库和IP黑名单容量。如果你只是个人博客,免费版够用;如果是企业站或者有商业接口,建议上付费版,省心。

它适合谁

如果你已经在用宝塔面板管理服务器,那装个WAF是顺手的事。不用额外配环境,不用单独维护一台WAF机器,面板里点一下就行。对于中小型站点、个人开发者、运维人力有限的小团队来说,这个方案性价比很高。

但如果你追求极致性能,或者需要深度定制WAF策略——比如基于机器学习的行为分析、复杂的速率限制组合——那宝塔WAF可能不够。它本质上是一个“够用就好”的产品,把常见攻击挡在门外,让你不用天天盯着日志看。这个定位本身没什么问题,关键是你要清楚自己需要什么。

我现在这台机器跑了半年多,WAF拦了大概两万多次攻击尝试。真正需要我手动处理的,不超过十次。剩下的它自己消化了。对我来说,这就够了。

顶: 4踩: 6