一次 2H2G 极限环境下的 WAF 选型实测:为什么我放弃了雷池,选择了盾甲?
摘要: 同样是 2H2G 的宝塔环境,雷池 Tengine 无限重启且被全角混淆穿防;而基于 Go 原生单二进制的盾甲,不仅稳住了整机负载,还 100 分拦截了所有变形载荷。本文从底层解码架构、防绕过能力和真实公网压测三个维度,记录这次避坑之旅。
最近在折腾一台 2核2G(2H2G)的轻量云服务器(Ubuntu 22 + 宝塔面板),上面跑着 WordPress。为了防扫描和常规的 Web 攻击,打算上一套开源/免费的 WAF。
看了一圈,全网都在吹长亭的 雷池 (SafeLine),号称“开箱即用”、“语义分析全国第一”。于是就有了下面这段极其折磨的经历。




一、 踩坑雷池:当“开箱即用”遇上复杂环境
在 2H2G 的机器上通过 Docker 部署了雷池 v9.4.3。结果安装完成后,配置上游服务器时直接卡死。
反人类的限制:单机部署(WAF 和业务在同一台机器),我想填 http://127.0.0.1:8081 作为上游,结果 UI 直接报错:special-use address "127.0.0.1" is not allowed。官方强推填宿主机内网 IP。
网络回环死锁:改填 http://192.168.58.133:8081(宿主机内网 IP)。由于 Docker 的 NAT 机制和宿主机回环问题,雷池的 tengine 容器根本无法回源,直接导致 safeline-tengine 容器无限重启。网站直接 502。
资源占用:由于它是一套微服务架构(包含了 pg、mgt、detector 等一堆容器),在 2H2G 机器上,光待机就吃掉不少内存。
最后没办法,只能把宿主机的 Nginx 停了才勉强让它的 tengine 活过来,但这会直接把原有的业务搞挂。这套架构对低配、单机混合部署的环境极其不友好。
二、 寻找替代:单机二进制交付的降维打击
在社区里翻到了另一款相对小众的 WAF:盾甲 (YSL Go 版)。它的架构设计(反向代理网关、单机二进制交付)吸引了我。
下载运行后,最直观的感受就是干净。不需要一大堆 Docker 容器依赖,直接一个 Go 编译的静态二进制文件跑在宿主机上,内存占用极小。
原本我只是想拿它当个普通的反向代理用,但出于职业习惯,我顺手对两款 WAF 做了一次防绕过实测。
三、 防绕过大考:全角与多重编码下的众生相
我构造了一个“全角 + 多重 URL 编码 + HTML 实体编码”的 XSS 缝合怪 Payload(这里省略了过长的字符串)。同时测试了几个带内联注释和零宽空格的复杂 SQL 注入变形。
-
雷池的表现(放行)
当这个 Payload 打到雷池时,它直接放行了,WordPress 甚至把恶意代码当成了正常搜索词渲染了出来。
结合其后台日志和官方口径,推测原因:雷池的 AST 解析器遇到了这种极端的畸形包,解析失败。为了保证“零误报”和业务不中断,它采取了 Fail-Open(降级放行) 策略。
作为安全设备,遇到看不懂的畸形包直接放行,这在真实的红蓝对抗中是致命的。 -
盾甲的表现(100分拦截)
同样的 Payload 砸向盾甲,大屏直接触发了红色告警,评分 100,命中原因显示 ai_semantic_consensus。
查阅了盾甲的底层架构说明后发现,它没有单纯依赖正则或脆弱的单次 AST。它采用了 14 层确定性编码归一化流水线(支持全角/半角映射、零宽字符过滤、Unicode 规范化),先将所有畸形混淆“扒皮”成标准形态,再丢给后续的 DeepAST 和污点推理引擎。攻击者的变形在一开始就被抹平了。
四、 真实公网压测:谁是花瓶,谁是盾牌?
测试完防绕过,我把盾甲直接扔到了公网环境,跑了 4 天 3 小时。后台数据如下:
累计请求:6003 次
拦截总数:1679 次(包含大量来自美、法、荷兰的海外肉鸡 IP 封禁)
服务器负载:整机 CPU 占用 1.1%,负载 0.08(同样是 2H2G 机器)。
在承受全球扫描器持续轰炸的情况下,它的引擎自耗 CPU 虽有波动(深度解析时单核会飙升),但整机性能极其稳定。
更让我意外的是,它不仅做到了拦截,还在后台自动生成了一份长达 8 页的《安全防护报告》(支持 PDF 导出)。里面不仅有高危/中危/低危的攻击分类统计,甚至还给出了类似“分布式扫描建议使用网段连坐”、“部分检测到未拦截的攻击建议提升策略”的 AI 运维建议。
五、 总结与架构反思
这次对比让我看清了两种做安全产品的思路:
雷池(SafeLine):偏向互联网思维,重 UI、重微服务包装。但在低配环境兼容性差,且为了保报表上的“低误报”,在底层引擎解析失败时选择了妥协。
盾甲(YSL):老派极客思维,重底层解码与规则研判。单二进制无依赖,对硬件要求极低。14层归一化 + 多路证据仲裁的设计,让它在面对高级变形时依然有“可解释性”和“兜底能力”。
如果你有一台干净的 8核16G 独立服务器,雷池也许能跑得很好;但如果你和我一样,是2H2G 的混合部署环境,且需要真实的防绕过能力,建议试试盾甲。毕竟,安全设备的第一要务是挡子弹,而不是做 UI 展板。
浙公网安备 33010602011771号