我使用的是启用了 SELinux 的 RHEL 计算机。
我想将日志文件位置更改auditd
为/mydir/log/audit.log
.我可以将安全上下文system_u:object_r:auditd_log_t:s0
应用于该文件。但是,目录/mydir/log
和父目录的安全上下文应该是什么/mydir
,因为它们将被其他守护进程读/写?
或者我应该以最简单的方式去做
semanage permissive -a auditd_t
反而?
答案1
您没有指定已禁用日志轮换,因此我们仍然需要允许auditd创建多个文件。
更一般地说,您应该保留将审核日志放在专用目录中的当前结构audit
,除非您非常有信心为什么不需要这样做。除非您的版本不使用该结构,因为它很旧?但至少RHEL 6/var/log/audit/
默认使用。
如果您不允许任何重命名或更改任何祖先目录的权限,则对auditd_log_t
日志audit.log
目录的限制就足够了audit
。
上面的内容似乎很容易实现。那么“足够的限制”意味着您可以考虑解决决策的安全部分。只要测试一下,看看它是否有效,然后你就会知道它不是也限制性的。从您提供的信息来看,我没有注意到这里有任何困难。
答案2
你大部分时间都在那里,正在使用semanage
命令。由于您已经知道 /var/log/audit 上有正确的上下文,因此最简单的事情就是设置本地 selinux 文件上下文等效项。所以你会运行这样的东西:
semanage fcontext -a -e /var/log/audit /mydir/log
这告诉 SELinux 添加 (-a) 文件上下文规则,该规则表示 /mydir/log 将具有与 /var/log/audit 相同的所有 (-e) 文件上下文。设置规则后,您需要运行restorecon -r -v /mydir/log
将 /mydir/log 上的 selinux 属性设置为新策略所需的内容。