安全工程 security-engineering

本技能(安全工程)是一套全面的网络安全专业知识体系,专注于构建和维护安全的软件系统与基础设施。它涵盖了从安全架构设计(如纵深防御、零信任)、身份验证与授权模式(OAuth、RBAC/ABAC)、安全开发实践(OWASP Top 10缓解、SAST/DAST测试、密钥管理),到合规框架(SOC2、HIPAA、GDPR)遵循和事件响应流程的完整生命周期。适用于安全工程师、开发人员、架构师和合规专家,用于在系统设计、编码、部署和运维各阶段实施有效的安全控制,以防范威胁、保护数据并满足法规要求。关键词:网络安全,安全架构,零信任,身份验证,授权,OWASP,合规,SOC2,HIPAA,事件响应,安全开发。

安全运维 0 次安装 0 次浏览 更新于 2/28/2026

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
数据 加密、访问控制、数据防泄漏
身份 多因素认证、单点登录、特权访问管理

零信任架构

核心原则:

  1. 永不信任,始终验证
  2. 假设已被入侵的心态
  3. 最小权限访问
  4. 微隔离
  5. 持续验证

实施:

  • 基于身份的访问(而非基于网络)
  • 设备健康状态验证
  • 持续身份验证
  • 无处不在的加密通信
  • 详细的日志记录与监控

身份验证模式

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 信息安全管理体系

关键控制

  • 访问控制和身份验证
  • 加密(静态和传输中)
  • 日志记录与监控
  • 事件响应程序
  • 业务连续性计划
  • 供应商管理
  • 员工安全培训

事件响应

响应阶段

  1. 准备: 操作手册、工具、培训
  2. 检测: 监控、告警、分类
  3. 遏制: 隔离、保存证据
  4. 根除: 移除威胁、修补漏洞
  5. 恢复: 恢复服务、验证清理
  6. 经验总结: 事后分析、改进

严重级别

级别 描述 响应时间
P1 活动入侵,数据外泄 立即
P2 漏洞正被利用 < 4小时
P3 发现高风险漏洞 < 24小时
P4 需要安全改进 下一个迭代周期

参考文件

  • references/threat_modeling.md - STRIDE方法论及示例
  • references/compliance_controls.md - 特定框架的控制措施映射

与其他技能的集成

  • cloud-infrastructure - 用于云安全
  • debugging - 用于安全事件调查
  • testing - 用于安全测试模式