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]