# 商业化平台架构

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

---

LLMS index: [llms.txt](/zh/llms.txt)

---

本文档定义 CheeseWAF 商业化平台架构设计，涵盖控制面、数据面、插件安全规范及受限网络运维边界。

## 数据面和控制面

系统采用控制平面与数据平面分离的架构设计：
- **WAF 数据面**：负责高并发流量检测、反向代理转发与本地生效策略快照评估，保证业务转发的连续性与低延迟。
- **独立控制面（`cheesewaf-control`）**：负责集群协同、配置管理与期望状态分发，提供本地绑定的健康探测、就绪检查及管理接口。运行与配置细节见[独立控制面运行时](../control-plane-runtime/)。
- **状态存储与集群**：生产模式支持外接 PostgreSQL 持久化管理数据，结合 native-raft 维护集群拓扑与状态同步，通过 Redis 支撑短期租约与安全辅助缓存；生产配置遵循 fail-closed 原则，保障状态一致性。

## 插件与 CRP 规范

CRP（CheeseWAF Resources Package）是平台定义的标准化资源扩展包：
- **信任根与签名校验**：支持官方 Vendor Root 与企业私有根，采用 Ed25519 阈值签名（如 2-of-3 签名）防篡改。
- **本地校验与暂存**：CLI 提供 `crp verify` 与 `crp stage` 命令，在显式指定信任根与来源的前提下进行离线解包、摘要校验与受控目录暂存。
- **安全生命周期**：支持基于策略快照的安全激活与回滚机制，严格校验扩展包完整性与授权状态。
- **发布与更新**：通过只读 HTTPS 索引保障包引索的一致性，遵循本地安全留观与确定性交付原则。

DuckDB 作为面向日志审计的离线分析扩展，采用异步一次性作业模式读取脱敏 Parquet 快照，只输出标准 `analysis-record/v1` 记录，完全独立于请求热路径运行，不影响 WAF 在线转发性能。

## 离线模式与临时出站

在物理隔离或内网环境中，离线模式切断管理扩展的所有外部主动出站连接，同时保障数据面至后端源站（Origin）的正常转发：
- 本地 `cheesewaf temporary-online probe` 提供一次性受限 HTTPS 代理，需管理员二次授权，具备 IP 与 TLS 固定绑定及审计能力。
- 只有经过管理员明确审批的操作方可获得临时网络租约。

## 诊断与审计

- 诊断数据严格遵循最小化与脱敏原则，避免将敏感业务数据写入诊断日志。
- 高风险运维操作遵循首次明确确认、同一授权窗口内避免重复打扰、环境参数变动重新确认的安全原则。
