Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
zentinel — 安全优先的反向代理,旨在守护自由网络。 | Kitploit
工具/GitHubGitHub/zentinelproxy/zentinel
身份验证与授权防御工具容器安全Web代理与拦截逆向工程Web安全网络安全API 安全AI 安全
GitHubzentinelproxy/zentinel

zentinel

安全优先的反向代理,旨在守护自由网络。

11623523天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
查看仓库
网站

zentinel mascot
Zentinel

一款以安全为先的反向代理,为守护自由网络而生。
让边缘运维高枕无忧。

Rust Pingora License

文档 • 演练场 • 基准测试 • 讨论 • 贡献指南


Zentinel 是一款基于 Cloudflare Pingora 构建的高性能反向代理。它提供明确的限制、可预测的行为以及生产级默认配置,适用于运维人员需要安心入睡的环境。

性能: 在针对 Envoy、HAProxy、Nginx 和 Caddy 的基准测试中拥有最低的 p99 延迟。100 万请求浸泡测试成功率 99.95%,零内存泄漏。纯 Rust WAF 引擎处理干净流量达 912K req/s —— 比 C++ ModSecurity 参考实现快 30 倍。

Zentinel 演示 —— 安装、配置、运行

状态

生产就绪的核心(代理、路由、TLS、缓存、负载均衡)。各 Agent 独立版本化 —— WAF、Auth 和 AI Gateway 已稳定;其他处于 beta 或 alpha 阶段。各 Agent 状态见 zentinelproxy.io/agents。

请求流程

   ┌────────┐                                       ┌──────────┐
   │ Client │                                       │ Upstream │
   └────┬───┘                                       └─────▲────┘
        │                                                 │
        ▼                                                 │
   ╔═══════════ Zentinel (core, single binary) ══════════╤════╗
   ║                                                     │    ║
   ║  Listener ─▶ Routing ─▶ Filter chain ─▶ Forward ────┘    ║
   ║  TLS, H2     priority   rate-limit,     LB,              ║
   ║              + LRU      cache, hooks    retries          ║
   ║                              │                           ║
   ╚══════════════════════════════╪═══════════════════════════╝
                                  │ UDS / gRPC (v2 agent protocol)
                                  ▼
          ╔═══════ External agents (separate processes) ═══════╗
          ║   WAF · Auth · Rate-limit · …                      ║
          ║   crash-isolated, any language                     ║
          ╚════════════════════════════════════════════════════╝

响应沿过滤器链回溯至客户端。访问日志和指标在完成时发出。

数据平面以单个二进制文件运行。解析繁重或运维风险高的安全与策略逻辑位于 UDS 或 gRPC 之后的外部 Agent 中,因此有缺陷的 Agent 无法拖垮代理。推理过程见宣言,各阶段细节见 crates/proxy/docs/architecture.md。

快速开始

# Install (binary only)
curl -fsSL https://get.zentinelproxy.io | sh

# Install and start as a systemd service (Linux, root or sudo)
curl -fsSL https://get.zentinelproxy.io | sh -s -- --enable-service

# Or via Cargo
cargo install zentinel-proxy

# Or via Docker
docker run -v $(pwd)/zentinel.kdl:/etc/zentinel/zentinel.kdl \
  ghcr.io/zentinelproxy/zentinel --config /etc/zentinel/zentinel.kdl

在 systemd 主机上,安装脚本还会放置 /etc/systemd/system/zentinel.service、一个 sysusers 片段,以及位于 /etc/zentinel/zentinel.kdl 的初始配置。服务启用和启动通过 --enable-service 选择加入。见 crates/proxy/docs/deployment.md。

将其保存为 zentinel.kdl —— 它将 localhost:8080 代理到端口 8081 上的后端:

system {
    worker-threads 0  // auto-detect CPU cores
}

listeners {
    listener "http" {
        address "0.0.0.0:8080"
        protocol "http"
    }
}

routes {
    route "default" {
        matches {
            path-prefix "/"
        }
        upstream "backend"
    }
}

upstreams {
    upstream "backend" {
        target "127.0.0.1:8081"
    }
}
# Run
zentinel --config zentinel.kdl

# Validate config without starting
zentinel test --config zentinel.kdl

要代理到 HTTPS 后端? 为 upstream 添加 tls 块:

upstreams {
    upstream "backend" {
        target "api.example.com:443"
        tls {
            sni "api.example.com"
        }
    }
}

没有 tls 块时,无论端口如何,Zentinel 都以明文 HTTP 连接。

更多示例:config/examples/ 涵盖 API 网关、负载均衡、WebSocket、缓存、推理路由等。或使用配置构建器交互式生成配置。

功能特性

功能描述
服务类型Web、API、Static、Builtin 和 Inference(LLM/AI)
负载均衡14 种算法:轮询、加权、最少连接、Maglev、Peak EWMA 等
安全TLS/mTLS、速率限制、GeoIP 过滤、WAF、zip 炸弹防护
Agentic 协议原生 MCP 和 A2A 感知 —— 按方法和按工具的允许/拒绝,从 JSON-RPC 正文解析,而非信任镜像头
Agent 协议用于 WAF、认证和自定义逻辑的外部 Agent —— 崩溃隔离,支持任意语言
HTTP 缓存基于 Pingora 的响应缓存,具备缓存击穿防护和 LRU 淘汰(内存、磁盘或混合后端)
WebSocket 代理符合 RFC 6455,支持逐帧 Agent 检查和会话亲和性
可观测性Prometheus 指标、结构化日志、OpenTelemetry 追踪
热重载通过 SIGHUP 实现零停机配置更新,带验证和原子交换(路由、upstream、Agent;监听器变更需重启)

完整功能分解见 zentinelproxy.io/features。

使用场景

  • 反向代理 —— 为 Web 应用提供 TLS 终止、静态文件服务、压缩和安全头
  • API 网关 —— 版本化路由、JWT/API 密钥认证、按客户端速率限制和 JSON 错误响应
  • 负载均衡器 —— 加权流量分配、健康检查、熔断器和蓝绿/金丝雀部署
  • 推理网关 —— 基于令牌的速率限制、使用 glob 模式(gpt-4*、claude-*)的模型路由、提示注入检测,以及针对 OpenAI、Anthropic 和通用 LLM 提供商的 PII 过滤
  • Agent 网关(MCP / A2A) —— 针对 Model Context Protocol 和 Agent2Agent 流量的按方法和按工具允许列表,基于 JSON-RPC 正文强制执行,因此镜像的 Mcp-Name 头无法声明一个工具而正文调用另一个
  • WebSocket 网关 —— 持久连接代理,支持帧检查、消息速率限制和会话亲和性
  • 安全网关 —— WAF、GeoIP 过滤、mTLS 和可组合的 Agent 管道,用于自定义安全逻辑

各场景示例配置:config/examples/

为什么选择 Zentinel

现代代理会积累隐藏行为、无界复杂性和在压力下才暴露的运维风险。Zentinel 采取不同的方法:

  • 有界资源 —— 内存限制、队列深度、确定性超时。没有意外行为。
  • 明确的失败模式 —— 按路由 fail-open 或 fail-closed,绝不模糊。
  • 外部可扩展性 —— 安全逻辑位于 Agent 中,而非核心。小巧、稳定的数据平面。
  • 默认可观测 —— 每个决策都被记录和计量。功能只有在有界、可观测且经过测试后才会发布。

目标是正确、平静且可信赖的基础设施。完整理念见 MANIFESTO.md。

Agentic 协议

Zentinel 原生理解 MCP(Model Context Protocol)和 A2A(Agent2Agent)。路由声明允许哪些方法和工具,代理通过读取 JSON-RPC 信封来强制执行:

route "mcp" {
    matches { path-prefix "/mcp" }
    upstream "mcp-server"

    mcp {
        tools {
            allow "get_weather" "search_docs"
            deny "execute_sql"
        }
    }
}

策略从正文解析,绝不从镜像头解析。 MCP 的 Streamable HTTP 传输将方法和工具名复制到 Mcp-Method 和 Mcp-Name,以便中间件无需解析 JSON 即可路由。基于这些头构建允许列表,就是构建一个允许一切的允许列表:

Mcp-Name: read_file                    ← what a header-based allowlist checks
{"method":"tools/call","params":{"name":"delete_everything"}}
                                ↑ what the server actually executes

Zentinel 读取头仅用于确认其与正文一致,并拒绝自相矛盾的请求。声称协议版本早于 2026-07-28 的请求默认被拒绝,因为这些版本从未要求两者匹配 —— 没有该检查,攻击者可通过声称旧版本绕过验证。

A2A 未定义镜像头,因此其策略直接读取正文,没有可欺骗的内容。

这决定调用是否可以发起。其内容是否安全 —— 参数中的提示注入、载荷中的 PII —— 仍属于 Agent 的工作。

完整参考:Agentic 协议

Agent

Zentinel 的安全性和可扩展性存在于 Agent 中 —— 挂接到每个请求阶段的外部进程。Agent 与代理崩溃隔离、可独立部署,并可用任意语言编写。

下载工具