SELinux: negado {execute} para pid = 2174 comm = “httpd” caminho = “/ etc / httpd / lib / libaprutil-1.so.0.5.3”

2

Eu tenho problema com o SELinux. setroubleshoot sugeriu ativar mypol.pp com semodule -i mypol.pp para que o apache pudesse ser executado.

depois de executar o comando sugerido, continuo recebendo:

type=AVC msg=audit(1388119964.806:11): avc:  denied  { execute } for  pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

**** Invalid AVC allowed in current policy ***

type=AVC msg=audit(1388120085.792:29): avc:  denied  { execute } for  pid=2298 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

**** Invalid AVC allowed in current policy ***

type=AVC msg=audit(1388120159.57:37): avc:  denied  { execute } for  pid=2330 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

**** Invalid AVC allowed in current policy ***

type=AVC msg=audit(1388121088.955:65): avc:  denied  { name_connect } for  pid=2331 comm="httpd" dest=8080 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket

**** Invalid AVC allowed in current policy ***

found 0 alerts in /var/log/audit/audit.log
    
por Orlo 27.12.2013 / 16:31

2 respostas

4

O abaixo indica para mim que você tem um problema de nova denominação.

type=AVC msg=audit(1388119964.806:11): avc: denied { execute } for pid=2174 comm="httpd" path="/etc/httpd/lib/libaprutil-1.so.0.5.3" dev=md0 ino=2228931 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:httpd_config_t:s0 tclass=file

O /etc/httpd/lib é um link simbólico para algum outro lugar? Normalmente você não colocaria suas bibliotecas aqui, mas apenas como um link simbólico. Se assim for, executar restorecon -Rv /usr/lib{,64} pode ser benéfico aqui.

Para que o segundo problema relatado abaixo funcione, você precisa garantir que o SELinux esteja ciente do tipo de comportamento que você espera do seu serviço httpd.

type=AVC msg=audit(1388121088.955:65): avc: denied { name_connect } for pid=2331 comm="httpd" dest=8080 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket

Ativar o booleano httpd_can_network_relay executando setsebool -P httpd_can_network_relay 1 .

    
por 27.12.2013 / 18:15
1

Eu não sei sobre o **** Invalid AVC allowed in current policy *** mensagem, mas temos um Perguntas e respostas sobre isso aqui

A execução do texto fornecido por você audit2allow sugere

#============= httpd_t ==============

allow httpd_t http_cache_port_t:tcp_socket name_connect;
allow httpd_t httpd_config_t:file execute;

para que você possa tentar usar o grep para extrair as mensagens relevantes do AVC negadas para um arquivo temporário e passá-las para audit2allow

grep denied: audit.log | grep httpd >temp.log

cat temp.log | audit2allow -M myHTTPD
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i myHTTPD.pp

Depois de instalar o myHTTPD.pp, você ainda pode achar que o SElinux impede que o httpd seja iniciado. Isso ocorre porque as negações anteriores (agora permitidas) não estão mais ocultando as posteriores. Basta repetir o processo acima de cada vez.

    
por 27.12.2013 / 17:34