Linux用户登录日志审计异常账号

登录日志在哪里存放?

Linux 系统会把每次用户登录、登出、失败尝试都记录下来。
绝大部分发行版(CentOS、Ubuntu、Debian)的登录日志存放在以下位置:

  • /var/log/wtmp:记录所有用户的登录、登出信息,可用 last 命令读取。
  • /var/log/btmp:记录失败的登录尝试,需要用 lastb 命令查看。
  • /var/log/auth.log(Ubuntu/Debian)或 /var/log/secure(CentOS/RHEL):记录详细的认证过程,包括 ssh、su、sudo 等。
重要:这些日志文件为二进制或明文格式,普通查看可能需要 root 权限。

动手查看:哪些账号在登录系统?

查看所有成功登录记录

运行 last 命令,会显示最近登录用户、登录时间、来源 IP 以及持续时长:

last

输出示例:

admin    pts/0        192.168.1.100    Mon Jan 15 10:20 - 12:30 (02:10)
root     pts/1        10.0.0.5         Mon Jan 15 09:00 - 09:30 (00:30)
btmp     begins Mon Jan 15 08:00

如果看到陌生用户(比如 testmysql 等非正常运维账号)频繁登录,或系统用户(如 daemonbin)突然登录,就值得怀疑。

查看登录失败记录

失败记录往往意味着有人在暴力破解或尝试未授权账号:

lastb

常见异常特征:

  • 同一 IP 大量尝试不同用户名
  • 尝试不存在的用户(如 admin123user
  • 失败次数远超正常阈值

检查当前系统上的所有用户

将日志中出现的用户名与系统实际存在的用户对比:

cat /etc/passwd | grep -v /sbin/nologin | grep -v /bin/false

这条命令列出所有可以登录系统的用户。
如果日志里有但系统里没有,说明该用户已被删除;
如果日志里有且系统里有但你不认识,可能就是异常账号。

揪出异常账号的检查清单

  1. 列出所有 UID 为 0 的用户(普通用户不应有 root 权限)
   awk -F: '$3==0{print $1}' /etc/passwd
  1. 检查最近一周的新增用户(可通过 last-t 参数或查看 /etc/passwd 的修改时间)
  2. 对比登录来源 IP 是否在可信白名单内,可用 last -i 显示 IP。
  3. 查看 sudo 日志journalctl -u sudogrep sudo /var/log/auth.log,看是否有非授权用户执行了特权命令。
  4. 扫描异常定时任务crontab -l/etc/crontab,看是否有恶意脚本通过异常账号执行。

容易踩的坑与避坑建议

  • 日志被轮转覆盖:如果发现日志不完整,先检查 logrotate 配置。审计时尽量搭配 last -f /var/log/wtmp-20250101 读取历史轮转文件。
  • 时间不准确:异常 IP 有可能伪造系统时间,先确认服务器 NTP 同步正常:timedatectl status
  • 权限不足:普通用户无法查看所有日志,审计时尽量用 root 或 sudo 执行命令。
  • 不要只看成功登录:大量失败尝试也说明系统正被扫描,即使最终没成功也不代表安全。

如何验证审计结果?

检查完日志和用户后,建议执行一次模拟验证:

  1. 用异常账号尝试 ssh 登录(不真的登入,看到 failed 就行)。
  2. 确认 lastb 能正确记录这次失败尝试。
  3. 对比你刚刚模拟的 IP 和用户名是否出现在日志里。

如果日志记录正常,说明审计环境有效;
如果没记录,可能日志功能被关闭或被篡改——这本身就是严重安全事件。

常见疑问解答

Q:日志里出现很多 unknown 用户怎么办?
A:这通常表示对方尝试了系统中不存在的用户名,属于正常扫描现象。但若持续出现高频率尝试,建议配置 fail2ban 或修改 ssh 端口。

Q:lastb 提示 /var/log/btmp does not exist?
A:说明没有失败记录,可以手动创建:touch /var/log/btmp(或重启一次 ssh 服务让它自动生成)。

Q:如何定期自动审计登录日志?
A:可以用 cron 每天执行一次脚本,将异常登录的 IP 和用户写入邮件或日志文件。例如:

#!/bin/bash
lastb | awk '{print $1,$3}' | sort | uniq -c | sort -rn | head -20 > /var/log/audit_today.txt
如果你正在处理 Linux 用户登录日志审计异常账号,建议先按本文步骤完整执行,再根据自己的环境做微调;遇到异常时优先回看避坑和高频问题部分。
分享到:
上一篇
Docker Compose一键搭建跨境站环境
下一篇
AI中转站流量统计数据分析工具:AI中转站流量统计怎么做?用
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意