![上次 ssh 登录的操作日志](https://linux22.com/image/756441/%E4%B8%8A%E6%AC%A1%20ssh%20%E7%99%BB%E5%BD%95%E7%9A%84%E6%93%8D%E4%BD%9C%E6%97%A5%E5%BF%97.png)
假设我授予系统管理员临时 ssh(root/sudo)访问我的服务器(Ubuntu 18.04)的权限以协助解决问题,我该如何检查此人之后做了哪些更改?
我想要知道的一些事情包括知道哪些文件被编辑了,哪些文件被创建了,哪些文件被打开了,等等。
他们是否有一个可以检查此类事情的行动日志?
答案1
如上所述,当某人拥有您系统的 root 访问权限时,信任就存在。我假设此人至少不是怀有敌意的。
我会做的是:
- 确保你对系统进行了完整备份。这通常是一个好主意。
- 运行文件完整性监视工具,例如
aide
,并能告诉你哪些文件被修改了。这将包括日志文件、shell 历史文件以及该人所做的任何其他更改(除了可以隐藏的恶意 rootkit 类型的更改)。你可能应该从系统中复制助手数据库,只是出于偏执。 - 让这个人做这项工作。
- 重新运行助手并查看已更改文件的列表。您可以将当前版本与备份进行比较,以查看此人做了哪些更改。
aide
是最流行的开源文件完整性监控器。教程(例如这个)和很多信息有关如何使用它的信息可用。它有一个 Ubuntu 软件包。还有商业解决方案。
答案2
您可以检查 shell 的历史记录,但 shell 历史记录很容易被破坏。默认情况下,即使只是在命令前面加上空格,也会阻止它被添加到历史记录中。
更进一步,研究如何实现并使用pam_tty_audit
审计日志并将其发送到远程主机进行审查。执行类似审计的商业工具包括:cmd.com。