如何在 Linux 上监控用户登录
作为系统管理员,定期监视 Linux 系统上的用户登录是否存在可疑活动非常重要。
无论您是拥有服务器和多个用户的 Linux 管理员,还是普通 Linux 用户,积极主动地保护系统总是好的。
主动保护系统安全的方法之一是监视用户登录,尤其是当前登录的用户以及失败的登录或登录尝试。
为什么要监控 Linux 上的登录?
监控 Linux 系统上的登录是一项重要活动,原因如下:
合规性:大多数 IT 安全标准、法规和政府都要求您监控日志以符合最佳行业实践。
安全:监控日志将帮助您提高系统的安全性,因为您可以了解正在访问或尝试访问您的系统的用户。如果您发现不需要的登录活动,这可以让您采取预防措施。
故障排除:找出用户无法登录您的系统的原因。
审核跟踪:登录日志是 IT 安全审核和相关活动的良好信息来源。
您应该在系统上监控四种主要的登录类型:成功登录、失败登录、SSH 登录和 FTP 登录。让我们看看如何在 Linux 上监控其中的每一个。
1. 使用最后一个命令
last 是一个功能强大的命令行实用程序,用于监视系统上以前的登录情况,包括成功和失败的登录。此外,它还显示系统关闭、重新启动和注销。
只需打开终端并运行以下命令即可显示所有登录信息:
last
您可以使用 grep 来过滤特定登录。例如,要列出当前登录的用户,您可以运行以下命令:
last | grep "logged in"
您还可以使用w命令来显示已登录的用户及其正在执行的操作;为此,只需在终端中输入 w 即可。
2.使用lastlog命令
lastlog 实用程序显示所有用户的登录详细信息,包括标准用户、系统用户和服务帐户用户。
sudo lastlog
输出包含所有用户,以简洁的格式显示,显示他们的用户名、他们正在使用的端口、原始 IP 地址以及他们登录的时间戳。
使用命令 man lastlog 查看lastlog 手册页,了解有关其用法和命令选项的更多信息。
3. 在 Linux 上监控 SSH 登录
远程访问 Linux 服务器的最常见方法之一是通过 SSH。如果您的 PC 或服务器连接到互联网,则必须保护您的 SSH 连接(例如,通过禁用基于密码的 SSH 登录)。
监控 SSH 登录可以让您很好地了解是否有人试图暴力破解您的系统。
默认情况下,某些系统上禁用 SSH 日志记录。您可以通过编辑 /etc/ssh/sshd_config 文件来启用它。使用任何您喜欢的文本编辑器并取消注释 LogLevel INFO 行,并将其编辑为 LogLevel VERBOSE。更改后,它应该类似于以下内容:
进行此更改后,您需要重新启动 SSH 服务:
sudo systemctl restart ssh
所有 SSH 登录或活动现在都将记录到 /var/log/auth.log 文件中。该文件包含大量用于监视 Linux 系统上的登录和登录尝试的信息。
您可以使用cat命令或任何其他输出工具来读取auth.log文件的内容:
cat /var/log/auth.log
使用 grep 过滤特定的 SSH 登录。例如,要列出失败的登录尝试,您可以运行以下命令:
sudo grep "Failed" /var/log/auth.log
除了查看失败的登录尝试之外,查看已登录的用户并检测是否有任何可疑用户也是一个好主意;例如,前雇员。
4. 在 Linux 上监控 FTP 登录
FTP 是一种广泛使用的协议,用于在客户端和服务器之间传输文件。您必须在服务器上进行身份验证才能传输文件。
由于该服务涉及传输文件,任何安全漏洞都可能对您的隐私产生严重影响。幸运的是,您可以使用以下命令在 /var/log/syslog 文件中过滤“FTP”,轻松监控 FTP 登录和所有其他相关活动:
grep ftp /var/log/syslog
监控 Linux 上的登录以获得更好的安全性
每个系统管理员都应该积极主动地保护他们的系统。不时监控您的登录是检测可疑活动的最佳方法。
您还可以利用fail2ban等工具自动代表您执行预防措施。