name: security-engineering description: 安全架构与实施模式。在设计安全控制、实施身份验证/授权、进行威胁建模或确保符合安全框架时使用。 author: Joseph OBrien status: unpublished updated: ‘2025-12-23’ version: 1.0.1 tag: skill type: skill
安全工程
全面的安全工程技能,涵盖应用安全、基础设施安全、合规性和事件响应。
何时使用此技能
- 设计安全架构
- 实施身份验证和授权
- 进行威胁建模
- 安全代码审查
- 实施合规控制(SOC2、HIPAA、PCI-DSS)
- 事件响应计划
- 安全监控与告警
安全架构
纵深防御
在多个层面部署安全控制:
| 层级 | 控制措施 |
|---|---|
| 边界 | 防火墙、WAF、DDoS防护 |
| 网络 | 网络分段、IDS/IPS、VPN |
| 主机 | 系统加固、终端检测与响应、补丁管理 |
| 应用 | 输入验证、安全编码、SAST/DAST |
| 数据 | 加密、访问控制、数据防泄漏 |
| 身份 | 多因素认证、单点登录、特权访问管理 |
零信任架构
核心原则:
- 永不信任,始终验证
- 假设已被入侵的心态
- 最小权限访问
- 微隔离
- 持续验证
实施:
- 基于身份的访问(而非基于网络)
- 设备健康状态验证
- 持续身份验证
- 无处不在的加密通信
- 详细的日志记录与监控
身份验证模式
OAuth 2.0 / OIDC
授权类型:
| 授权类型 | 使用场景 |
|---|---|
| 授权码 + PKCE | Web/移动应用 |
| 客户端凭证 | 服务间通信 |
| 设备码 | CLI工具、物联网设备 |
令牌最佳实践:
- 短时效访问令牌(15分钟 - 1小时)
- 安全的刷新令牌存储
- 使用即轮换令牌
- 具备撤销能力
会话管理
- 安全、HttpOnly、SameSite Cookie
- 会话超时(空闲和绝对)
- 登出时会话失效
- 并发会话限制
- 会话与设备/IP绑定
多因素认证
- TOTP(身份验证器应用)
- WebAuthn/FIDO2(硬件密钥)
- 推送通知
- 短信(最后手段,易受SIM卡交换攻击)
授权模式
RBAC(基于角色的访问控制)
用户 → 角色 → 权限
最佳适用: 定义明确的组织层级结构
ABAC(基于属性的访问控制)
如果 用户.部门 == "工程部" 且
资源.分类 == "内部" 且
时间.小时 在 9 到 17 之间
那么 允许
最佳适用: 复杂、动态的访问需求
策略即代码
使用 OPA/Rego 或 Cedar 实现外部化策略:
- 版本控制的策略
- 可测试的访问规则
- 审计追踪
- 关注点分离
安全开发
OWASP Top 10 缓解措施
| 风险 | 缓解措施 |
|---|---|
| 注入攻击 | 参数化查询、输入验证 |
| 身份验证失效 | 强密码策略、MFA、速率限制 |
| 敏感数据泄露 | 加密、最小化数据收集 |
| XML外部实体攻击 | 禁用外部实体 |
| 访问控制失效 | 授权检查、默认拒绝 |
| 安全配置错误 | 安全默认值、加固指南 |
| 跨站脚本攻击 | 输出编码、内容安全策略 |
| 不安全的反序列化 | 完整性检查、避免不可信数据 |
| 使用含有已知漏洞的组件 | 依赖项扫描、更新 |
| 日志记录和监控不足 | 集中化日志记录、告警 |
安全测试
SAST(静态应用程序安全测试):
- 每次提交时运行
- 阻止高严重性发现
- 工具:Semgrep、CodeQL、SonarQube
DAST(动态应用程序安全测试):
- 在预发布/开发环境运行
- 工具:OWASP ZAP、Burp Suite
依赖项扫描:
- 检查已知漏洞
- 工具:Snyk、Dependabot、npm audit
密钥管理
禁止:
- 将密钥提交到Git
- 记录密钥
- 在URL中传递密钥
- 硬编码密钥
应该:
- 使用密钥管理器(Vault、AWS Secrets Manager)
- 定期轮换密钥
- 审计密钥访问
- 使用短时效凭证
合规框架
通用要求
| 框架 | 重点领域 |
|---|---|
| SOC 2 | 信任服务(安全、可用性等) |
| HIPAA | 医疗数据保护 |
| PCI-DSS | 支付卡数据 |
| GDPR | 欧盟个人数据保护 |
| ISO 27001 | 信息安全管理体系 |
关键控制
- 访问控制和身份验证
- 加密(静态和传输中)
- 日志记录与监控
- 事件响应程序
- 业务连续性计划
- 供应商管理
- 员工安全培训
事件响应
响应阶段
- 准备: 操作手册、工具、培训
- 检测: 监控、告警、分类
- 遏制: 隔离、保存证据
- 根除: 移除威胁、修补漏洞
- 恢复: 恢复服务、验证清理
- 经验总结: 事后分析、改进
严重级别
| 级别 | 描述 | 响应时间 |
|---|---|---|
| P1 | 活动入侵,数据外泄 | 立即 |
| P2 | 漏洞正被利用 | < 4小时 |
| P3 | 发现高风险漏洞 | < 24小时 |
| P4 | 需要安全改进 | 下一个迭代周期 |
参考文件
references/threat_modeling.md- STRIDE方法论及示例references/compliance_controls.md- 特定框架的控制措施映射
与其他技能的集成
- cloud-infrastructure - 用于云安全
- debugging - 用于安全事件调查
- testing - 用于安全测试模式