安全审计指南(Security Audit)
文档编号:DOC-OPS-AM-06
版本:V1.0
创建日期:2026-08-11
维护人:听云(WCL) / TL
保密级别:🟢 可公开发布
关联文档:管理员操作手册 README、凭据管理、凭据轮换计划、凭据审计日志、访问权限矩阵、PJM §3.5.5 升级与越权防护
一、文档定位
本文件定义听云(WCL)执行的安全审计 SOP,覆盖密钥轮换、访问审计、合规检查、漏洞管理、安全事件响应。目标是建立持续化的安全运营机制,防范安全风险。
1.1 安全审计目标
| 目标 |
说明 |
| 凭据安全 |
全部凭据按周期轮换,零泄露 |
| 访问控制 |
权限最小化,越权 100% 拦截 |
| 漏洞管理 |
已知漏洞 30 天内修复 |
| 合规审计 |
季度全量审计 + 月度抽审 |
| 事件响应 |
安全事件 1h 内响应 |
1.2 安全原则
- 最小权限:每个角色仅授予完成职责所需的最低权限
- 零信任:不默认信任任何访问,每次访问验证
- 纵深防御:多层防护,单点失守不致命
- 可审计:所有操作有日志,可追溯
- 持续改进:基于威胁情报持续优化
二、密钥轮换
2.1 轮换计划
详见 private/credentials/rotation-schedule.md。本节定义轮换操作的 SOP。
2.2 轮换操作 SOP
2.2.1 常规轮换流程
| 步骤 |
操作 |
责任人 |
备注 |
| 1 |
监控到凭据即将到期(T-14 天) |
WCL |
自动化监控 |
| 2 |
在 OWLG 中发起轮换申请 |
WCL |
含轮换方案 |
| 3 |
TL 审批 |
TL |
T-7 天前完成 |
| 4 |
准备轮换方案 + 回滚预案 |
WCL |
T-3 天前完成 |
| 5 |
生成新凭据 |
TL |
T 日 |
| 6 |
配置新凭据到 .env.prod.local / Secret |
TL |
T 日 |
| 7 |
更新生产环境配置引用 |
WCL |
T 日 |
| 8 |
验证服务正常(24h 观察期) |
WCL |
T+1 日 |
| 9 |
作废旧凭据 |
TL |
T+1 日 |
| 10 |
更新清单状态 + 审计日志 |
WCL |
T+1 日 |
2.2.2 紧急轮换流程
凭据疑似/确认泄露
↓
听云立即上报 TL(1h SLA)
↓
TL 生成新凭据 + 配置到生产环境
↓
听云更新配置引用 + 验证服务
↓
TL 作废旧凭据
↓
听云更新清单状态为 ACTIVE(新凭据)+ 审计日志记为 ALERT
↓
启动安全事件复盘(参考 §五)
2.2.3 轮换验证清单
2.3 各类凭据轮换操作指引
2.3.1 JWT_SECRET 轮换
| 步骤 |
操作 |
| 1 |
通知前端:轮换会导致现有 Token 失效 |
| 2 |
选择低峰期轮换 |
| 3 |
TL 生成新 JWT_SECRET |
| 4 |
配置到 backend 服务 |
| 5 |
重启 backend 服务 |
| 6 |
验证登录流程 |
| 7 |
通知前端:旧 Token 已失效,用户需重新登录 |
2.3.2 DATABASE_URL 轮换(数据库密码)
| 步骤 |
操作 |
| 1 |
选择停机窗口(数据库密码轮换需短暂停机) |
| 2 |
备份数据库 |
| 3 |
TL 在数据库修改密码 |
| 4 |
配置新 DATABASE_URL 到 backend |
| 5 |
重启 backend |
| 6 |
验证数据库连接 |
| 7 |
恢复服务 |
2.3.3 Cloudflare API Token 轮换
| 步骤 |
操作 |
| 1 |
TL 在 Cloudflare 控制台创建新 Token |
| 2 |
配置新 Token 到 .env.prod.local |
| 3 |
验证 Cloudflare API 调用正常 |
| 4 |
TL 在 Cloudflare 控制台作废旧 Token |
| 5 |
更新清单 + 审计日志 |
2.3.4 WhatsApp Business Token 轮换
| 步骤 |
操作 |
| 1 |
TL 在 Meta Business Console 生成新 Token |
| 2 |
配置新 Token 到 backend |
| 3 |
验证 WhatsApp 推送正常 |
| 4 |
TL 在 Meta Business Console 作废旧 Token |
| 5 |
更新清单 + 审计日志 |
三、访问审计
3.1 审计范围
| 审计对象 |
审计内容 |
频率 |
| 凭据访问 |
谁在何时访问了哪个凭据 |
实时 |
| 配置变更 |
谁在何时修改了哪个配置 |
实时 |
| 生产环境登录 |
SSH / 控制台登录记录 |
实时 |
| 数据库操作 |
DBA 操作 / 敏感查询 |
实时 |
| 越权尝试 |
任何越权尝试 |
实时 |
| 外部服务操作 |
Cloudflare / Meta / Expo 控制台操作 |
周审 |
3.2 审计日志审查
3.2.1 日审
听云每日 09:00 审查前 24h 审计日志:
| 审查项 |
异常判定 |
| 凭据访问记录 |
非授权访问 → 立即上报 |
| 配置变更记录 |
未记录 OWLG 的变更 → 上报 |
| 生产环境登录 |
非授权登录 → 立即上报 |
| 数据库操作 |
DROP / TRUNCATE 等敏感操作 → 验证授权 |
| 越权尝试 |
任何越权尝试 → 立即上报 |
3.2.2 周审
听云每周一审查前 7 天审计日志:
| 审查项 |
输出 |
| 凭据访问趋势 |
异常增长 → 排查 |
| 配置变更汇总 |
频率 / 类型 / 责任人 |
| 越权尝试汇总 |
次数 / 类型 / 处置 |
| 外部服务操作汇总 |
异常操作 |
3.2.3 月度全量审计
听云每月 1 日执行全量审计,输出月度审计报告:
- 审计日志完整性(是否有缺失)
- 异常事件汇总与处置
- 权限矩阵执行情况
- 改进项跟踪
3.3 审计日志保留
| 日志类型 |
保留周期 |
存储位置 |
| 凭据审计日志 |
永久 |
ops/private/credentials/audit-log.md |
| 配置变更日志 |
1 年 |
OWLG + Git log |
| 生产环境登录日志 |
1 年 |
系统日志 |
| 数据库操作日志 |
90 天 |
数据库日志 |
| 越权尝试日志 |
永久 |
OWLG + audit-log.md |
四、合规检查
4.1 合规检查项
| 检查项 |
标准 |
频率 |
| 凭据明文检查 |
任何文档中不含凭据明文 |
月度 |
| 公开/私有划分 |
私有文档未同步至公开仓 |
月度 |
| 权限矩阵执行 |
实际操作符合 access-matrix.md |
月度 |
| 轮换执行率 |
计划轮换 100% 执行 |
月度 |
| 备份完整性 |
备份可恢复 |
月度演练 |
| 漏洞修复 |
已知漏洞 30 天内修复 |
月度 |
| 日志完整性 |
审计日志无缺失 |
月度 |
| 越权处置 |
越权尝试 100% 处置 |
月度 |
4.2 合规检查 SOP
T-7 日:听云制定合规检查计划
↓
T 日:执行合规检查
├─ 逐项核对检查清单
├─ 抽样验证
└─ 记录不符合项
↓
T+1 日:编写合规检查报告
├─ 检查结果
├─ 不符合项清单
└─ 改进建议
↓
T+7 日:不符合项整改
↓
T+14 日:整改验证 + 关闭
4.3 合规报告模板
# 月度合规检查报告 - YYYY-MM
## 一、检查范围
- 检查时间:YYYY-MM-DD
- 检查人:WCL
- 检查范围:凭据 / 配置 / 权限 / 轮换 / 备份 / 漏洞 / 日志 / 越权
## 二、检查结果汇总
| 检查项 | 结果 | 不符合数 |
|--------|:----:|:--------:|
| 凭据明文检查 | ✅ 通过 | 0 |
| 公开/私有划分 | ✅ 通过 | 0 |
| ... | ... | ... |
## 三、不符合项详情
| # | 检查项 | 问题描述 | 整改建议 | 负责人 | 截止 |
|---|--------|----------|----------|--------|------|
## 四、改进项跟踪
| # | 上月改进项 | 状态 | 备注 |
|---|-----------|:----:|------|
## 五、签字
- 听云(WCL):__________
- TL:__________
五、安全事件响应
5.1 安全事件分级
| 级别 |
标准 |
响应 SLA |
| S0 |
确认入侵 / 数据泄露 / 凭据泄露 |
1 小时 |
| S1 |
疑似入侵 / 越权尝试 / 异常访问 |
4 小时 |
| S2 |
漏洞预警 / 配置不当 |
24 小时 |
| S3 |
安全建议 / 加固优化 |
按需 |
5.2 安全事件响应流程
T0:安全事件发现
↓
T+15min:听云初步评估 + 上报 TL
├─ S0:立即飞书 + 电话通知 TL + BO
├─ S1:飞书通知 TL
└─ S2/S3:OWLG 记录
↓
T+30min:启动应急响应
├─ 保留现场(日志 / 镜像 / 内存 dump)
├─ 隔离受影响系统(如需)
└─ 评估影响范围
↓
T+1h(S0):TL 决策处置方案
├─ 凭据泄露 → 紧急轮换
├─ 入侵 → 隔离 + 加固
└─ 数据泄露 → 评估数据范围 + 通知用户
↓
T+4h:处置完成 + 验证
↓
T+24h:编写安全事件报告
↓
T+72h:复盘会议
├─ 根因分析
├─ 影响评估
├─ 改进项
└─ 责任认定(如有)
↓
TL 同步至主仓 WLG(S0/S1 必须同步)
5.3 安全事件报告模板
# 安全事件报告 - <事件简述>
## 一、事件概述
- **事件级别**:S0/S1/S2/S3
- **发现时间**:YYYY-MM-DD HH:MM
- **报告时间**:YYYY-MM-DD HH:MM
- **发现人**:<角色>
- **OWLG 编号**:OWLG-YYYYMMDD-NN
## 二、事件描述
<事件经过 / 影响范围 / 数据损失>
## 三、根因分析
<5W2H 分析>
## 四、处置措施
<时间线 + 措施>
## 五、影响评估
- **业务影响**:<功能 / 用户 / 持续时间>
- **数据影响**:<是否有数据泄露 / 损坏>
- **合规影响**:<是否触发监管报告>
## 六、改进项
| # | 改进项 | 负责人 | 截止 | 状态 |
|---|--------|--------|------|:----:|
## 七、签字
- 听云(WCL):__________
- TL:__________
- BO(S0 必需):__________
六、漏洞管理
6.1 漏洞来源
| 来源 |
频率 |
| 依赖扫描(自动化) |
每次发布 + 每周 |
| 安全通告(Cloudflare / Meta 等) |
实时 |
| 渗透测试 |
每年 1 次 |
| 内部发现 |
实时 |
| 用户报告 |
实时 |
6.2 漏洞分级
| 级别 |
标准 |
修复 SLA |
| Critical |
RCE / SQL 注入 / 认证绕过 |
7 天 |
| High |
权限提升 / 敏感信息泄露 |
14 天 |
| Medium |
XSS / CSRF / 逻辑漏洞 |
30 天 |
| Low |
信息泄露 / 配置不当 |
90 天 |
6.3 漏洞处置流程
漏洞发现
↓
听云登记漏洞(OWLG + Issue)
↓
评估漏洞级别
↓
分配给听码(WDE)修复(通过 TL 转发)
↓
听码提交修复 PR
↓
TL 审核 + 合并
↓
听云部署到生产环境
↓
听云验证漏洞已修复
↓
关闭 Issue + OWLG 记录
七、修订记录
| 版本 |
日期 |
修订人 |
修订内容 |
| V1.0 |
2026-08-11 |
DT |
初始化安全审计指南;定义密钥轮换/访问审计/合规检查/安全事件响应/漏洞管理五大模块;定义 S0-S3 安全事件分级 + 各类凭据轮换操作指引 |
本文件为听云(WCL)安全审计的标准流程。所有安全事件须按 SLA 响应,S0/S1 须 72h 内完成复盘并同步主仓 WLG。