
Temos API Server (tomcat) que possui configuração clamAV para escanear qualquer arquivo carregado no sistema.
A configuração do clamAV exigirá que o servidor API se conecte ao servidor clamAV.
O SELinux está habilitado em ambos os servidores e sempre que tentamos fazer upload de arquivos obtemos o seguinte erro/exceção:
tomcat: java.net.socketexception permission denied (connect failed)
Este erro está relacionado ao SELinux, e aqui está o log de auditoria para esta negação:
type=AVC msg=audit(1632293242.892:403): avc: denied { name_connect } for pid=2663 comm="http-nio-8780-e" dest=3310 scontext=system_u:system_r:tomcat_t:s0 tcontext=system_uSmiley Surprisedbject_r:clamd_port_t:s0 tclass=tcp_socket permissive=0
Was caused by:
Missing type enforcement (TE) allow rule.
You can use audit2allow to generate a loadable module to allow this access.
Resolvemos isso criando uma política personalizada do SELinux usando Audit2Allow
o comando.
Porém, precisamos saber se existe alguma outra maneira de resolver isso usando SELinux Booleans ou qualquer alteração de rótulo que possamos aplicar.
Você poderia avisar, por favor ?
Obrigado
Responder1
Se houvesse outra maneira, eu audit2why
teria contado a você sobre isso.
Você também pode experimentar a sealert
ferramenta que mostrará negações recentes do SELinux e fornecerá informações detalhadas.