SSH 会话记录

tyl*_*erl 6 linux ssh logging

我们有一项政策,即出于 CYA 目的与我们的客户记录所有 SSH 会话活动。使用 Windows 下的 PuTTY,这是微不足道的,因为我们可以使用 PuTTY 的内置日志记录工具将每个会话记录到一个文件中。但是当在 Linux 工作站上工作时,就没有那么简单了。

请注意,服务器端日志虽然由于其他原因很重要,但并不是我们在这里所做的工作的一部分。这些会话日志仅供我们自己参考。

到目前为止,我们已经研究了以下选项:

  • 使用在 .bash_profile 中触发的脚本或作为登录 shell 的包装器记录所有终端活动(远非理想)
  • 用启动每个会话日志的包装器替换 /usr/bin/ssh(更好,但可能有副作用)
  • 强制所有员工从命令行使用 PuTTY for Linux 而不是 ssh(也非常不理想)

日志记录需要完全自动化,理想情况下我们希望能够将不同的会话分离到单独的文件中。

有关的:

Ste*_*ski 5

如果您使用的是 Linux 或 FreeBSD,请查看sudosh2

sudosh 是一个审计外壳过滤器,可以用作登录外壳。Sudosh 记录所有击键和输出,并且可以像 VCR 一样回放会话。Sudosh2 是 sudosh 发展的延续。

这将存储所有 TTY 输入和输出(所有击键,包括退格和其他控制字符)的日志。输出可以存储在本地机器上,也可以使用 syslog 发送到另一台服务器。

您没有说明您的工程师是从中央服务器通过 SSH 连接,还是从他们自己的工作站连接。sudosh2 是中央服务器的理想选择,但可能更难在数十个工作站上实施。

其他一些人使用过rootsh,但我对 rootsh 不熟悉。