运维账号如何权限分级

wen 开源项目 33

本文目录导读:

运维账号如何权限分级

  1. 核心分级模型(三级或四级)
  2. 关键控制点与实施策略
  3. 实践建议(如何落地)
  4. 避坑指南(常见错误)

运维账号的权限分级是企业安全管理的核心防线,其核心目标是遵循最小权限原则,确保任何账号(无论是人还是程序)只拥有完成其任务所必需的最小权限。

以下是一套通用的、从粗粒度到细粒度的运维账号权限分级体系,以及对应的实施策略。

核心分级模型(三级或四级)

通常将运维权限分为以下四个级别(也可合并为三级):

级别 角色/账号 典型权限范围 核心原则与限制
L0 超级管理员 / Root / 堡垒机超级管理员 拥有对所有系统、网络设备、堡垒机的完全控制权,可以修改审计日志、创建管理员账号、修改系统内核参数。 双人复核 + 物理隔离:此账号几乎不应被日常使用,使用前需申请、审批,操作时全程录像或需另一人输入另一半密码。
L1 系统管理员 / 运维主管 - 创建、修改、删除L2、L3账号
- 配置防火墙核心策略
- 安装系统软件/补丁
- 重启核心服务(数据库、中间件)
- 访问所有机房和服务器
审批制 + 堡垒机:所有操作需通过堡垒机进行,并对高危命令(如rm -rfshutdown)进行强制拦截或二次授权。
L2 业务运维 / 应用管理员 - 查看应用日志
- 重启指定应用服务
- 修改应用配置文件
- 部署代码(特定目录下)
- 查看非核心数据库(只读)
白名单 + 命令控制:使用sudo命令或权限管理工具,精确限制可执行的命令范围(如sudo systemctl restart nginx)。
L3 监控与审计 / 只读账号 - 查看系统状态(CPU、内存、磁盘)
- 读取日志文件(/var/log/
- 查看系统进程
- 查询数据库(只读select)
严禁写操作:此账号应没有任何写权限、执行权限(.sh文件),通常用于Zabbix、Grafana等监控系统和安全审计部门。
L4 开发者 / 测试人员 (可选) - 查看开发/测试环境的应用日志
- 重启自己的Docker容器
- 访问测试数据库(DML/DDL受限)
环境隔离:仅限非生产环境,权限通常通过临时Token或SSH Key绑定到一个过期的用户。

关键控制点与实施策略

仅有分级模型是不够的,必须配合以下机制才能落地:

账号生命周期管理

  • 申请:必须通过工单系统(如Jira、ServiceNow)提交,说明“谁、在什么时间、做什么事、需要多长时间”。
  • 授权:L1及以上权限需主管+安全团队双重审批,临时权限(如L1权限3小时)自动过期。
  • 回收:员工离职或转岗,立即 禁用账号、撤销SSH Key、清除所有sudo权限。

特权账号管理

  • 避免使用共享账号(如rootadmin),如果必须用,将其密码存储在密码保险箱(如Hashicorp Vault, CyberArk, 1Password Teams)中,使用时临时提取,操作完成后自动轮换密码。
  • 为每个应用或数据库设置独立的服务账号(Service Account),并为其分配最小权限(每个微服务只能访问自己的数据库表)。

命令与操作级别控制

  • 堡垒机/跳板机:所有运维人员必须通过堡垒机登录,堡垒机负责身份认证、操作审计、高危命令拦截。
  • sudo权限细化:不要给 sudo ALL,应为每个用户配置具体的 sudoers 文件规则。
    • 错误示例opsuser ALL=(ALL) ALL
    • 正确示例opsuser ALL=(root) NOPASSWD: /bin/systemctl restart nginx, /usr/bin/tail -f /var/log/nginx/*
  • 云平台权限(如AWS IAM策略):
    • 不使用全局 权限。
    • 使用基于资源的策略 + 基于标签的策略
    • 示例:只允许管理标签为 Environment=ProductionApplication=Web 的EC2实例。

审计与监控

  • 全程录像:堡垒机记录所有SSH、RDP会话。
  • 日志集中:所有命令(bash history + auditd)实时发送到SOC(安全运营中心)。
  • 异常告警:当L2用户在凌晨3点执行 rm -rf / 或当L3用户尝试 sudo 时,立即告警。

实践建议(如何落地)

如果你的组织刚开始规范化,建议分步进行:

  1. 第一步:强制堡垒机 + 禁用Root远程登录。 这是最基础也是最有效的改进。
  2. 第二步:实施L3(只读)和L2(业务运维)的分离。 给监控和新人只分配L3权限。
  3. 第三步:精细化L1(系统管理员)的sudo命令集。 使用工具如 puppetansiblesos 来统一管理sudo规则,避免手动编辑 /etc/sudoers
  4. 第四步:引入特权账号管理(PAM)系统。 接管所有 rootoracleadmin 等共享账号密码。
  5. 第五步:自动化权限审批与回收。 将账号系统与HR系统(IM)打通,实现入职自动授权、离职自动回收。

避坑指南(常见错误)

  • “都是自己人,给个root吧”:这是最大的风险,事故往往不是恶意的,而是“误操作”。
  • 分级太粗:只有“管理员”和“普通用户”两级,这等于没有分级。
  • 权限“给出去容易,收回来难”:没有设定临时权限的过期时间,导致权限堆积。
  • 忽略了服务账号:攻击者往往不是攻陷了人的账号,而是攻陷了拥有 权限的 CI/CD 机器人的 Token。

运维权限分级的终极形态,不是限制人的能力,而是让错误的行为无法生效,让恶意的行为无处遁形,建议从最小权限可审计性这两个维度不断迭代。

抱歉,评论功能暂时关闭!