CheeseWAF

商用级自托管 Web 应用防火墙。提供系统部署、安全防护、配置参考及运维管理手册。

CheeseWAF 是基于 Go 语言构建的商用级自托管 Web 应用防火墙(WAF)。系统采用数据平面与管理平面解耦的双平面架构,运行时内置轻量级持久化存储保存管理状态,并支持扩展 PostgreSQL 作为高性能异步访问日志存储。

在架构设计上,CheeseWAF 将**数据平面(Data Plane)请求路径与管理平面(Management Plane)**及异步 ALAP 审查流程彻底解耦。同一个 cheesewaf 进程内启动两个监听平面:数据平面负责有界、低延迟的同步检测与反向代理;管理平面承载管理 API、控制台界面与后台威胁审查队列,实时请求路径绝不阻塞等待远程大模型分析。

CheeseWAF 发行包请前往 GitHub Releases 获取。项目完全开源,遵循 Apache License 2.0 协议。

为什么选择 CheeseWAF

市面上常见的 Web 安全防护方案通常面临几个痛点:

  1. 传统正则 WAF(如 ModSecurity / CRS 规则集):靠维护成千上万条正则表达式防守。攻击者通过大小写变异、畸形 URL 编码或特殊注释很容易绕过;同时误报率高,日常运维需要大量写白名单,改一条规则要反复调试。
  2. 直接调大模型的实验性 WAF:每个 HTTP 请求都同步等待大模型返回,网页延迟直接飙升 500 ms 到 2 s,不仅拖慢业务,还极易刷爆 API 费用;一旦外部大模型网络抖动或超时,业务直接瘫痪。
  3. 重型容器全家桶(如雷池 SafeLine 等):通常需要启动 5 到 10 个 Docker 容器(Tengine、Postgres、Redis 等),常驻内存 1~2 GB 起步,低配轻量云主机或 VPS 难以承受。
  4. 商业云 WAF(如 Cloudflare / 云厂商高防):所有业务流量必须穿透第三方公网云节点,存在数据合规与隐私出境风险;按流量计费成本不可控,无法在纯离线内网部署。

CheeseWAF 的思路是:用自研 AST 语法树做毫秒级即时拦截,大模型只在后台异步值守存疑流量,既没有正则的误报和绕过,也不增加线上任何延迟,极简轻量开箱即用。

方案对比

对比维度传统正则 WAF (如 ModSecurity)同步大模型 WAF重型容器全家桶 (如雷池)商业云 WAF (如 Cloudflare)CheeseWAF
检测技术正则特征匹配每次请求同步调用大模型正则 + 统计/语义分析规则库 + 威胁情报AST 语法分析 + 异步大模型值守 (ALAP)
请求额外延迟1~10 ms500~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 离线签名验签

核心机制

  1. 高性能数据平面检测:入站请求经多层解码后进入抽象语法树(AST)语义分析引擎,对请求中可能存在的 SQL 注入、跨站脚本(XSS)、命令执行(RCE)等攻击和恶意请求实施毫秒乃至微秒级的阻断。
  2. 异步 ALAP 智能研判:在响应返回客户端后,对于判定边界模糊或嵌入在大段正常文本中的可疑样本,系统将其投递至后台异步审查队列,由配置的大语言模型(兼容 OpenAI Response / Chat Completions 协议与 Anthropic Messages 协议)进行深度语义研判。
  3. 闭环规则采纳与防御加固:对模型判定为高危(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:9444cluster.enabled: true 时才启用的可选 TLS/mTLS 互联,用于节点身份、健康/心跳、拓扑与编排钩子;不是通用站点/策略复制通道
本地控制器http://127.0.0.1:17943Windows 与 macOS 桌面环境下的本地辅助控制器端口

文档导航

涵盖 Linux (systemd)、Docker Compose、Windows 及 macOS 的安装与配置。

分步指引:完成系统初始化、接入首个反向代理站点并配置大模型审查。

深入解析请求生命周期、防护等级机制、独立与夹杂特征及多端统一权限体系。

语义分析引擎、自定义正则规则、IP/GeoIP、Bot 挑战、滑动窗口限流与 ACL。

面向 NGINX 与 Envoy 的自托管 Go 适配器(adapterd),实现低耦合流量接入与安全熔断。

CRP v1 离线资源包规范、Ed25519 多方验签、内容寻址暂存及临时出站审计。

离线环境下的包完整性校验、本地存储维护以及受限网络条件下的运维管理指南。

关于 CheeseWAF 的研发初衷、设计哲学与创作者自述。

架构与工作原理

解析数据平面与 ALAP 异步研判的分工体系、旁路审查机制及单二进制交付组件。

部署 & 安装

详细介绍 CheeseWAF 的部署方案及安装过程,包括 Linux、Docker、Windows 或 macOS 系统。

快速上手

三步快速完成 CheeseWAF 系统初始化、首个站点接入及大模型异步审查配置。

核心概念

深入解析流量处理生命周期、防护等级判定、特征隔离机制及多端统一管理体系。

站点管理与反向代理

配置业务域名、上游源站负载均衡算法(轮询/加权/IP哈希/最小连接)、健康检查探测及站点专属防护策略。

网关适配器 (Adapters)

面向 NGINX、Envoy 及 Kubernetes 的自托管网关适配器,解耦协议转换与检测核心,支持 inline 授权与异步遥测。

安全防护策略

涵盖 AST 语义分析引擎、自定义正则规则、IP/GeoIP、Bot 挑战验证、滑动窗口限流、ACL 与拦截页配置。

API 接口安全

自动 API 资产发现、请求 Schema 结构校验、JWT/JWKS 鉴权、路由级精准限流及 RBAC 权限控制。

边缘优化:响应头、静态缓存与内容压缩

配置 HTTP 响应头增删改写、静态资源路径缓存及 Brotli/Gzip 高效压缩策略。

TLS 与证书管理

管理平面 TLS 安全加固、业务站点 HTTPS 证书配置、ACME 自动化签发、HTTP/3 及 HSTS 策略。

ALAP 异步审查与自学习机制

异步大模型威胁审查队列、自动化规则采纳、AI 助手工具调用审批与自学习分析。

插件体系与 CRP 规范

CheeseSec 插件分发体系、CRP v1 离线资源包结构、Ed25519 签名验证、暂存运行机制及生态扩展边界。

监控、日志与攻击态势大屏

访问日志轮转、Prometheus 指标导出与 Remote Write、自定义告警通知及 100% 纯离线合规攻击态势大屏。

集群高可用与节点协同

节点加入令牌、mTLS 双向认证健康/心跳互联、外部共识协调、Ansible 自动化编排与 CLI 集群管理工具链。

存储与调度管理

内置 SQLite 管理存储、可选外部日志 Sink、加密诊断队列与自动化调度器。

商业化平台架构

CheeseWAF 控制面、数据面、插件、CRP、离线模式、诊断上传和灾备边界。

独立控制面运行时

独立 cheesewaf-control 进程的命令参数、启动检查、本地状态接口和当前限制。

Web 管理控制台

现代化 React 管理控制台功能导航、模块路由映射与安全交互机制。

命令行与 TUI 交互

cheesewaf 与 waf-cli 统一二进制分发命令、全局参数、子命令集及 TUI 终端界面使用说明。

RESTful 管理接口

管理 API 鉴权机制、公开与引导流程端点清单、RBAC 细粒度权限对照表与错误响应格式。

配置文件参考

cheesewaf.yaml 主配置文件结构导航、顶层键解析、超时控制与热重载范围说明。

系统运维与安全加固

本地账号管理、TOTP 双因素认证(2FA)、NTP 时钟同步、更新能力状态与软件供应链签名校验规范。

从源码构建与开发指南

开发环境依赖、前后端编译流程、单元测试与内置攻击语料评测工具。

开源许可与生态仓库

CheeseWAF 开源授权协议、商标与品牌使用声明及生态项目仓库索引。

问题反馈与安全报告

提交功能建议、日常缺陷反馈及严重安全漏洞的沟通渠道与响应规范。

开发者想说

关于 CheeseWAF 的研发初衷、设计哲学与创作者的心路历程。