![linux 审计-排除更新时间的进程](https://linux22.com/image/586223/linux%20%E5%AE%A1%E8%AE%A1-%E6%8E%92%E9%99%A4%E6%9B%B4%E6%96%B0%E6%97%B6%E9%97%B4%E7%9A%84%E8%BF%9B%E7%A8%8B.png)
我已将审计规则设置为在系统时间更改时记录
但是我们的服务器是虚拟机,存在时间偏移的问题。为了解决这个问题,我们使用了 VMware 工具来定期同步时间。
我现在的问题是,我的审计日志充斥着如下时间变化条目:
Jun 1 15:08:39 ***** audispd: node=****** type=SYSCALL
msg=audit(1338559719.053:344291):
arch=c000003e syscall=159 success=yes exit=5 a0=7ffff2084050 a1=0 a2=144b
a3=485449575f4c4c55 items=0 ppid=1 pid=1348 auid=4294967295 uid=0 gid=0
euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295
comm="vmtoolsd" exe="/usr/lib/vmware-tools/bin64/appLoader" key="time_change"
我如何才能将此 vware 工具从审核中排除,但仍能捕获用户更改时间的行为?
以下是我当前用于捕获时间变化的审计规则:
-a always,exit -F arch=b32 -S adjtimex -S settimeofday -k time_change
-a always,exit -F arch=b32 -S clock_settime -k time_change
答案1
如果我理解正确的话,您正在监视内核时间更改事件。我看不出有什么直接的方法可以阻止单个工具出现在日志中,但我有两种可能的解决方法:
- 在查看审计日志之前,只需过滤日志即可。Perl 或 awk 是你的好朋友,或者
- 使用自定义脚本(例如在 /etc/cron.d/ 中)关闭时间审核,更新时间,然后再次打开时间审核。
除非您的日志对于您使用的存储设备来说太大,否则我更喜欢选项 1,因为它会保留完整的审计日志,而您在查看审计日志时只需删除您不感兴趣的部分。这些自动时间更改是现实的一部分,在有趣的审计事件发生时出现严重时间漂移的情况下,可能需要解释审计日志中的时间戳(希望您的时间调整软件记录调整后的时间量,以便您以后可以手动重新同步日志中的时间,如果需要)。