如何设置rsyslog
以记录在 ssh 会话中输入的命令?
以防万一有人未经授权访问系统,我想知道他做了什么。
答案1
在我看来,您想要审计用户登录服务器后所做的操作。这实际上更像是用户正在运行的 shell 的功能(如 bash)。
查看https://askubuntu.com/questions/93566/how-to-log-all-bash-commands-by-all-users-on-a-server
您可能可以对任何远程登录的用户采取相同的措施。
答案2
目前,没有太多可用的选项可以实现此目的。
我的一些同事劳伦斯伯克利国家实验室(LBNL)发布了一系列 OpenSSH 补丁,作为其审计-sshd项目。代码是开放的,可在“BSD Simplified”许可证下使用。auditing-sshd
记录用户输入的所有击键,以及有关 SSH 事务的大量其他元信息。数据使用 syslog/stunnel 发送到中央 IDS。一些基于 shell 的审计工具可以从命令行绕过。由于代码嵌入到 OpenSSH 中,攻击者在使用 SSH 时无法绕过该工具。
请参阅 LISA 2011 论文和幻灯片。这些补丁的目的是允许在学术和开放研究环境中审核用户会话,在这些环境中,审核是必需的作为网站安全政策的一部分,隐私政策也为用户所熟知。
也就是说,二进制软件包并不容易获得,该软件是为那些可以将补丁应用到 OpenSSH 源中并构建自己的软件包的管理员而设计的。
笔记:我参与了这个项目。我在 LBNL 工作,我认识作者并且经常使用这个软件。