Python 用于处理 linux 的 audit.log 的库?

Python library for handling linux's audit.log?

我正在寻找一个 python (3^) 库来简化 audit.log 的处理(在 CentOS6 上位于 /var/log/audit/audit.log)。我正在考虑一个库,它将日志行抓取到 python 并以人为方式启用 querying/filtering。

有一个名为 audit-python 的工具的痕迹,不在 pip 列表中,看起来不太有前途。到目前为止,还没有图书馆处理这种广泛传播的审计日志的希望。

也许有些人会分享他们如何处理 audit.log 的代码?

您可以安装包:setroubleshoot-server

然后查看文件 /bin/sealert,它是一个 python 程序,根据标志用 audit.log 做了很多事情。

因为我没有找到库,也没有人推荐,所以我使用审计包提供的二进制文件想出了这个函数:

def read_audit(before,now,user):
    auparam = " -sc EXECVE"
    cmd = "ausearch -ts " + before.strftime('%H:%M:%S') + " -te " + now.strftime('%H:%M:%S') + " -ua " + user + auparam
    p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE)
    res = p.stdout.read().decode()
    return res

我通过 subprocess 模块调用二进制文件,所以代码的头部需要一个 import subprocess。该函数通过 ausearch 工具获取所提供时间之间的程序执行日志。