SELinux:没有审计错误,但有 nginx 权限错误

SELinux:没有审计错误,但有 nginx 权限错误

我尝试使用 nging/munin 隔离 SELinux 问题。我在“/var/log/nging/error.log”中看到该错误消息:

[crit] 8802#0:*55 connect() 到 unix:/var/run/munin/fcgi-html.sock 失败(13:权限被拒绝)连接到上游,客户端:1.2.3.5,服务器:,请求:“GET /munin/HTTP/1.1”,上游:“fastcgi://unix:/var/run/munin/fcgi-html.sock:”,主机:“1.2.3.4”

然后我尝试 audit2allow 来修复 selinux 权限:

# cat /var/log/audit/audit.log | audit2allow -M nginx-munin-socket
# semodule -i nginx-munin-socket

audit.log 消息消失了,但 nginx 套接字错误始终存在。当我使用“setenforce 0”时,没有 nginx 套接字错误消息。所以我相信我的问题肯定是 selinux。但我现在不知道如何隔离问题!?

nginx-munin-socket.te

module nginx-munin-socket 1.0;

require {
        type httpd_t;
        type init_t;
        type munin_var_run_t;
        class sock_file write;
        class unix_stream_socket connectto;
}

#============= httpd_t ==============
allow httpd_t init_t:unix_stream_socket connectto;
allow httpd_t munin_var_run_t:sock_file write;

答案1

我找到了解决方案->我了解到我需要禁用“dontaudit”才能查看所有audit.log条目...

semodule --disable_dontaudit --build

因此,我能够创建一个可以工作的 SELinux 模块!

相关内容