这个项目能做什么

Barbacana 是一款开源 Web 应用防火墙(WAF)和 API 安全网关,设计初衷是实现默认安全且易于操作。它部署于公共互联网与用户应用之间,检查所有传入的 HTTP 请求以识别已知攻击模式,包括 SQL 注入、跨站脚本攻击(XSS)、命令注入、路径遍历及数百种其他常见 Web 攻击向量,并在恶意请求到达后端应用代码前将其拦截。该工具优先考虑零配置安全性:在首次部署时立即启用来自 OWASP Core Rule Set (CRS) v4 的全部 500 多条保护规则,无需手动下载规则、编写策略或具备专门的安全专业知识。配置通过简单、人类可读的 YAML 文件完成,无需复杂的 Web UI。用户可以通过直截了当的配置项定义路由规则、内容类型和 HTTP 方法限制、请求重写规则、API 路由的 OpenAPI 规范验证、多部分上传限制以及针对误报的每路由规则例外。Barbacana 旨在最小化运维开销:它作为单个独立容器运行,无需外部依赖,如单独的数据库、监控仪表板、付费云服务或关联账户。它内置通过 Let's Encrypt 实现的自动 HTTPS 配置,当指定主机名时,自动处理 HTTP 到 HTTPS 的重定向和证书续期,无需手动配置。默认规则集经过调优,以在安全性和低误报率之间取得平衡,跳过会破坏正常应用流量的过于激进的规则,同时允许用户根据特定用例按需调整每路由的规则设置。截至 0.5.0 版本,Barbacana 在 GoTestWAF 开源 WAF 基准测试中得分为 93.65%,拦截了 84% 的攻击流量,同时允许 91% 的正常合法流量通过,并通过了 99.75% 的官方 OWASP CRS go-ftw 测试套件。Barbacana 基于三个成熟的开源组件构建:Caddy 提供 HTTP 服务器、TLS、HTTP/2/3 和反向代理功能;Coraza 作为纯 Go WAF 引擎,无 CGO 依赖;以及社区维护的 OWASP CRS v4 规则集用于攻击检测。它抽象了这些底层组件的复杂性,使用户无需直接学习或配置它们。值得注意的是,Barbacana 像所有 WAF 一样,无法阻止在其检查范围之外的层级运作的威胁,包括大容量 DDoS 攻击、被盗凭证滥用和应用逻辑缺陷。其核心价值在于为互联网与用户应用之间提供全面的、始终最新的攻击模式保护。该项目根据 Apache 2.0 许可证发布。