我如何设置rsyslog来logging在ssh会话中键入的命令?
以防有人擅自访问系统,我想知道他做了什么。
对我来说,听起来像是你想要在用户login到服务器之后审核用户的行为。 这实际上是用户运行的shell的函数(比如bash)。
看看https://askubuntu.com/questions/93566/how-to-log-all-bash-commands-by-all-users-on-a-server
对于任何远程login的用户,您可能都会使用同样的方法。
目前没有很多现成的方法可以做到这一点。
劳伦斯伯克利国家实验室(LBNL)的一些同事已经发布了一系列OpenSSH补丁,作为他们审计项目的一部分。 该代码是“BSD简体”许可下的开放代码。 auditing-sshdlogging用户键入的所有击键,以及大量关于SSH事务的其他元信息。 数据使用syslog / stunnel发送到中央IDS。 一些基于shell的审计工具可以绕过命令行。 由于代码embedded到OpenSSH中,因此攻击者在使用SSH时无法绕过此工具。
参见LISA 2011论文和幻灯片。 这些补丁的目的是允许在需要作为站点安全策略的一部分进行审计的学术和开放式研究环境中对用户会话进行审计,并且用户很好地理解隐私策略。
也就是说,二进制包不是现成可用的,软件是供pipe理员使用的,他们可以将这些补丁应用到OpenSSH源代码中,并构build自己的包。
注: 我是这个项目的附属。 我在LBNL工作,我亲自认识这些作者,并定期使用这个软件。