非凡云 发表于 2025-5-26 17:51:43

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

本帖最后由 非凡云 于 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 boot0.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,管理员可以快速识别潜在入侵行为并采取防御措施。

页: [1]
查看完整版本: Linux 中用于查看系统失败登录尝试记录的命令:lastb