服务账户风险与检查
服务账户是被应用、计划任务、数据库或中间件用来登录的账号,特点是口令长期不变、几乎不人工登录、常被明文写进配置文件和脚本。为了「配好一次不再出问题」,这类账号往往被授予超出需要的权限,甚至直接加入高权限组。一旦口令从配置、脚本或备份中泄露,攻击者就能用它稳定登录并长期潜伏,且因为几乎没有交互式登录记录而难以发现。检查因此逐账户核对用途、权限范围、登录位置限制与口令轮换机制。
基本信息
| 对象范围 | 应用、任务计划、数据库与中间件使用的各类服务账户 |
|---|---|
| 核心问题 | 权限过高、口令长期不换、来源不受限 |
| 整改方向 | 降权到必要权限、限定登录主机、建立轮换机制 |
| 常见形态 | 手工创建的普通域账户、托管服务账户、厂商内置账户 |
典型使用场景
- 应用连接数据库:账号被授予数据库系统管理员权限以图省事
- 计划任务执行脚本:账号需访问多个服务器,权限被逐步放宽
- 备份与监控代理:代理账号往往全域可达,是高价值目标
- 厂商集成:第三方系统自带账户,口令由厂商保管且不轮换
- 域管理组误加:为排查问题临时加组后未回收,形成长期风险
检查清单
检查清单
1. 账户用途与归属系统:是否有台账支撑,责任人与使用范围是否明确
2. 所属权限组清单:是否属于域管理或服务器管理类高权限组,是否必要
3. 登录位置限制:是否限制只能登录到指定主机 # 未限制即可被用于横向移动
4. 口令轮换周期与监督人:是否有轮换记录与到期策略
5. 口令存放方式:是否明文写在配置、脚本或运维文档中权限层级与判定
| 权限层级 | 典型表现 | 判定 |
|---|---|---|
| 域级高权限 | 属于域管理类组 | 高风险,需立即核对必要性 |
| 服务器管理权限 | 可登录多台服务器并改配置 | 中高风险,应收敛到指定主机 |
| 应用与数据库权限 | 仅访问自身业务库或目录 | 符合预期,继续确认来源限制 |
| 共享账号形态 | 多人共用同一服务账户 | 需改为一机一账号并纳入轮换 |
服务账户是域内高价值目标:权限过高的账户优先整改;同时把口令轮换与依赖任务一起设计,避免轮换时服务中断。
轮换口令前必须先排查依赖该账户的任务与服务,否则会造成大面积认证失败与业务中断。