用于处理 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 库?的主要内容,如果未能解决你的问题,请参考以下文章