fischer-agentkit/docs/compliance/dengbao-level3/00-overview.md

144 lines
7.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 等保三级认证文档 — 总览
## 1. 认证目标与范围
### 1.1 认证目标
本套文档用于 Fischer AgentKit以下简称 "AgentKit")通过 GB/T 22239-2019
《信息安全技术 网络安全等级保护基本要求》**第三级**(等保三级)测评准备。
目标:在政企 POC 采购关闭前完成认证 readiness使 AgentKit 作为应用系统
具备部署到等保三级信息系统的合规条件。
### 1.2 认证范围
AgentKit 作为一个**应用系统**纳入等保三级测评,覆盖:
- 应用软件本身FastAPI 后端 + Vue 前端 + Tauri 桌面客户端)
- 部署形态Kubernetes客户内网+ Redis + PostgreSQL含 pgvector
- 数据处理用户输入、LLM 调用、记忆存储、终端命令执行
**不在范围内**(由客户/平台侧负责):
- 物理机房环境(客户机房)
- K8s 宿主机操作系统内核加固
- 网络骨干设施(防火墙、入侵检测系统、堡垒机)
- PKI 证书签发机构CA
- HSM/KMS 硬件设备
AgentKit 文档中明确标注「依赖客户侧」与「AgentKit 实现」的边界,避免越界承诺。
### 1.3 文档结构
本套文档按 GB/T 22239-2019 三级要求 6 个维度组织:
| 文件 | 维度 | 主要内容 |
|------|------|----------|
| `00-overview.md` | — | 总览(本文档) |
| `01-physical.md` | 物理安全 | 部署假设(客户机房)、物理访问、环境监控、电力 |
| `02-network.md` | 网络安全 | 网络架构、边界防护Ingress TLS、访问控制NetworkPolicy、入侵防范、安全审计OTel |
| `03-host.md` | 主机安全 | 容器镜像安全、K8s node 基线、身份鉴别SA token、访问控制RBAC、安全审计、入侵防范 |
| `04-application.md` | 应用安全 | 身份鉴别SSO 多 IDP、访问控制RBAC 3 级 + 权限位、安全审计OTel + audit.py、通信完整性TLS + JWT、软件容错、资源控制 |
| `05-data.md` | 数据安全 | 数据完整性PG + pgvector、数据保密性PII 脱敏 + 国密 P1、备份恢复、剩余信息保护session revoke |
| `06-management.md` | 管理安全 | 密钥轮换 runbook、break-glass 告警、变更管理、应急响应、安全评估 |
| `control-points.yaml` | — | 控制点清单 + AgentKit 实现映射(已实现 / P0 / P1 / 待评估) |
## 2. AgentKit 架构摘要
### 2.1 技术栈
- **后端**Python 3.11+、FastAPI、Uvicorn、Pydantic v2、SQLAlchemy 2async
- **前端**Vue 3、TypeScript、Vite 5、Ant Design Vue 4、Pinia
- **桌面端**Tauri 2.xRust 外壳 + Python sidecar
- **基础设施**Redis总线/缓存/状态、PostgreSQL + pgvector情景记忆
- **可观测性**OpenTelemetryOTLP gRPC 导出U1 已强制依赖)
- **部署**Helm ChartK8s 内网部署U5
### 2.2 部署形态
```
客户内网 K8s 集群
├── Ingress (nginx, TLS 终止) ← 唯一对外入口
│ └── TLS 证书cert-manager 或手动)
├── AgentKit Pod (非 root, UID 1001)
│ ├── FastAPI serve (:8001) — API
│ └── FastAPI gui (:8002) — Web GUI
├── Redis (内部, requirepass)
├── PostgreSQL + pgvector (内部, 密码)
└── OTel Collector (内部, bearer token)
↑ OTLP gRPC (mTLS: 待评估)
```
密钥通过 Sealed Secrets 或 External Secrets Operator 注入(禁止明文
Kubernetes Secret + Git 提交KTD-4 / R2a。共 10 个 secret slot
每个含轮换周期90~365 天)。
### 2.3 关键安全子系统映射
| 子系统 | 模块 | 等保维度 |
|--------|------|----------|
| OTel 可观测性 | `src/agentkit/telemetry/` | 网络/主机/应用审计 |
| PII 脱敏 | `src/agentkit/llm/pii_filter.py` | 数据保密性 |
| SSO 多 IDP | `src/agentkit/server/auth/providers/`、`idp_registry.py` | 应用身份鉴别 |
| SCIM 2.0 | `src/agentkit/server/auth/scim/router.py` | 应用账户生命周期 |
| RBAC 审计 | `src/agentkit/server/auth/audit.py` | 应用安全审计 |
| 终端安全 6 层 | `src/agentkit/server/auth/terminal_security.py` | 应用访问控制 |
| RBAC 权限 | `src/agentkit/server/auth/permissions.py` | 应用访问控制 |
| JWT 会话 | `src/agentkit/server/auth/jwt_utils.py`、`denylist.py` | 应用身份鉴别 + 剩余信息保护 |
| 密码哈希 | `src/agentkit/server/auth/password.py` | 应用身份鉴别 |
| Helm 部署 | `deploy/helm/agentkit/` | 网络/主机/管理 |
| 密钥轮换 | `docs/deployment/key-rotation-runbook.md` | 管理安全 |
## 3. 各维度实现状态概览
下表汇总各维度控制点的实现状态。状态定义:
- **已实现**:代码/配置已落地,有对应文件可查
- **P0**:认证 readiness 必需,本次 POC 采购关闭前需补齐
- **P1**:下一阶段补齐,文档中标注为参考
- **待评估**:依赖客户侧或需进一步评估方案
| 维度 | 控制点数 | 已实现 | P0 | P1 | 待评估 |
|------|----------|--------|----|----|--------|
| 物理安全 | 6 | 0 | 0 | 0 | 6 |
| 网络安全 | 8 | 4 | 2 | 1 | 1 |
| 主机安全 | 7 | 4 | 2 | 0 | 1 |
| 应用安全 | 8 | 8 | 0 | 0 | 0 |
| 数据安全 | 8 | 6 | 1 | 1 | 0 |
| 管理安全 | 7 | 4 | 1 | 1 | 1 |
| **合计** | **44** | **26** | **6** | **3** | **9** |
> 应用安全是 AgentKit 自身责任范围,已全部实现。物理安全完全依赖客户机房,
> 故全部为「待评估」。网络/主机/数据/管理维度的 P0 项(共 6 个)是认证
> readiness 的关键补齐项,详见 `control-points.yaml`。
>
> **P0 关键补齐项清单**
> - NET-03 NetworkPolicy 模板
> - NET-07 审计日志保留 180 天KTD-9
> - HST-03 容器日志标准化采集
> - HST-07 镜像漏洞扫描Trivy/CI 集成)
> - DAT-03 PostgreSQL 备份恢复 runbook
> - MGT-02 CI/CD 规范文档化
## 4. 与既有交付的引用关系
本套文档不重复实现细节,只映射到既有交付物:
| 既有交付 | 等保映射 | 引用文档 |
|----------|----------|----------|
| U1 OTeltelemetry/ | 应用/网络审计 | `02-network.md` §5、`04-application.md` §4 |
| U2 PII 脱敏pii_filter.py | 数据保密性 | `05-data.md` §2 |
| U3 DR-fixesbitable | 应用容错 | `04-application.md` §5 |
| U4 SSO/SCIM/Audit | 应用身份鉴别/审计 | `04-application.md` §1/§4、`06-management.md` §2 |
| U5 K8s Helm Chart | 网络/主机/管理 | `02-network.md`、`03-host.md`、`06-management.md` |
| R7a 终端安全 6 层 | 应用访问控制 | `04-application.md` §2 |
## 5. 文档使用说明
1. 测评机构按 `control-points.yaml` 逐条核对,每条含 `id` / `dimension` /
`title` / `requirement` / `implementation` / `status` / `references`
2. `references` 字段给出 AgentKit 代码文件绝对路径,使用 `file:///` 链接格式。
3. 状态为 P0 的控制点需在认证前补齐对应文件中标有「P0 补齐项」段落。
4. 状态为 P1 的控制点在文档中标注为「P1 参考」,不阻碍三级认证但需写入整改计划。
5. 状态为「待评估」的控制点依赖客户侧环境,需在客户机房测评时单独核对。