简单快速的问题:如何使用 auditd 记录系统重启?我尝试使用重启系统调用,但没有成功。我可以想象,在实际系统调用之前,审计守护进程就已经停止了。
然后我在 /sbin/reboot 上设置了一个钩子。但这是 /bin/systemctl 的符号链接。即使监控每个系统调用,当我重新启动系统时,auditd 也不会记录任何内容……
我如何使用 auditd 实际监控重启?
编辑:我注意到一件事:我将审计配置为直接发送到系统日志,这样可以节省。到文件。/var/log/audit/audit.log 中提到了重新启动,但 syslog 文件中没有。这是怎么发生的?谢谢。
答案1
在 Linux 中,您必须auditd
运行守护进程。我相信它通常是默认的。
# this will work for both the older sysinit linux as well as newer systemd linux
service auditd [start | stop | status]
我相信,默认audit.conf
文件audit.rules
将提供足够的信息,/var/log/audit/audit.log
以便人们可以轻松识别重新启动。因此,您不必手动添加任何特殊审计规则。
原始 Linux 审计日志...是原始的...不易被人类阅读。日期采用纪元格式。但是如果你这样做
service auditd stop
rm /var/log/audit/audit.log
service auditd start
reboot
login in
immediately edit audit.log to see what happened before it fills up making it harder to see
该 audit.log 的开头将准确显示重新启动时记录的内容以及启动时发生的情况。您应该能够轻松识别它,它将全部位于新 audit.log 文件的顶部。它可能会超过 50 行,我知道它使用的是 rhel 7。我不确定您是否可以通过 audit.log 中的一行识别重新启动。
我不确定原始审计日志语法是否因 Linux 发行版而异,它可能因不同的审计版本而异。这就是为什么最好专门查看您的系统以了解它是什么。
为了处理审计日志中的该纪元日期: