我想知道在 Linux 环境中跟踪超级用户活动的最佳方法是什么。
具体来说,我正在寻找这些功能:
- A) 将击键记录到安全的系统日志服务器
- B) 能够重放 shell 会话(类似于 scriptreplay)
- C)理想情况下,如果没有对服务器的物理访问,这应该是不可能(或相当困难)规避的。
从安全/审计的角度考虑这一点,在需要允许不同系统管理员(甚至第三方)在服务器上执行特权操作的环境中。
每个管理员都有他自己的名义帐户,并且每个交互会话都应该被完全记录,并且在必要时可以重播它(例如,如果有人使用 mc 删除或更改关键文件,这将不足以知道那个人发出了 mc 命令;必须有一种方法可以准确地查看启动 mc 后所做的事情)。
附加说明:
- 正如 womble 所指出的,最好的选择可能是不让人们以 root 权限登录以在服务器上执行更改,而是通过配置管理系统进行。所以让我们假设我们没有这样的系统,我们需要在同一台服务器上授予不同人的 root 级别访问权限。
- 我对偷偷摸摸地做这件事一点也不感兴趣:每个以 root 权限登录到服务器的人都会完全意识到会话将被记录(就像呼叫中心操作员知道他们的对话是一样的)被记录)
- 没有人会使用通用超级用户帐户(“root”)
- 我知道ttyrpld并且它似乎在做我正在寻找的东西。但在这样做之前,我想知道这是否可以通过使用未修改的内核来解决。我想知道是否有任何特别适用于 Debian(或一般 Linux)的工具,允许在不修补 shell 或内核的情况下对超级用户帐户进行全面审计。