我想使用审核来监视对文件的访问,因此添加了以下规则
-w /home/test.txt -k monitoring-test
我重新加载了规则 ( sudo service auditd restart
) 并修改了文件/home/test.txt
,但是,日志不会使用该键创建任何事件:sudo ausearch -k monitoring-test
仅返回添加规则的事件:
time->Fri May 5 13:32:19 2023 type=CONFIG_CHANGE msg=audit(1682311231.581:1719): auid=1000 ses=3 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 op=add_rule key="monitoring-test" list=4 res=1
奇怪的是,当添加像这样的网络监控规则时
-a 始终,退出 -F arch=b64 -S 接受,连接 -F key=网络外部访问
我确实收到了带有相应密钥的日志消息。
我读了很多帖子,比如本教程或者那个红帽邮报但他们的解决方案都没有解决我的问题。有人知道为什么我没有收到任何编辑文件的日志吗?
内核有以下标志,通过以下方式获得
sudo grep CONFIG_AUDIT /boot/config-
uname -r
CONFIG_AUDIT=y
CONFIG_AUDITSYSCALL=y
CONFIG_AUDIT_ARCH=y
是否存在 CONFIG_AUDIT_WATCH=y 缺失的问题,该问题存在于在这里回答?
作为记录,我的 /etc/audit/audit.rules 是(永久添加上述文件监控规则后):
## This file is automatically generated from /etc/audit/rules.d
-D
-a task,never
-w /home/test.txt -k monitoring-test
并sudo auditctl -l
返回
-a never,task
-w /home/test.txt -p rwxa -k monitoring-test
我的操作系统是Fedora,审核版本是3.1-2。
答案1
来自auditctl
手册页:
默认禁用
在许多系统上,
auditd
默认配置为安装-a never,task
规则。此规则导致每个新进程跳过所有审核规则处理。这样做通常是为了避免系统调用审计带来的少量性能开销。如果要使用auditd
,则需要通过删除10-no-audit.rules
并添加10-base-config.rules
到审核规则目录来删除该规则。如果您定义的审核规则在应有的情况下不匹配,请检查
auditctl -l
以确保其中没有never,task
规则。
这是因为事件在第一个匹配规则上触发。
删除第一条规则-a never,task
。