发送auditdlogging到我的audispd插件

在设置了auditctl的规则之后,我想把这些匹配的logging发送到我的Python脚本中作进一步的分析。

这些是涉及的文件:

但是,我的Python脚本无法从auditd获取任何logging。

我不知道哪里错了,请帮我一把!

看来audispd正在将审计事件写入其插件stdin中。

(链接到下面的源代码是相对的从https://github.com/packetstash/auditd/tree/ba912fa614a7e73160a4eba338e55890d6e8f62f这是我在服务器故障的第一篇文章,我不能包括两个以上的链接)。

尤其是:

  • 它在audisp/audispd.c#L484创build一对套接字;
  • 然后分叉,将孩子的stdin设置到套接字对的一端: audisp/audispd.c#L500 ;
  • 并将事件写入另一端: audisp/audispd.c#L533

你的脚本将inheritanceaudispd开放文件描述符,包括stdout(fd#1),这个文件将被重新打开到/dev/null 。 因此,在脚本中print可能没有效果,你将不得不写入一些文件。

尝试像这样:

 import sys with open('/tmp/my_audit.log', 'w') as log_file: for event_message in sys.stdin: log_file.write('%s\n' % event_message) 

您可能还想使用bindings/python/auparse_python.c模块来parsing事件消息。