#envoy #bulwark #security #external #processor #processing #uncertainty

bulwark-ext-processor

Envoy外部处理器,用于Bulwark安全引擎

6个版本 (破坏性)

0.6.0 2024年6月27日
0.5.0 2024年4月7日
0.4.0 2023年11月23日
0.3.0 2023年8月3日
0.1.0 2023年5月19日

#1125 in WebAssembly

Download history 8/week @ 2024-05-18 2/week @ 2024-05-25 3/week @ 2024-06-01 1/week @ 2024-06-08 76/week @ 2024-06-22 21/week @ 2024-06-29 7/week @ 2024-07-06 1/week @ 2024-07-13

每月398次下载
bulwark-cli中使用

Apache-2.0 WITH LLVM-exception

10MB
169K SLoC

Bazel 135K SLoC // 0.1% comments Go 25K SLoC // 0.1% comments Rust 5.5K SLoC // 0.0% comments Java 2K SLoC // 0.2% comments C++ 808 SLoC // 0.1% comments Python 615 SLoC // 0.6% comments Shell 463 SLoC // 0.2% comments Forge Config 32 SLoC // 0.2% comments PowerShell 4 SLoC // 0.3% comments

Bulwark Logo


Crates.io Version msrv 1.76.0 Crates.io Total Downloads GitHub Actions Workflow Status docs.rs

在不确定性的情况下进行自动安全决策。

🧩 Envoy外部处理器

bulwark-ext-processor包负责公开实现Envoy外部处理API的服务。它将Envoy连接到Bulwark的WebAssembly宿主环境。

此包主要是bulwark-cli的依赖项。

🏰 什么是Bulwark?

Bulwark是一个快速、现代、开源的Web应用程序防火墙(WAF)和API安全网关。它简化了检测安全控制的实现,同时提供对您的Web服务的全面可见性。Bulwark对规则定义的检测-as-code方法使安全团队能够对持续和适应性威胁做出更有信心。Bulwark插件提供广泛的功能,使安全团队能够快速定义和演进检测,而无需更改底层应用程序。

🚀 快速入门

在Bulwark部署中,有几个组件协同工作。在Bulwark当前版本中,Envoy处理初始HTTP请求处理。Bulwark使用Envoy的外部处理API来挂钩该处理并在流量上执行安全决策。在大多数配置中,将有一个内部服务处理Web应用程序的实际业务逻辑,而Envoy将配置为在Bulwark做出决策后继续发送流量。

提供了一个示例Envoy配置文件,作为上述典型部署设置的起点。以下命令将启动Envoy服务器

envoy -c envoy.yaml

堡垒自带的 配置文件 是一个 TOML 文件,它定义了应该使用哪些检测插件来处理请求,以及如监听端口和 Redis 服务器地址等详细信息。堡垒配置中的监听端口必须与 Envoy 配置中相应外部处理过滤器部分给出的端口号匹配。使用以下命令启动堡垒(在通过 cargo install bulwark-cli 安装 CLI 后)

bulwark-cli ext-processor -c bulwark.toml

💪 贡献

查看 未解决问题列表。我们积极维护一个适合新贡献者的问题列表。或者,检测插件可以贡献给 社区规则集

我们不要求贡献者签署许可协议(CLA),因为我们希望 Bulwark 的用户有信心软件将按照当前许可继续可用。

🤝 许可

本项目采用 Apache 2.0 许可证与 LLVM 异常。有关详细信息,请参阅 LICENSE。

除非您明确说明,否则您根据 Apache 2.0 许可证提交给本项目并由您有意包含的任何贡献,应按照上述方式许可,不附加任何额外条款或条件。

🛟 获取帮助

首先,检查您的问题是否可以在任何 指南API 文档 中找到。如果您在那里找不到答案,请检查 Bulwark 项目的 讨论论坛。我们很乐意在社区论坛中回答您的问题并提供指导。

依赖

~43–60MB
~1M SLoC