当前位置:首页 > Debian > 正文

Debian lastb命令详解(如何查看失败登录尝试以增强系统安全)

在使用 Debian 或其他基于 Linux 的服务器时,了解谁曾试图非法访问你的系统至关重要。为了帮助系统管理员监控潜在的安全威胁,Linux 提供了一个非常实用的命令:lastb。本文将手把手教你如何使用 Debian lastb命令 来查看失败的登录尝试,并解释其输出含义,即使是 Linux 新手也能轻松掌握。

Debian lastb命令详解(如何查看失败登录尝试以增强系统安全) lastb命令 查看失败登录尝试 Linux安全日志 SSH暴力破解检测 第1张

什么是 lastb 命令?

lastb 是 Linux 系统中用于显示失败登录尝试记录的命令。它读取的是 /var/log/btmp 文件(binary tmp),该文件专门记录所有不成功的登录行为,包括 SSH、控制台、FTP 等方式的失败尝试。

使用前提:权限要求

由于 /var/log/btmp 文件包含敏感信息,普通用户无法直接读取。因此,运行 lastb 命令通常需要 root 权限 或使用 sudo

基本用法

打开终端,输入以下命令:

sudo lastb

执行后,你会看到类似如下的输出:

root     ssh:notty    192.168.1.100   Mon Jun 10 14:23 - 14:23  (00:00)admin    pts/0        203.0.113.45    Mon Jun 10 13:55 - 13:55  (00:00)guest    tty1         ::1             Mon Jun 10 12:10 - 12:10  (00:00)

输出字段说明:

  • 用户名:尝试登录的账户名(可能是猜测的,如 root、admin)。
  • 终端/服务:登录方式,如 ssh:notty 表示通过 SSH 登录但未分配终端;pts/0 表示伪终端;tty1 表示本地控制台。
  • IP 地址或主机名:发起登录请求的来源地址。若为 ::1,表示来自本机 IPv6 回环地址。
  • 时间信息:失败尝试发生的时间。

常用选项

你可以通过添加参数来过滤或限制输出结果:

  • -n 数字:只显示最近 N 条记录。
    sudo lastb -n 10
  • -i:以 IP 地址形式显示(而非主机名),避免 DNS 反向解析延迟。
    sudo lastb -i

安全建议:识别 SSH 暴力破解

如果你发现大量来自同一 IP 的失败登录(尤其是针对 root 用户),这很可能是 SSH 暴力破解攻击。此时应考虑:

  • 使用防火墙(如 ufwiptables)封禁可疑 IP。
  • 禁用 root 远程登录(修改 /etc/ssh/sshd_config 中的 PermitRootLogin no)。
  • 启用密钥认证,禁用密码登录。
  • 安装 Fail2ban 自动封禁频繁失败的 IP。

注意事项

  • /var/log/btmp 文件不会自动轮转(logrotate),长期运行可能导致文件过大。建议定期清理或配置 logrotate。
  • 如果 lastb 报错 “No such file or directory”,说明系统未启用 btmp 日志记录,需检查 PAM 配置。

总结

通过 Debian lastb命令,你可以快速查看所有失败的登录尝试,这是 Linux 安全审计的基础步骤之一。结合 查看失败登录尝试、分析日志和采取防护措施,能有效提升服务器安全性,防范 SSH暴力破解检测 等常见攻击。建议定期运行此命令,养成良好的安全运维习惯。

掌握这些技巧后,你已经迈出了 Linux 系统安全防护的重要一步!