纵深防御安全架构
EU 客户的 IT/InfoSec 团队在采购签字前会问的问题,我们在这里全部公开作答 — 5 层纵深防御、AES-256 + TLS 1.3 加密、不可变审计日志、容器镜像 SHA 锁定、OWASP Top 10 全覆盖、安全事件响应流程、负责任披露通道。
5 层纵深防御
每一层都是独立的失败域。一层被攻破不会导致整个系统沦陷。
- Caddy 反向代理 + 自动 TLS 1.3
- 腾讯云 DDoS 基础防护
- Cloudflare WAF(已配置)
- IP 速率限制(路由级)
- 强制 MFA(管理员 / 操作员)
- JWT 短期会话 + 刷新令牌轮换
- 基于角色的访问控制(RBAC)
- 受控客户邀请制 / 令牌化加入链
- 401 行 Next.js 中间件:CSRF / Auth / 速率限制 / CSP
- Zod 严格输入验证(API 边界)
- 输出内容清洗(XSS 防护)
- 安全头部:HSTS / X-Frame / X-Content-Type / Referrer-Policy
- PostgreSQL 16(前端) + MySQL 8.0(后端)
- AES-256 静态加密(卷级 + 备份)
- 强制 utf8mb4_0900_ai_ci(统一字符集)
- Prisma 客户端层防 SQL 注入
- 不可变审计日志(仅追加)
- Sentry 错误追踪(脱敏后)
- /api/health 双域健康探针
- 操作员可见审计搜索:/dashboard/audit
全链路加密矩阵
每一类客户数据 — 在传输中、静态时、密钥层 — 都有明确的加密标准。
| 数据类别 | 传输中 | 静态 | 密钥管理 |
|---|---|---|---|
| 客户文档(上传 PDF / Excel) | TLS 1.3 | AES-256 (Tencent COS SSE-KMS) | KMS managed, 90-day rotation |
| 客户数据库(PostgreSQL + MySQL) | TLS 1.3 (in-VPC) | AES-256 (volume-level) | KMS managed |
| 会话凭证(JWT + 刷新令牌) | TLS 1.3 (httpOnly + Secure cookies) | Redis (encrypted volume) | Per-environment HMAC secret |
| 密钥与凭证(API keys, DB password) | TLS 1.3 (over SSH) | /etc/carbonbridge/secrets.env (0600, root-only) | Manual rotation, audit-logged |
| 审计日志(不可变追加) | TLS 1.3 (in-VPC) | AES-256 (DB row + volume) | KMS managed |
OWASP Top 10 (2021) 全覆盖
十大风险类别中的每一项都有明确的、生产中已部署的对策。
| 编号 | 风险类别 | 我们的控制措施 | 状态 |
|---|---|---|---|
| A01 | 访问控制失效 | RBAC + 中间件强制;clientAccountScopeWhere 强制租户隔离;requireAuth 网关。 | 已覆盖 |
| A02 | 加密机制失效 | TLS 1.3(传输中)+ AES-256(静态)+ Argon2id 密码哈希;无明文凭证。 | 已覆盖 |
| A03 | 注入 | Prisma 参数化查询 + Zod 输入验证 + 输出转义;未使用原始 SQL 字符串拼接。 | 已覆盖 |
| A04 | 不安全设计 | 威胁建模在每个新表面上执行;中间件白名单架构(默认拒绝)。 | 已覆盖 |
| A05 | 安全配置错误 | Docker 镜像 SHA 锁定;--env-file 强制;Flyway 校验;CSP 严格策略。 | 已覆盖 |
| A06 | 易受攻击的组件 | npm audit + Dependabot + Trivy 镜像扫描;月度依赖审查。 | 已覆盖 |
| A07 | 身份认证失效 | 强制 MFA(管理员);登录速率限制;令牌轮换;KYC 审核网关。 | 已覆盖 |
| A08 | 软件与数据完整性失效 | 锁定的 lockfile(package-lock.json + pom.xml);CI 校验和;签名容器镜像。 | 已覆盖 |
| A09 | 安全日志与监控失效 | 不可变审计日志(仅追加)+ Sentry + /api/health 双域探针 + 操作员搜索 UI。 | 已覆盖 |
| A10 | 服务器端请求伪造 | 出站请求白名单(已知 AI 提供商 + EUA 价格 API);URL 验证;私有网段拒绝。 | 已覆盖 |
身份认证与访问控制
- 强制 MFA:管理员 + 操作员角色,TOTP(RFC 6238)。
- Argon2id 密码哈希,不可逆。
- JWT 短期会话(15 分钟)+ 刷新令牌轮换(7 天)。
- RBAC 5 个角色:admin / operator / analyst / viewer / auditor。
- clientAccountScopeWhere 强制租户隔离(多租户安全)。
- 登录速率限制 5 次/15 分钟(IP + 用户名)。
密钥与机密管理
- 生产机密存储于 /etc/carbonbridge/secrets.env(0600,仅 root)。
- Docker Compose --env-file 强制(无 .env 自动加载)。
- 数据库 KMS 管理的卷加密密钥,90 天轮换。
- API 密钥按环境隔离(开发 / 暂存 / 生产)。
- 源码中零硬编码凭证(CI 校验)。
- 密钥轮换审计日志(不可变追加)。
漏洞管理节奏
- 严重 (CVSS ≥ 9.0):< 24 小时修复。
- 高危 (CVSS 7.0-8.9):< 7 天修复。
- 中危 (CVSS 4.0-6.9):< 30 天修复。
- 每日 npm audit + Dependabot 警报。
- Trivy 容器镜像扫描(每次构建)。
- 每月人工依赖审查(高敏感性包)。
供应链完整性
- package-lock.json + pom.xml 严格锁定。
- Docker 镜像 SHA256 哈希固定(force-recreate 部署)。
- CI 校验和验证(lockfile + 镜像)。
- Git 签名提交(生产分支 main)。
- Flyway 迁移强制校验(无静默漂移)。
- AI 提供商白名单:仅 Novai + DeepSeek(无第三方调用)。
安全事件响应流程
从检测到事后回顾,每一阶段都有明确的时间窗口和责任人。
Sentry 触发警报,运维 PagerDuty 通知;自动健康探针 1 分钟轮询。
严重程度分级(P0-P3);影响范围识别;客户通知决策(如适用)。
回滚到上一已知良好镜像(容器 SHA 固定);密钥轮换(如适用);补丁部署。
无指责事后回顾;根因分析;改进项进入下一冲刺;客户摘要(影响客户)。
审计跟踪:不可变 + 可验证
每一笔 CBAM 计算、每一份提交的报告、每一次配置变更都进入仅追加的审计日志,包含时间戳、用户身份、组织作用域、输入哈希和输出哈希。日志条目无法被任何应用层角色修改或删除,包括管理员。完整性可通过 方法论页面 的四层审计架构(来源 / 提取 / 引擎 / 发行)来验证。
为什么这件事重要
EU 客户的采购流程几乎总是需要 IT/InfoSec 团队的安全态势审查。每一份 CarbonBridge 申报都附带四个具体可交付物:(1) 不可变审计跟踪导出,(2) 加密态势报告,(3) OWASP 覆盖矩阵,(4) 子处理器与数据驻留矩阵(参见 /trust-center)。让你的 InfoSec 审查在采购会议之前就完成 — 让交易加速。
负责任披露
发现安全问题?请发送邮件至 security@carbonbridge.com.cn。我们承诺:48 小时内确认收到,5 个工作日内分级,重大漏洞将公开致谢(除非您要求匿名)。
本页面描述生产环境中已部署的安全态势。完整的 SOC 2 / ISO 27001 审计准备清单(包括渗透测试报告、控制矩阵、运行手册)可在 NDA 下应要求提供。