CasWAF 与 BunkerWeb 对比
BunkerWeb 是基于 Nginx 的 WAF 和反向代理。它默认把很多防护打开,部署以 Docker 和 Kubernetes 为主,开源版之上还有 Pro 版和托管服务。CasWAF 押的是另一边:一个 Go 程序,管理界面在里面,设置存在数据库,从头到尾 Apache-2.0,没有可以升级过去的版本。
一览
| CasWAF | BunkerWeb | |
|---|---|---|
| 许可证 | Apache-2.0,没有付费版 | AGPL-3.0,另有 Pro 和托管云 |
| 基于什么 | 一个 Go 程序,底下没有 Nginx | Nginx |
| 部署 | Linux 或 Windows 上一个可执行文件 | Docker、Kubernetes、Swarm、Linux 包、Azure |
| 怎么配置 | 管理界面,设置存在 MySQL,所有节点共用 | 环境变量或网页界面 |
| 默认防护 | 自己加的规则,不捆绑规则集 | 带 OWASP Core Rule Set 的 ModSecurity、按行为封禁、反机器人、连接限制 |
| 管理界面登录 | Casdoor,带多因素认证、LDAP、SAML 和第三方登录 | 本地账号 |
| 版本 | 一个版本,Apache-2.0 | 开源版、Pro 版、托管云 |
CasWAF 不一样的地方
Apache-2.0,不是 AGPL-3.0
改了 BunkerWeb 再通过网络提供给其他人用,AGPL 要求你公开这些改动。Apache-2.0 只要求署名,网关作为你要交付的产品的一部分时,这个区别有实际影响。
底下没有 Nginx
网关、管理界面和规则是一个 Go 程序。没有第二个需要配置、打补丁和理解的Web服务器,同一个可执行文件在 Windows 上也能跑。
设置存在数据库里
站点、证书和规则都在 MySQL 里,每个节点读同一批行,所以一个库后面挂几个网关是常规用法,不需要额外的集成。
单点登录是管理界面的一部分
Casdoor 把多因素认证、LDAP、SAML 和第三方登录带进管理界面,同一个登录可以放在任何站点前面。BunkerWeb 的账号只在它自己里面。
没有保留功能
没有 Pro 版,也没有要迁过去的托管服务,文档里写的每个功能都在你下载的程序里。
BunkerWeb 领先的地方
启动时防护就开着
BunkerWeb 自带 OWASP Core Rule Set,按不良行为封禁、反机器人挑战和连接限制都已经接好。CasWAF 提供规则类型和一个空的规则列表,加什么由你决定。
部署方式更多
Kubernetes、Docker Swarm、面向容器的 autoconf、Azure 和 Linux 包都是一等支持。CasWAF 要的是一个可执行文件和一个数据库,集群方面要自己搭。
插件系统
BunkerWeb 的扩展能不动核心就加功能。CasWAF 没有插件接口,发布版有什么就是什么。
界面里的报告
它的管理界面就是围绕“拦了什么、为什么拦”做的,比 CasWAF 现在的请求记录和看板走得更远。
怎么选
- 想在 Kubernetes 上开箱就有广泛防护:BunkerWeb。
- 想要一个 Apache-2.0 的程序,管理界面和单点登录都在里面:CasWAF。
- 在几台服务器上管站点,想让它们共用一个数据库:CasWAF。
- 自建 WAF 需要有厂商在后面支持:BunkerWeb Pro。