Centos

SELinux:沒有審計錯誤但 nginx 權限錯誤

  • January 1, 2015

我嘗試用​​ nging/munin 隔離 SELinux 問題。我在“/var/log/nging/error.log”中看到該錯誤消息:

$$ crit $$8802#0: *55 connect() to 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;

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

semodule --disable_dontaudit --build

因此,我能夠創建一個有效的 SELinux 模組!

引用自:https://serverfault.com/questions/655732