06 · 运维安全
运维安全是密钥管理 + 最小权限 + 堡垒机 + 审计告警的组合拳。D 域讲怎么发布部署,本篇讲"运维动作本身怎么不成为事故源"。
速览卡
| 项 | 内容 |
|---|---|
| 一句话定位 | 把"谁有权限碰生产"这个问题的工程化答案 |
| 核心内容 | 密钥生命周期、账号与权限、堡垒机、审计告警 |
| 读完能回答 | 密钥放哪才安全?为什么人人 SSH 直连生产是事故? |
| 相关板块 | C16 服务端安全纵深 | D02 CICD | D01 容器 |
一、先给结论:运维安全的四条铁律
text
① 密钥集中管理,禁止人肉拷贝
② 账号最小权限,默认拒绝
③ 生产入口收敛,走堡垒机
④ 所有敏感操作可审计、可追溯一句话:生产环境越"难进",越说明安全做对了。运维的职责不是"方便每个人"而是"让必要的人方便且留痕"。
二、密钥管理:全生命周期
| 阶段 | 要点 |
|---|---|
| 生成 | 足够随机,权限仅限使用方 |
| 分发 | 走密钥服务/配置中心,不进代码与镜像 |
| 使用 | 运行态注入,应用只读自己需要的 |
| 轮换 | 定期轮换 + 泄露即换 |
| 销毁 | 停用后禁用并归档审计 |
类比前端:就像
.env不进 git。生产要更进一步,用 Vault/云 KMS/配置中心,实现"密钥不落到人手里也能跑"。
三、最小权限:账号、角色与网络
| 层 | 错误 | 正确 |
|---|---|---|
| 账号 | 所有人共用 root | 每人独立账号,按需开 |
| 角色 | 一人全权限 | 按角色分权,读写分离 |
| 网络 | 生产端口全开 | 按需开放 + 白名单 |
| 服务 | 一个 key 通吃 | 每服务独立密钥/凭证 |
最小权限是"默认拒绝":先不给权限,出需求再按最小集开通,比"先全开再回收"安全得多。
四、堡垒机:收敛生产入口
| 方式 | 特点 | 是否推荐 |
|---|---|---|
| 人人 SSH 直连 | 无法管控与审计 | 否 |
| 跳板机 + 密钥 | 统一入口,能审计 | 可以 |
| 堡垒机(商业化) | 录屏/审批/高危命令拦截 | 推荐 |
堡垒机解决的三个问题:谁能进(认证)、做了什么(审计)、高危动作要不要拦(审批)。这不是流程负担,是事故前的最后防线。
五、审计与告警
| 事件 | 该有 |
|---|---|
| 登录/提权 | 记录用户、来源、时间 |
| 密钥访问 | 记录谁在何时取了哪个 key |
| 危险命令 | 高危操作需审批 + 双人复核 |
| 异常行为 | 陌生 IP、异常时段触发告警 |
审计的价值在出事之后:平时觉得"没人看",泄露追溯时才知道有没有它差别多大。
六、与 D 运维的边界
| 域 | 负责 |
|---|---|
| D 运维 | 发布流程、容器、CI/CD、基础设施 |
| S06 本域 | 这些流程里的权限、密钥、审计红线 |
分工:D 管"怎么部署",S06 管"部署通道安全不安全"。CI/CD 里用到的 token 与密钥,正是 S06 的管辖范围。
七、自检清单
- [ ] 所有密钥走集中管理,仓库/镜像里搜不到明文
- [ ] 每人独立账号,无共享 root
- [ ] 生产入口收敛,SSH 直连有管控与审计
- [ ] 密钥有轮换机制,泄露有响应流程
- [ ] 登录/提权/密钥访问都有审计日志
八、常见误区
| 误区 | 事实 |
|---|---|
| "小团队不需要密钥管理" | 人越少越该集中,靠人肉交接必出问题 |
| "内网不设防" | 内网是攻击者最爱,横向渗透从内网开始 |
| "堡垒机只是流程负担" | 它同时提供审计与高危拦截,是兜底 |
| "权限开大点方便" | 权限越大,出事的爆炸半径越大 |
九、动手练习
练习 A:盘点密钥
列出当前项目里所有密钥/凭证,标出它们的存放位置、用途、是否轮换,找出"写在代码里"的。
练习 B:最小权限演练
给一个服务重建它的云账号权限,从"全量"收敛到"只读 + 指定资源",记录减少了哪些权限。
练习 C:设计一条高危操作流程
给"删除生产数据库"设计审批 + 双人复核 + 审计流程,写出每一步谁来做、怎么留痕。
相关文档
本区
- 04 · 传输安全与 TLS 实践 —— 密钥与证书的传输侧
- 07 · 供应链与依赖安全 —— CI 里的依赖与凭证
- S · 安全计划
其他域
- C16 · 服务端安全纵深 —— 服务端密钥与权限
- D02 · 部署与 CI/CD —— 发布通道里的凭证
- D01 · Docker 与容器化 —— 镜像里的密钥红线