账号分级解决的是边界问题
运维账号混乱的典型后果是权限无法收敛:为了让人能干活,所有人最终都拿到接近完整的权限;出了事又无法指出是谁做的。分级与用途隔离的思路是给每类使用者与每类用途划定明确边界——普通操作、特权操作、服务运行、应急通道各自独立,互不借用。边界一旦清楚,授权范围、审计粒度与回收动作都变得可执行。
基本信息
| 适用对象 | 服务器登录账号与自动化服务账号 |
|---|---|
| 分级维度 | 按权限高低、按用途、按环境三轴划分 |
| 隔离要求 | 特权账号不可用于日常操作,服务账号不可交互登录 |
| 审计要求 | 每类账号的操作都需可归因到具体人或系统 |
| 配套机制 | 账号创建、授权、回收需有明确责任人与流程 |
常见的分级方式
- 普通操作账号:只能登录指定主机做只读或受限操作,日常巡检用
- 特权操作账号:仅在需要时切换获得特权,平时无特权,且提权动作全记录
- 服务运行账号:仅供进程使用,禁止交互登录,限制登录来源
- 应急通道账号:仅在常规通道故障时启用,启用需要审批且事后强制改密
- 环境隔离:测试与生产使用不同账号体系,避免凭据跨环境复用
- 个人账号与共享账号分开:个人账号可归因,共享账号只用于无归属的自动化任务
隔离的落地检查
隔离的落地检查
getent passwd svcapp # 服务账号的登录解释器设置
getent passwd svcapp | cut -d: -f7 # 是否被设置为不可登录
chage -l svcapp # 口令与账号有效期策略
ss -lntp | head # 确认服务的实际运行身份(配合进程查看)
lastlog | grep -v 'Never' # 哪些账号近期真的登录过
loginctl list-sessions # 当前在线会话,用于发现异常使用账号类型与边界
| 账号类型 | 允许的行为 | 明确禁止 |
|---|---|---|
| 普通操作账号 | 登录指定主机做受限操作 | 直接执行特权命令 |
| 特权操作账号 | 按需提权并全程留痕 | 当作日常账号长时间使用 |
| 服务运行账号 | 运行指定服务 | 交互登录与跨主机使用 |
| 应急通道账号 | 故障时启用应急访问 | 日常使用与长期保留口令 |
| 自动化账号 | 执行既定剧本与接口调用 | 人工交互式操作 |
分级要配合来源限制才有效:同一类账号从不同网络进入应给不同待遇,管理网与业务网分别规划。仅靠账号权限区分,而登录来源不设限时,一个失窃口令就能从任意位置发起连接。
应急通道是分级体系里最容易被忽视的一环:它天然拥有高权限且极少使用,口令往往几年不改。应当设定定期演练与检查机制,确保它既真的可用,又不成为无人看守的后门。