首页/安全/应急响应速查/可疑账号处置:先禁用后删除

可疑账号处置:先禁用后删除

直接删账号会同时抹掉登录历史与 SID 关联:正确顺序是记录、禁用、断会话与密钥、观察期后再删除。

应急响应速查安全更新于 2026-10-13

先禁用后删除

直接删除可疑账号会同时抹掉登录历史与权限关联:Linux 上记录从 passwd、shadow 中消失;Windows 上账号删除后,历史事件里的 SID 也就难以对应到具体身份。

正确顺序

记录 → 禁用 → 断通道(会话与密钥) → 观察 → 删除。观察期内若出现异常行为,保留的账号信息仍是溯源依据,删除动作放到最后一步。

基本信息

第 1 步导出账号信息与登录记录
第 2 步禁用:usermod -L 或 Disable-LocalUser
第 3 步清理 authorized_keys 与活动会话
第 4 步观察期结束后再删除
Linux 常用命令passwd -S、usermod -L -s /usr/sbin/nologin
Windows 常用命令Disable-LocalUser、Get-LocalUser

典型使用场景

  • 处置攻击者新建的后门账号
  • 处理离职人员的遗留账号
  • 清理过期的服务账号
  • 观察期内临时停用账号而不影响后续溯源
  • 为审计保留账号历史

Linux 禁用而非删除

Linux 禁用而非删除
passwd -S baduser
usermod -L -s /usr/sbin/nologin baduser
passwd -S baduser
cp -a /etc/passwd /etc/shadow /etc/group /evidence/    # 删前留档
pkill -KILL -u baduser                                 # 谨慎:先确认业务影响

Windows 禁用账号

Windows 禁用账号
Disable-LocalUser -Name 'baduser'
Get-LocalUser -Name 'baduser' | Format-List Name,Enabled,LastLogon
Get-LocalGroup | ForEach-Object { $g=$_.Name; $m=Get-LocalGroupMember $g -ErrorAction SilentlyContinue | Where-Object Name -match 'baduser'; if ($m) { "$g" } }

输出逐列读法

字段含义正常/异常
passwd -S 状态位L 锁定、P 有口令、NP 空口令出现 NP 说明账号本身就有问题
Enabled账号启用状态禁用后仍被使用说明存在其他通道
LastLogon最后登录时间用于判断账号是否真被使用过
文件属主账号关联的文件删除账号后属主会变成数字 UID,难以判断归属
删除前把 passwd、shadow、group 复制到证据目录:账号删掉后,登录历史与权限对照都很难还原。
禁用不等于阻断:还要清理 authorized_keys、sudo 配置与计划任务,否则账号虽停用,凭据与任务通道仍然有效。

删除前要确认的前提

  • 确认该账号没有被关键服务或运维脚本使用
  • 确认账号关联的文件已经有新的属主安排
  • 确认历史登录记录已经导出并归档
  • 确认相关凭据、密钥与计划任务都已失效

观察期内要盯什么

  • 该账号是否被重新启用或出现同名新账号
  • 相关密钥与计划任务是否再次出现
  • 同一来源地址是否继续尝试使用该账号登录
  • 关联服务是否因账号停用而报错,需要及时调整

处置记录要写清

  • 账号名与 UID 或 SID
  • 发现时间与判定依据
  • 执行的操作、时间与操作人
  • 观察期安排与最终复核结论

易错点

  • 直接删除不备份:登录历史与所属文件全靠运气找回
  • 禁用后不清 authorized_keys:密钥通道依然有效
  • 只删账号不查计划任务:以该账号运行的任务会异常或留下痕迹
  • 删除导致文件属主变成数字:后续难以判断文件归属
  • 观察期过短:账号被重建或重新启用时不易察觉

数据来源与参考

  • usermod(8) 与 passwd(1) 手册
  • NIST SP 800-61 账号遏制

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌