在 audisp 插件中添加审计规则时权限被拒绝

在 audisp 插件中添加审计规则时权限被拒绝

我正在尝试在 Linux CentOS 7 VM 上编写 audisp 插件。我不想通过 /etc/audit/rules.d/ 静态设置审计规则,而是想使用 libaudit 接口(基于某些系统设置)在插件中动态添加规则。

我的代码看起来有点像下面这样:

int fd_audit = audit_open(); // this is successful if (audit_is_enabled(fd_audit) <= 0) audit_set_enabled(fd_audit, 1); // "Permission denied" error given } else { // set some rules }

我面临的问题是 audit_set_enabled() 函数,因为当 SELinux 强制执行时,权限被拒绝。当 SELinux 允许时,audit_set_enabled() 返回成功状态,但添加审计规则仍然失败。

我尝试查找 avc 拒绝消息但似乎找不到任何消息。

欢迎任何帮助或建议。

答案1

通过禁用“不审核”规则来解决上述问题 sudo semodule -DB

然后我就能获取 AVC 日志并用 修复 sepolicy 规则audit2allow。看来我缺少netlink_audit_socket { read write }访问权限。

相关内容