Files
wenzi/docs/PRODUCTION_RISK_CHECKLIST.md

80 lines
3.3 KiB
Markdown
Raw Normal View History

# 生产环境风控前置检查清单
> 本清单用于在将蚊子系统部署到生产环境前进行风控检查。
## 1. 认证与授权检查
| 检查项 | 说明 | 验证方法 |
|--------|------|----------|
| 权限验证配置 | 所有管理接口已配置 `@RequirePermission` 注解 | 代码审查 |
| API Key认证 | API Key认证已启用所有外部接口需要有效API Key | 检查 `ApiKeyAuthInterceptor` |
| CORS配置 | CORS已限制可信域名 | 检查 `WebMvcConfig` 中的 CORS 配置 |
| 会话管理 | Session超时和Token刷新机制已配置 | 检查 `spring.session` 配置 |
## 2. 数据安全检查
| 检查项 | 说明 | 验证方法 |
|--------|------|----------|
| 敏感数据加密 | 用户密码、API Key等敏感数据已加密存储 | 检查密码加密配置 |
| 数据库SSL | 数据库连接已配置SSL | 检查 `spring.datasource.hikari.sslMode` |
| 审计日志 | 关键操作已记录审计日志 | 检查 `AuditInterceptor` 配置 |
| 数据脱敏 | 敏感数据查询返回已脱敏 | 检查 `SensitiveMaskingService` |
## 3. 风控规则检查
| 检查项 | 说明 | 验证方法 |
|--------|------|----------|
| 风控规则配置 | 风险检测规则已配置并启用 | 检查 `RiskRuleRepository` 中的规则 |
| 限流规则 | API限流规则已配置 | 检查 `RateLimitInterceptor` |
| 黑名单机制 | IP/用户黑名单机制已就绪 | 检查风控服务实现 |
| 回调风险校验 | 外部回调已进行风险校验 | 检查 `CallbackRiskGuardService` |
## 4. 监控与告警检查
| 检查项 | 说明 | 验证方法 |
|--------|------|----------|
| 健康检查 | `/actuator/health` 接口已配置 | curl 访问健康检查端点 |
| 异常告警 | 异常情况已配置告警机制 | 检查告警服务配置 |
| 日志收集 | 日志已配置收集和聚合 | 检查 Logback 配置 |
| 业务指标 | 关键业务指标已配置监控 | 检查 Metrics 配置 |
## 5. 审批流程检查
| 检查项 | 说明 | 验证方法 |
|--------|------|----------|
| 审批模板 | 审批流程模板已配置完整 | 检查 `SysApprovalFlow` 表 |
| 审批超时 | 审批超时处理已配置 | 检查 `ApprovalTimeoutJob` |
| 审批回调 | 审批通过后业务回调已正确处理 | 检查 `ApprovalFlowService.processAfterApproval()` |
## 6. 配置文件检查
| 检查项 | 说明 | 验证方法 |
|--------|------|----------|
| 生产配置 | `application-prod.yml` 已正确配置 | 检查配置文件 |
| 环境变量 | 敏感配置通过环境变量注入 | 检查 Docker/K8s 配置 |
| 密钥管理 | 密钥已从代码库分离 | 检查密钥管理方案 |
## 验证命令
```bash
# 1. 健康检查
curl -f http://localhost:8080/actuator/health
# 2. 限流验证
for i in {1..110}; do curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8080/api/v1/activities; done
# 3. 权限验证
curl -s -w "\n%{http_code}" http://localhost:8080/api/v1/activities/admin -H "X-API-Key: invalid-key"
# 4. 审批模板检查
curl -s http://localhost:8080/api/v1/approval/flows | jq '.data | length'
```
## 回滚预案
| 场景 | 回滚操作 |
|------|----------|
| 发现未授权访问 | 启用 emergency 模式,禁用外部访问 |
| 发现数据泄露 | 立即启用审计告警,保留现场 |
| 审批流程异常 | 暂停相关业务功能,回退到预发布版本 |