如何解决 SELinux 不允许合法程序访问我的系统的问题?

如何解决 SELinux 不允许合法程序访问我的系统的问题?

我有一个系统,其中一些程序在履行其职责时在 SELinux 中被拒绝访问。这些程序是 ClamAV、fail2ban 和 Logwatch。

我想我已经按照 SELinux 故障排除程序中的指示成功允许了 ClamAV (Clamscan) 的所有访问。我在故障排除程序中也允许了fail2ban和Logwatch,但我怀疑它们仍然被拒绝某些访问。

以下是允许程序的命令:

grep fail2ban-client /var/log/audit/audit.log | audit2allow -M mypol

semodule -i mypol.pp

问题:

我如何找出 SELinux 拒绝这些程序的访问权限、它们在系统上所需的访问权限以及如何解决此问题?

这是: ausearch-m avc

答案1

有时,selinux 会拒绝对资源的访问而不进行日志记录。检查“不审核”规则是否启用。使用“semodule -B”或“-DB”启用或临时禁用它。

答案2

SELinux 日志的位置就在那里:日志记录完成于

/var/log/audit/audit.log

tailf 该文件并使用 grep 管道来搜索你要查找的内容

使用文本编辑器打开 /etc/selinux/targeted/booleans 文件:

vi /etc/selinux/targeted/booleans

例如为了控制Apache

修改 httpd_disable_trans 的值,如下所示:httpd_disable_trans=1

保存并关闭文件。键入以下两个命令:

# setsebool httpd_disable_trans 1
# /etc/init.d/httpd restart

如果你想在 X 上执行此操作

打开 shell 提示符

输入命令

system-config-securitylevel &

选择 SELinux 选项卡 > 单击“禁用 httpd 守护程序的 SELinux 保护”复选框 > 保存更改

# /etc/init.d/httpd r

重新启动 selinux 以进行更改

相关内容