首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SUpraudit:一款MacOS上的日志审计工具

背景

你可能对BSM审计有所了解,也可能完全没有听说过。这是Solaris OS遗留下来的产物,它存在于FreeBSD,Linux,当然还包括MacOS上。在我的*OS Internals::Security & Insecurity的第二章中有审计的详细介绍。虽然它没有MAC框架那样强大(并且无法进行推理,只能对操作做出反应),但也不像其他框架将简单的现场监控与纯用户模式的优点相结合。内核仍然非常复杂,但是你不能也不应该修改它的默认审计逻辑。

值得注意的是,praudit(1),它用于打印来自/var/audit和/dev/auditpipe中的文件的审计记录,这是一个非常可怕的工具,即使在与-l(单行输出)一起使用时,它也不是grep(1)友好的工具。

SUpraudit

经过25年左右的时间,现在是时候进行改造了。我已经将praudit paltry ~220行的汇编回源(assembly back to source),然后我决定重建它:

使用模式与praudit几乎相同 - 即supraudit可以用作审计文件的pipe (|)的接收端,或者运行在通常是/dev/auditpipe上,因为它提供了实时审计firehose。supraudit的新开关都是大写的,以避免与之前的开关产生冲突。这些开关允许各种输出格式或过滤器(如下“使用示例”中所述)。

与praudit(1)不同的是,我的工具 - 在/dev/auditpipe上运行时 - 通过ioctl(2)代码配置管道,允许它在不影响本地审计策略的情况下设置自定义过滤器(或根本没有)。简而言之,你不需要再配置任何东西 - 只需在管道上直接运行supraudit并查看每个BSD级别的操作即可!(请注意,由于内核不支持该Mach级别操作,因此无法对其进行审计)。

使用示例

最直接和有用的功能是-S,它使用我自己的记录格式,而不是Apple的默认格式。格式非常像Linux的strace(和我自己的jtrace),并且非常友好。你可以使用-C或JCOLOR=1来切换颜色:

你可以使用grep和cut -d’|’进行过滤。

.一些有用的grep过滤是’INET’(所有网络连接),’INET4’(IPv4)和’INET6’。

作为grep的快速替代方案,你可以使用 -F files, net或proc作为内置过滤器。这是推荐的,因为之后你可以随时应用grep(1)。此外,这样做会自动将未经过滤的审计日志保存到/tmp,以便你可以随时查看完整的图片。

syslog/os_log集成

将-L与-S一起使用将记录到本地syslog/os_log:

远程日志主机(loghost)

审计机制最明显的遗漏之一是,与syslogd不同,它没有对中央服务器进行远程日志记录 - 如果你想确保日志的完整性,那么这是非常必要的,如果你拥有超过5台机器(如在企业中),则至关重要。那么,这已被修复。将supraudit与-R一起使用将会转发给中央服务器,但这需要……

Supraudit-PRO

Supraudit的“专业版”具有更多功能(PRO版目前正处于开发阶段),其中包括:

触发器:使用配置文件,可以用基本变量替换来执行超审计命令(例如:’on file access “/secret/*” kill subject’)。这对于安全敏感的防御是不适用的,因为审计机制是被动的。但是建立一个基本的主机入侵机制会很有用。

插件:SUpraudit为希望编写自己插件的开发人员提供了一个简单但功能强大的API。这可以用来与littlesnitch/bigbrother/twinsister/whatever结合使用。

GUI(即将推出):当你合并多个审计日志时,数据会复杂的让你眼花缭乱。SUpraudit pro有一个GUI,你可以使用它来过滤,排序,分析甚至构建timeline视图,以记录你的完成进度。

相关授权

*参考来源:newosxbook,FB小编 secist 编译,转载请注明来自FreeBuf.COM

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180602B16GGK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券