架构与工作原理
解析数据平面与 ALAP 异步研判的分工体系、旁路审查机制及单二进制交付组件。
CheeseWAF 是基于 Go 语言构建的商用级自托管 Web 应用防火墙(WAF)。系统采用数据平面与管理平面解耦的双平面架构,运行时内置轻量级持久化存储保存管理状态,并支持扩展 PostgreSQL 作为高性能异步访问日志存储。
在架构设计上,CheeseWAF 将**数据平面(Data Plane)请求路径与管理平面(Management Plane)**及异步 ALAP 审查流程彻底解耦。同一个 cheesewaf 进程内启动两个监听平面:数据平面负责有界、低延迟的同步检测与反向代理;管理平面承载管理 API、控制台界面与后台威胁审查队列,实时请求路径绝不阻塞等待远程大模型分析。
CheeseWAF 发行包请前往 GitHub Releases 获取。项目完全开源,遵循 Apache License 2.0 协议。
市面上常见的 Web 安全防护方案通常面临几个痛点:
CheeseWAF 的思路是:用自研 AST 语法树做毫秒级即时拦截,大模型只在后台异步值守存疑流量,既没有正则的误报和绕过,也不增加线上任何延迟,极简轻量开箱即用。
| 对比维度 | 传统正则 WAF (如 ModSecurity) | 同步大模型 WAF | 重型容器全家桶 (如雷池) | 商业云 WAF (如 Cloudflare) | CheeseWAF |
|---|---|---|---|---|---|
| 检测技术 | 正则特征匹配 | 每次请求同步调用大模型 | 正则 + 统计/语义分析 | 规则库 + 威胁情报 | AST 语法分析 + 异步大模型值守 (ALAP) |
| 请求额外延迟 | 1~10 ms | 500~2000 ms(极高) | 2~15 ms | 取决于云节点网络 | < 1 ms(毫秒级阻断,0 模型等待) |
| Token / API 成本 | 无 | 极高(全量请求计费) | 无 | 按流量计费 | 低(仅异步复核存疑样本) |
| 抗混淆与误报 | 易被编码绕过,误报多 | 存在模型幻觉 | 规则复杂,维护成本高 | 依赖厂商情报更新 | 解析语法树,防混淆,误报率 < 0.8% |
| 资源与部署成本 | 需配置编译 Nginx 模块 | 依赖外部 API | 需 5~10 个容器,内存 1~2 GB+ | 商业订阅计费 | 单二进制/单容器,内置 SQLite,内存几十 MB 起 |
| 现有架构侵入性 | 绑定特定 Web 服务 | 强制修改反代路径 | 通常需替换主网关 | 修改域名 DNS 接入 | 既能独立反代,也可通过 Sidecar 旁挂现有网关 |
| 数据与隐私合规 | 本地运行 | 业务流量全文发往外部 API | 本地运行 | 流量经过第三方公网节点 | 流量留在本地;大模型仅复核存疑样本,支持内网私有模型 |
| 网络隔离支持 | 支持离线 | 无法离线(依赖外部模型) | 部分支持 | 不支持(依赖云服务) | 支持完全离线运行与 CRP 离线签名验签 |
high)或严重(critical)的威胁样本,系统支持人工确认或自动采纳。站点级自动采纳会沉淀为该站点的自定义载荷规则;全局 IP 黑名单与客户端软指纹处置仍需操作者明确执行。CheeseWAF 默认在以下端口提供网络服务:
| 平面类型 | 默认监听地址 | 说明 |
|---|---|---|
| 数据平面 | http://127.0.0.1:8080 | 接收业务流量,执行同步安全检测并反向代理至上游源站 |
| 管理平面 | https://PUBLIC_IP:9443/setup → https://PUBLIC_IP:9443/SECURITY_ENTRY | 初始化固定使用 /setup 和一次性 Token;完成后访问无符号安全入口,由入口签发 Cookie 并跳转登录 |
| 集群平面 | https://127.0.0.1:9444 | cluster.enabled: true 时才启用的可选 TLS/mTLS 互联,用于节点身份、健康/心跳、拓扑与编排钩子;不是通用站点/策略复制通道 |
| 本地控制器 | http://127.0.0.1:17943 | Windows 与 macOS 桌面环境下的本地辅助控制器端口 |
解析数据平面与 ALAP 异步研判的分工体系、旁路审查机制及单二进制交付组件。
详细介绍 CheeseWAF 的部署方案及安装过程,包括 Linux、Docker、Windows 或 macOS 系统。
三步快速完成 CheeseWAF 系统初始化、首个站点接入及大模型异步审查配置。
深入解析流量处理生命周期、防护等级判定、特征隔离机制及多端统一管理体系。
配置业务域名、上游源站负载均衡算法(轮询/加权/IP哈希/最小连接)、健康检查探测及站点专属防护策略。
面向 NGINX、Envoy 及 Kubernetes 的自托管网关适配器,解耦协议转换与检测核心,支持 inline 授权与异步遥测。
涵盖 AST 语义分析引擎、自定义正则规则、IP/GeoIP、Bot 挑战验证、滑动窗口限流、ACL 与拦截页配置。
自动 API 资产发现、请求 Schema 结构校验、JWT/JWKS 鉴权、路由级精准限流及 RBAC 权限控制。
配置 HTTP 响应头增删改写、静态资源路径缓存及 Brotli/Gzip 高效压缩策略。
管理平面 TLS 安全加固、业务站点 HTTPS 证书配置、ACME 自动化签发、HTTP/3 及 HSTS 策略。
异步大模型威胁审查队列、自动化规则采纳、AI 助手工具调用审批与自学习分析。
CheeseSec 插件分发体系、CRP v1 离线资源包结构、Ed25519 签名验证、暂存运行机制及生态扩展边界。
访问日志轮转、Prometheus 指标导出与 Remote Write、自定义告警通知及 100% 纯离线合规攻击态势大屏。
节点加入令牌、mTLS 双向认证健康/心跳互联、外部共识协调、Ansible 自动化编排与 CLI 集群管理工具链。
内置 SQLite 管理存储、可选外部日志 Sink、加密诊断队列与自动化调度器。
CheeseWAF 控制面、数据面、插件、CRP、离线模式、诊断上传和灾备边界。
独立 cheesewaf-control 进程的命令参数、启动检查、本地状态接口和当前限制。
现代化 React 管理控制台功能导航、模块路由映射与安全交互机制。
cheesewaf 与 waf-cli 统一二进制分发命令、全局参数、子命令集及 TUI 终端界面使用说明。
管理 API 鉴权机制、公开与引导流程端点清单、RBAC 细粒度权限对照表与错误响应格式。
cheesewaf.yaml 主配置文件结构导航、顶层键解析、超时控制与热重载范围说明。
本地账号管理、TOTP 双因素认证(2FA)、NTP 时钟同步、更新能力状态与软件供应链签名校验规范。
开发环境依赖、前后端编译流程、单元测试与内置攻击语料评测工具。
CheeseWAF 开源授权协议、商标与品牌使用声明及生态项目仓库索引。
提交功能建议、日常缺陷反馈及严重安全漏洞的沟通渠道与响应规范。
关于 CheeseWAF 的研发初衷、设计哲学与创作者的心路历程。