审计守护程序似乎无法在我的Ubuntu 14 VM上捕获来自sshd的接受事件。我为接受系统调用设置了审核规则。然后我运行auditd并注意到我没有获得接受调用的事件。但是,如果我然后重新启动sshd,那么当我尝试ssh到框中时,我将开始在auditd中获取事件。
使问题变得复杂的是,我已经尝试了几个不同的内核,并且两者都看到了相同的行为。我也尝试过几个不同版本的auditd。我也在Ubuntu 16上尝试过,但是在auditd中没有发生这种行为。我将把所有细节都放在下面。
我发现a thread on the mailing list有类似的问题,但这个解决方案似乎不是答案。任何帮助,建议或见解表示赞赏。感谢。
我在VirtualBox 5.1.10中运行了所有虚拟机并使用了64位计算机。对于Ubuntu 14,我在3.13.0-96和4.4.0-47内核上测试了auditd。在Ubuntu 16上,我在4.4.0-38进行了测试。在Ubuntu 14内核上的这种传播似乎排除了对kauditd的问题的改变。
我使用了auditd 2.4.5和2.3.2。在Ubuntu 14上,我使用apt安装了2.3.2并从源代码构建了2.4.5。在Ubuntu 16上,我使用apt安装了2.4.5并从源代码构建了2.3.2。在Ubuntu 14上,他们都没有收到sshd接受调用的通知,直到重新启动sshd代理,而在Ubuntu 16上他们都收到了通知而没有重启。
以下是复制问题的过程:
sudo auditctl -l
应该显示没有任何规则sudo auditctl -a exit,always -F arch=b64 -S accept
sudo auditctl -l
现在应该显示接受规则sudo auditd -f
您应该在Ubuntu 16上看到accept(syscall=43
)事件,而不是Ubuntu 14.要在Ubuntu 14上查看审计中的事件,请重新启动ssh守护程序:
sudo /etc/init.d/ssh restart