Skip to content

安全实践

安全开发生命周期、依赖治理、日志审计、应急响应。

Updated View as Markdown
For humans

安全实践

安全不是单点漏洞,是流程和习惯。面试主线:SDLC 各阶段做什么、依赖怎么治理、出事怎么响应。

安全开发生命周期

阶段 动作
需求/设计 威胁建模(数据流、信任边界)
开发 安全编码规范、代码审查(重点:鉴权/输入)
测试 自动化扫描(SAST/DAST)、渗透测试
上线 配置审查(默认口令、调试开关)、依赖扫描
运行 监控告警、日志审计、应急演练

SAST vs DAST:静态代码扫描(早期、覆盖全)vs 动态黑盒测试(真实攻击视角、慢)。

依赖治理(供应链)

  • 依赖漏洞:Log4j 类事件,一个依赖沦陷全系统受威胁
  • 措施:SBOM(软件物料清单)、锁文件 + 校验和(go.sum/package-lock)、定期扫描(Dependabot/Trivy)、最小依赖(少装 = 少暴露)
  • 镜像扫描:容器镜像漏洞扫描(Trivy)进 CI

配置与基础设施安全

措施
密钥 KMS/Vault(见密码学篇)
默认配置 改默认口令、关调试模式、关示例路由
网络 最小暴露端口、安全组、TLS 全链路
权限 服务账号最小权限、IAM 角色
日志 敏感数据脱敏(密码/手机号不落日志)

日志与审计

  • 安全日志:登录(成功/失败)、权限变更、敏感操作、越权尝试
  • 审计要求:谁、何时、做了什么、结果(对应 MCP 安全篇的审计层)
  • 日志本身要保护:集中存储、防篡改、保留期合规
  • 告警:异常登录(异地、频率)、权限提升、批量拉取

应急响应

  1. 发现:告警 + 用户报告
  2. 遏制:隔离(下线/断网/改密钥),止血优先
  3. 根因:复盘漏洞成因(代码?配置?依赖?)
  4. 修复:补丁 + 加固 + 同类排查
  5. 复盘:流程改进(为什么没拦住)、通报(合规)

演练:定期应急演练(对应系统设计篇的故障演练,安全版)。

面试追问

  1. 安全左移是什么? 安全动作前移:设计阶段威胁建模、开发阶段审查扫描,别等上线
  2. SAST 和 DAST? 静态代码扫描(早、全)vs 动态黑盒(真实攻击、慢)。都要
  3. 依赖安全怎么做? SBOM + 锁文件校验 + 漏洞扫描 + 最小依赖。供应链是攻击面
  4. 安全日志记什么? 登录、权限变更、敏感操作。脱敏 + 防篡改 + 告警
  5. 应急响应流程? 发现 → 遏制 → 根因 → 修复 → 复盘。止血优先于根因
Navigation

Type to search…

↑↓ navigate↵ selectEsc close