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

Posted

技术标签:

【中文标题】用于处理 linux 的 audit.log 的 Python 库?【英文标题】:Python library for handling linux's audit.log? 【发布时间】:2016-12-19 09:32:51 【问题描述】:

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

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

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

【问题讨论】:

【参考方案1】:

可以安装包:setroubleshoot-server

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

【讨论】:

感谢您的建议。我已经安装了该实用程序,但安装它需要大约 10 个依赖项,如果我应该依赖调用二进制文件,我会找到带有审计的工具 ausearch 以更好地满足我的需求。【参考方案2】:

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

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 工具在提供的时间之间获取程序执行日志。

【讨论】:

以上是关于用于处理 linux 的 audit.log 的 Python 库?的主要内容,如果未能解决你的问题,请参考以下文章

Linux的audit.log日志审计怎么断定被黑客入侵了

Linux的audit.log日志审计怎么断定被黑客入侵了

linux audit审计--audit的日志切分,以及与rsyslog的切分协同使用

SELinux系列(十五)—auditd日志使用方法详解

Audit log report

没有创建 Jboss Audit.log 文件