kdwils/envoy-proxy-crowdsec-bouncer
GitHub: kdwils/envoy-proxy-crowdsec-bouncer
一个轻量级的 CrowdSec bouncer,通过 Envoy 的 ext_authz 过滤器实现恶意 IP 封禁、CAPTCHA 挑战和 WAF 请求检查。
Stars: 29 | Forks: 2



# CrowdSec Envoy Proxy Bouncer
用于 [Envoy Proxy](https://www.envoyproxy.io/) 的 [CrowdSec](https://www.crowdsec.net/) bouncer,使用 ext_authz 过滤器。
## 功能
- 阻断通过 CrowdSec 决策流式传输的恶意 IP
- Bouncer 指标报告
- 通过 CrowdSec AppSec 进行请求检查
- 对可疑 IP 的 CAPTCHA 验证挑战,支持:
- Google reCAPTCHA v2
- Cloudflare Turnstile
## 支持的 CrowdSec 版本
以下 CrowdSec 版本已经过测试。其他版本可能可以运行,但尚未经过验证。
| CrowdSec 版本 | 状态 |
|------------------|--------|
| v1.7.0 | ✅ |
| v1.7.2 | ✅ |
| v1.7.3 | ✅ |
| v1.7.4 | ✅ |
| v1.7.6 | ✅ |
## 工作原理
作为外部授权服务与 Envoy 集成。每个请求的评估流程如下:
1. 从转发请求头中提取客户端 IP
2. 检查 CrowdSec 决策缓存中针对该 IP 的封禁或 captcha 决策
3. 使用 CrowdSec AppSec WAF 检查请求(如果已启用)
4. 执行决策:
- Allow (允许):请求继续传递
- Ban (封禁):返回 403 及封禁页面
- Captcha (验证码):重定向到验证挑战页面

## 文档
- [配置参考](docs/CONFIGURATION.md)
- [CrowdSec 集成](docs/CROWDSEC.md)
- [CAPTCHA 集成](docs/CAPTCHA.md)
- [Webhooks](docs/WEBHOOKS.md)
- [自定义模板](docs/CUSTOM_TEMPLATES.md)
- [签名密钥生成](docs/SIGNING_KEYS.md)
- [部署指南](docs/DEPLOYMENT.md)
## 示例
- [Kubernetes 部署](docs/examples/deploy/README.md)
- [完整示例](https://github.com/kdwils/homelab/blob/main/monitoring/envoy-proxy-bouncer/environments/homelab/homelab.yaml)
- [自定义模板](docs/examples/deploy/custom-templates.yaml)
## 致谢
* Helm schema 由 [helm-values-schema-json](https://github.com/losisin/helm-values-schema-json) 生成
* Helm 文档由 [helm-docs](https://github.com/norwoodj/helm-docs) 生成
标签:API网关, AppImage, Bouncer, CAPTCHA, CISA项目, Cloudflare Turnstile, CrowdSec, Envoy Proxy, EVTX分析, ext_authz, Go, Golang, IP黑名单, LangChain, PE 加载器, reCAPTCHA, Ruby工具, WAF, Web应用防火墙, 入侵防御, 反向代理, 外部授权, 威胁情报, 子域名突变, 安全, 安全编程, 开发者工具, 开源, 恶意IP封禁, 日志审计, 网络信息收集, 网络安全, 请求拦截, 超时处理, 轻量级, 隐私保护, 验证码