架构与工作原理

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

传统的 Web 应用防火墙多依赖庞大的正则表达式特征库。这类方案不仅规则维护成本高昂,且极易被多重编码、语法嵌套与字符混淆手法绕过;而若在实时请求链路中同步调用大语言模型(LLM),又会引入不可控的网络时延与单点可用性风险。

针对上述挑战,CheeseWAF 采用了双平面解耦与异步智能旁路的设计理念,将毫秒级的确定性拦截与深度语义分析有效结合。

系统架构与平面分工

数据平面(Data Plane)

数据平面负责接收 HTTP/1.1、HTTPS 及 HTTP/3 业务流量,并在毫秒级时延内按序执行流水线检测:

  1. 网络与指纹检测:执行 IP 黑白名单、GeoIP 地理位置封禁及客户端软指纹校验。
  2. 访问控制与防刷:执行 Bot 挑战验证、滑动窗口限流及排队室调度。
  3. AST 语义分析:对多层解码后的请求参数进行抽象语法树语法分析与攻击识别。
  4. 反向代理转发:检测通过的合法流量直接代理转发至配置的上游源站。

数据平面处于业务核心链路,坚持极简与确定性原则,绝不产生对外部大模型调用的同步等待。

管理平面(Management Plane)

管理平面通过独立的监听端口提供系统管理与运维能力:

  • /setup 初始化向导:首次部署引导与管理员账号凭据初始化。
  • Web 管理控制台:基于 React 构建的可视化管理界面。
  • RESTful 管理接口:承载自动化脚本与第三方运维集成的 /api 端点。
  • 监控与指标导出:提供 Prometheus Metrics 采集端点与健康检查接口。

出于安全考虑,除非已配置 TLS 加密并设置了严格的网络层访问控制(如白名单或内网访问),否则请勿将 server.admin_public 设为 true。

ALAP 异步审查机制

在数据平面向客户端完成响应交付后,CheeseWAF 可将特定样本投递至后台异步审查队列(ALAP,AI Large-Language-Model Auto Pilot):

  • 高等级拦截样本:防护等级 5 下被阻断的独立攻击命中。
  • 夹杂命中样本:防护等级 2~4 下被放行但包含可疑特征的复合长文本。
  • 边界与待审样本:被语义引擎标记为置信度较低或处于边界状态的流量。

后台 Worker 会异步调用配置的大语言模型进行深度研判。安全运维人员可通过控制台确认研判结果,或开启自动采纳机制,将高危威胁自动沉淀为长期防护规则。详见 ALAP 与审查队列。

交付组件与单二进制分发

CheeseWAF 采用单一二进制(BusyBox 模式)交付,包含核心引擎、管理控制台及交互工具:

组件名称角色与功能说明
cheesewaf主服务程序,默认运行 serve 命令在同一进程中启动数据平面与管理平面监听
waf-cli统一二进制(或符号链接),默认启动交互式 TUI 管理面板
cheesewaf-guiWindows 与 macOS 平台专用的本地服务控制器(仅监听本地回环地址)
Web 控制台内置于二进制中的现代化 React 单页应用,由管理平面监听端口直接托管
存储引擎默认采用嵌入式 SQLite 保存管理状态,并支持外接 PostgreSQL 作为异步访问日志存储
CRP 本地安全验证支持通过 crp verify 与 crp stage 离线校验资源包 Ed25519 签名与槽位暂存