找回密码
 立即注册
查看: 44|回复: 0

Linux 中用于查看系统失败登录尝试记录的命令:lastb

[复制链接]

58

主题

161

回帖

1324

积分

超级版主

积分
1324
发表于 6 天前 | 显示全部楼层 |阅读模式
本帖最后由 非凡云 于 2025-5-26 17:52 编辑

lastb 是 Linux 中用于查看系统失败登录尝试记录的命令,它从 /var/log/btmp 文件中读取数据。这些记录有助于识别潜在的安全威胁(如暴力破解攻击)。以下是详细说明:

命令语法
lastb [选项] [用户名或终端]...

常用选项
选项
说明
-n <行数>显示指定行数的记录(如 -n 5)
-f <文件>指定自定义的日志文件(默认读取 /var/log/btmp)
-i显示 IP 地址而非主机名(适用于无 DNS 解析的情况)
-a将主机名/IP 显示在行末(便于阅读)
-t <时间>显示指定时间之前的记录(格式:YYYYMMDDHHMMSS)
-R隐藏主机名或 IP 列
-d尝试将 IP 地址解析为主机名(可能需要网络连接)
-F显示完整的登录和登出时间(精确到秒)

输出字段含义
运行 lastb 命令后,在终端界面上输出类似于以下内容:
root     ssh:notty    192.168.1.100   Fri Mar 28 15:30 - 15:30  (00:00)  
admin    ssh:notty    192.168.1.101   Fri Mar 28 14:20 - 14:20  (00:00)  
root     ssh:notty    192.168.1.100   Fri Mar 28 13:10 - 13:10  (00:00)  
reboot   system boot  0.0.0.0         Fri Mar 28 12:00 - 12:00  (00:00)  

  • 用户名:尝试登录的用户名(可能为无效用户)。
  • 终端:登录方式(如 ssh:notty 表示 SSH 连接,tty1 表示物理终端)。
  • IP 地址/主机名:发起登录尝试的源地址。
  • 时间范围:登录尝试的时间段(若未成功,持续时间显示为 still logged in 或 - crashed)。
  • 持续时间:通常为失败状态,不显示具体时长。


使用示例查看最近的失败登录记录
sudo lastb -n 10  # 显示最近的10条记录

过滤特定用户的失败尝试
sudo lastb root  # 仅显示针对 root 的登录失败记录

显示 IP 地址并限制时间范围
sudo lastb -i -t 20231010120000  # 显示 2023年10月10日12:00:00 之前的记录

解析 IP 地址为主机名
sudo lastb -d  # 可能因网络查询而较慢

检查其他日志文件
sudo lastb -f /var/log/btmp.1  # 查看归档的旧日志

注意事项
  • 权限要求
    /var/log/btmp 默认仅 root 可读,普通用户需使用 sudo。
  • 日志文件不存在
    若系统未生成 btmp,需配置日志服务(如 rsyslog)启用记录:

sudo touch /var/log/btmp && sudo chmod 600 /var/log/btmp

安全实践
  • 定期检查 lastb 输出,监控异常 IP 或高频失败尝试。
  • 结合工具如 fail2ban 自动封禁恶意 IP。
  • 示例分析攻击:

sudo lastb | awk '{print $3}' | sort | uniq -c | sort -nr  # 统计失败次数最多的IP

通过 lastb,管理员可以快速识别潜在入侵行为并采取防御措施。

非凡云致力于提供高品质、高性价比的云服务产品
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|非凡云交流社区 ( 蜀ICP备2023029164号-2 )

Powered by Discuz! X3.5

快速回复 返回顶部 返回列表