我们的策略是为客户提供与CYA目的相关的所有SSH会话活动.使用PuTTY在
windows下这是微不足道的,因为我们可以使用PuTTY的内置
logging facility将每个会话记录到一个文件中.但是当从Linux工作站工作时,它并不那么简单.
请注意,服务器端日志记录虽然因其他原因很重要,但并不是我们在此处所做的事情的一部分.这些会话日志仅供我们自己参考.
到目前为止,我们已经查看了以下选项:
>使用script记录所有终端活动在.bash_profile中触发或作为登录shell的包装触发(远非理想情况)
>使用启动每会话日志的包装器替换/usr/bin/ssh(更好,但可能有副作用)
>强制所有员工使用PuTTY for Linux而不是命令行使用ssh(也非常不理想)
记录需要完全自动化,理想情况下我们希望能够将不同的会话分离为单个文件.
有关:
解决方法
如果您使用的是Linux或FreeBSD,请查看
sudosh2:
sudosh is an auditing shell filter and can be used as a login shell.
Sudosh records all keystrokes and output and can play back the session
as just like a VCR. Sudosh2 is a continuation of the development of
sudosh.
这将存储所有TTY输入和输出的日志(所有击键,包括退格和其他控制字符).输出可以存储在本地计算机上,也可以使用syslog发送到另一台服务器.
您没有说明您的工程师是从中央服务器进行SSH连接,还是从他们自己的工作站连接. sudosh2非常适合中央服务器,但可能更难在几十个工作站上实现.
其他一些人使用过rootsh,但我不熟悉rootsh.