在centos系统上监控ssh活动可以通过多种途径实现,以下是一些常见的方法:
-
利用last命令:last命令可以展示用户最近的登录记录,包括通过ssh的登录。运行以下命令即可查看所有用户的登录历史:
last
若想查看特定用户的登录记录,可使用:
last username
-
检查auth.log日志文件:SSH相关的认证和连接信息通常记录在/var/log/auth.log文件中。你可以通过tail、less或grep等命令来查看文件内容。例如:
或者搜索特定的SSH相关事件:
sudo grep 'sshd' /var/log/auth.log
-
使用journalctl命令:如果你的系统采用systemd,可以通过journalctl命令查看SSH服务的日志。例如:
sudo journalctl -u sshd
你也可以使用-f选项来实时跟踪日志更新:
sudo journalctl -u sshd -f
-
通过tcpdump进行网络监控:如果希望监控SSH活动的网络层面,可以使用tcpdump工具来捕获和分析网络数据包。例如,以下命令会捕获所有到SSH端口(默认是22)的数据包:
sudo tcpdump -i any port 22
请注意,tcpdump需要root权限才能运行。
-
使用fail2ban监控并阻止恶意SSH尝试:fail2ban是一个用于监控日志文件并根据规则阻止恶意IP地址的工具。它可以用来防止SSH密码的暴力破解。安装并配置fail2ban后,它会自动监控/var/log/auth.log或其他指定的日志文件,并在检测到可疑活动时更新防火墙规则以阻止IP地址。
-
利用auditd进行审计:auditd是Linux的审计系统,可以用来监控系统调用和文件访问。你可以配置auditd来跟踪SSH相关的系统调用和文件变化。这通常用于更高级的安全审计需求。
选择哪种方法取决于你的具体需求和环境。对于大多数基本的监控需求,查看auth.log和使用last命令通常就足够了。如果你需要进行更深入的分析或者防止自动化攻击,可能需要考虑使用fail2ban或tcpdump。