用途
该技能为 CIA(Citizen Intelligence Agency)平台的安全架构验证提供结构化指导,覆盖架构评审、控制验证、渗透测试协调以及针对 ISMS 要求的合规性验证。
适用场景
在以下情况应用该技能:
- 评审架构变更的安全影响
- 验证安全控制是否被正确实现
- 规划或审查渗透测试结果
- 准备合规审计(ISO 27001、SOC 2)
- 评估新的集成点(API、数据源)
- 评估基础设施变更(CloudFormation、AWS)
- 开展周期性安全架构评审
不适用于:
- 逐行代码审查(应使用 secure-code-review)
- 日常编码实践(应使用 secure-development-policy)
- 事件处理(应使用 incident-response)
架构评审框架
CIA 平台安全分层:
- 边缘安全:WAF / CloudFront
- 网络:负载均衡器(ALB)
- 应用认证:Spring Security 过滤器链
- 业务逻辑:Vaadin UI + 服务层
- 数据访问:JPA/Hibernate + PostgreSQL
- 基础设施:AWS VPC + 安全组
架构评审清单
认证与授权:
- Spring Security 配置采用安全默认值
- 会话管理使用安全 Cookie(HttpOnly、Secure、SameSite)
- 密码存储使用 bcrypt 或 Argon2
- 在服务层强制执行基于角色的访问控制
- 管理端点受额外认证保护
- API 认证使用基于令牌的机制
- 会话超时配置适当
网络安全:
- 所有连接强制使用 TLS 1.2+
- 配置 HSTS 头
- 安全组遵循最小权限原则
- 数据库不可公开访问
- VPC 子网正确分段
- 出站流量限制到所需目的地
数据保护:
- 静态数据加密(RDS、EBS、S3)
- 传输中数据加密(TLS)
- 敏感字段在应用层加密
- 数据库凭据通过 AWS Secrets Manager 管理
- 应用日志中无 PII
- 启用备份加密
控制验证矩阵
| 控制域 | 预期控制 | 验证方法 | 证据 |
|---|---|---|---|
| 访问控制 | 通过 Spring Security 实现 RBAC | 配置审查 + 测试 | SecurityConfig.java |
| 加密 | 所有连接 TLS 1.2+ | SSL 扫描 | CloudFormation 模板 |
| 输入验证 | 所有用户输入均验证 | 代码审查 + DAST | 控制器层审查 |
| 审计日志 | 安全事件被记录 | 日志审查 | Logback 配置 |
| 会话管理 | 安全会话处理 | 配置审查 | Spring Security 配置 |
| 错误处理 | 无信息泄露 | DAST + 代码审查 | 异常处理器 |
| CSRF | 基于令牌的保护 | 配置审查 + 测试 | Spring Security 配置 |
| SQL 注入 | 仅使用参数化查询 | SAST + 代码审查 | JPA 仓库 |
| XSS 防护 | 输出编码 | DAST + 代码审查 | Vaadin 组件 |
| 依赖管理 | 无严重 CVE | OWASP DC 扫描 | CI/CD 流水线 |
渗透测试指导
范围定义
范围内:
- Web 应用(Vaadin UI + REST API)
- 认证与会话管理
- 角色之间的授权边界
- 所有入口点的输入验证
- 外部 API 集成(Riksdag、World Bank)
- CloudFormation 部署的基础设施
范围外:
- 第三方服务(GitHub、AWS 托管服务)
- 物理安全
- 社会工程
- 拒绝服务攻击
测试类别
| 类别 | 重点领域 | OWASP 参考 |
|---|---|---|
| 认证 | 登录、会话、密码重置 | A07:2021 |
| 授权 | 角色提升、IDOR | A01:2021 |
| 注入 | SQL、XSS、命令注入 | A03:2021 |
| 配置 | 头、TLS、错误页面 | A05:2021 |
| 数据暴露 | PII 泄露、API 响应 | A02:2021 |
| 组件 | 已知易受攻击的依赖 | A06:2021 |
| 日志 | 审计追踪完整性 | A09:2021 |
渗透测试报告模板
## Finding: [Title]
- **Severity:** Critical / High / Medium / Low
- **CVSS Score:** X.X
- **OWASP Category:** AXX:2021
- **Affected Component:** [Component name]
- **Description:** [What was found]
- **Impact:** [Business impact]
- **Reproduction Steps:** [Step-by-step]
- **Remediation:** [How to fix]
- **ISO 27001 Control:** [Relevant control]
- **Status:** Open / In Progress / Resolved
合规性验证
ISO 27001:2022 架构控制
| 控制 | 要求 | CIA 实现 | 状态 |
|---|---|---|---|
| A.8.1 | 用户端点设备 | N/A(服务端应用) | N/A |
| A.8.3 | 信息访问限制 | Spring Security RBAC | ✅ |
| A.8.5 | 安全认证 | Spring Security + bcrypt | ✅ |
| A.8.9 | 配置管理 | CloudFormation IaC | ✅ |
| A.8.15 | 日志 | SLF4J + CloudWatch | ✅ |
| A.8.20 | 网络安全 | VPC + 安全组 | ✅ |
| A.8.24 | 密码学使用 | TLS + 加密存储 | ✅ |
| A.8.25 | 安全开发生命周期 | CI/CD 安全门禁 | ✅ |
| A.8.26 | 应用安全要求 | 安全需求 | ✅ |
| A.8.28 | 安全编码 | SAST + 代码审查 | ✅ |
验证频率
| 验证活动 | 频率 | 负责方 |
|---|---|---|
| 架构评审 | 每季度 + 重大变更 | 安全负责人 |
| 控制验证 | 每月自动化 + 每季度手动 | DevSecOps |
| 渗透测试 | 每年 + 重大发布 | 外部公司 |
| 合规审计 | 每年(ISO 27001 认证) | 审计员 |
| 依赖审查 | 每周自动化 | Dependabot + 手动 |
| 配置审查 | 每月 | DevSecOps |
决策框架
提出架构变更时:
- 是否改变认证/授权?→ 是 → 需要完整安全架构评审
- 是否新增外部集成?→ 是 → 更新威胁模型 + 数据流评审
- 是否改变数据存储或处理?→ 是 → 数据分类评审 + 加密检查
- 是否修改基础设施(CloudFormation)?→ 是 → 基础设施安全评审
- 是否改变网络边界?→ 是 → 网络安全评审 + 防火墙规则
参考资料
- OWASP Application Security Verification Standard
- NIST SP 800-53 Security Controls
- CIA SECURITY_ARCHITECTURE.md
- CIA THREAT_MODEL.md