为什么sshd接受系统调用在不同版本的Linux审计框架中具有不一致的行为?

时间:2016-12-02 20:18:49

标签: linux ubuntu kernel system-calls audit

审计守护程序似乎无法在我的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上他们都收到了通知而没有重启。

以下是复制问题的过程:

  1. 启动虚拟机
  2. 通过apt或from source
  3. 安装auditd
  4. 重新启动VM
  5. sudo auditctl -l应该显示没有任何规则
  6. sudo auditctl -a exit,always -F arch=b64 -S accept
  7. sudo auditctl -l现在应该显示接受规则
  8. sudo auditd -f
  9. 尝试ssh进入虚拟机
  10. 您应该在Ubuntu 16上看到accept(syscall=43)事件,而不是Ubuntu 14.要在Ubuntu 14上查看审计中的事件,请重新启动ssh守护程序:

     sudo /etc/init.d/ssh restart
    

0 个答案:

没有答案