1. 查看 root 的所有登录记录

admin
主要涉及对 root 用户登录历史的全面审查,由于 root 拥有系统最高权限,其登录行为直接决定服务器安全,通过查看所有登录记录,管理员能够详细追踪登录时间、来源 IP 及失败尝试,从而有效识别未授权访问、排查系统故障,并维护系统的安全稳定运行。

Linux 登录成功后也会记录失败次数:揭秘认证日志中的安全真相

在 Linux 系统管理和安全审计的过程中,一个常见的误区是认为 /var/log/auth.log(或 RHEL 系列的 /var/log/secure)只记录登录失败的尝试,很多管理员在排查问题时,往往只关注红色的错误信息,而忽略了那些看似平淡的成功记录。

事实并非如此。Linux 登录成功后也会记录失败次数,这不仅是系统日志设计的一部分,更是进行安全分析、入侵检测和故障排查的关键依据。

1. 查看 root 的所有登录记录

为什么登录成功也要记录失败?

你可能会有疑问:既然登录成功了,为什么还要费心去查看失败的记录?这背后的原因主要有三点:

  1. 安全审计的完整性: 系统的认证日志通常由 sshd 服务(SSH)或 PAM(可插拔认证模块)统一管理,为了保持日志的一致性和完整性,它会对每一次尝试都进行记录,这意味着,如果某个用户在短时间内进行了多次错误的密码尝试,即便最后一次成功了,前几次失败的记录依然会保存在日志中。

  2. 排查账户锁定问题: 如果用户反馈说“我明明输对了密码,却登录不上”,通过查看日志可以确认是否是因为系统配置了 pam_faillockpam_tally2,导致该账户在多次失败后被暂时锁定,在这种情况下,Linux 登录成功后也会记录失败次数,这些记录能帮助你判断锁定的具体时间,从而提前解锁。

  3. 暴力破解攻击的痕迹: 黑客在尝试爆破账户时,通常会进行大量无意义的尝试,如果日志中显示某次成功的登录前,伴随着数十次或上百次的失败记录,这通常意味着攻击者可能已经获取了正确的密码,或者正在进行“撞库”尝试,关注这些细节对于防御后续攻击至关重要。

如何查看这些记录?

要利用好这一特性,你需要掌握几个常用的日志查看命令。

查看失败的登录尝试

最经典的命令是使用 grep 过滤关键字:

grep "Failed password" /var/log/auth.log

或针对 CentOS/RHEL 系统:

grep "Failed password" /var/log/secure

查看成功的登录尝试

同样,查看成功的记录也很简单:

grep "Accepted password" /var/log/auth.log

或者针对 SSH 的密钥登录:

grep "Accepted publickey" /var/log/auth.log

结合使用 lastblast 命令

除了直接查看文本日志,Linux 还提供了专门的二进制工具:

  • lastb:专门列出失败的登录记录。
  • last:专门列出成功的登录记录。

实战案例分析

假设我们需要审计系统用户 root 的登录情况,我们可以组合使用命令:

# 2. 查看 root 登录前的失败次数
grep "root" /var/log/auth.log | grep "Failed password"

如果输出显示在某个时间点(10:00)有一个 Accepted password,但在同一时间前后有大量的 Failed password

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码