审核和/或监视通过 SSH 连接发送的每个命令?

审核和/或监视通过 SSH 连接发送的每个命令?

我写这篇文章是因为我需要一种方法来监控用户通过 ssh 发送的内容。

我有一个跳转主机,我尝试了以下操作:

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Security_Guide/sec-Configuring_PAM_for_Auditing.html

system-auth 和password-auth 都有相应的:

session     required      pam_tty_audit.so enable=*

但没有成功,所以我尝试添加一些特定的系统调用来监视正在发送的内容,特别是通过auditd使用execve

-a always,exit -F arch=b64 -S execve
-a always,exit -F arch=b32 -S execve
-w /bin/sudo -p x
-w /bin/ssh -p x
-w /bin/scp -p x
-w /bin/vi -p x
-a always,exit -F arch=b64 -S open`

我查看了 git 中的 openssh 代码存储库,并在提交说明中注意到了这一点:

auth-pam.c  Remove do_pam_set_tty which is dead code.   
auth-pam.h  Remove do_pam_set_tty which is dead code. 

所以我想知道这是否是一个贬值的功能。

无论如何,除了用户可以相当容易地规避的“shell hacks”之外......

有没有可行的方法可以让我看到正在发送到远程主机的内容?看来我发现的关于该主题的大多数线程似乎都集中在记录谁登录了什么、何时登录。我想查看用户从我的跳转主机发送到远程 tty/pts 的内容,该跳转主机促进了 ssh 连接。

感谢您的任何和所有建议。

相关内容