O SElinux Enforced no CentOS7 está bloqueando novamente o clamAV na verificação das operações dos arquivos.
Alguns meses atrás, eu encontrei o mesmo problema que eu postadas aqui , que no final resolvi fazer as seguintes configurações:
# grep 'StreamMin\|StreamMax' /etc/clamd.d/scan.conf
StreamMaxLength 2000M
StreamMinPort 30000
StreamMaxPort 32000
# getsebool -a | grep antivirus
antivirus_can_scan_system --> on
antivirus_use_jit --> on
# semanage port -l | grep clamd
clamd_port_t tcp 30000-32000, 3310
Ontem, o sistema recebeu suas atualizações do yum e, entre elas, vi que selinux-policy*
packages também foi atualizado:
Updated selinux-policy-3.13.1-102.el7_3.16.noarch @updates
Update 3.13.1-166.el7_4.4.noarch @updates
Updated selinux-policy-targeted-3.13.1-102.el7_3.16.noarch @updates
Update 3.13.1-166.el7_4.4.noarch @updates
Após a atualização, o mesmo problema está de volta, conforme mostrado em /var/log/messages
:
Sep 15 10:55:45 production clamd: LibClamAV Warning: RWX mapping denied: Can't allocate RWX Memory: Permission denied
Sep 15 10:55:45 production clamd: LibClamAV Warning: Bytecode: disabling JIT because SELinux is preventing 'execmem' access.
Sep 15 10:55:45 production clamd: Run 'setsebool -P clamd_use_jit on'.
O log parece bastante claro e oferece uma solução também, mas de qualquer forma, esse booleano já estava configurado como true anteriormente, então não é tão útil quanto parece.
A seguir, a entrada audit.log
relacionada:
type=AVC msg=audit(1505723879.248:302432): avc: denied { name_connect } for pid=21691 comm="java" dest=3310 scontext=system_u:system_r:tomcat_t:s0 tcontext=system_u:object_r:clamd_port_t:s0 tclass=tcp_socket
Novamente, os seguintes erros parecem estar relacionados ao meu problema:
Mas, lendo-os, não entendo como consertá-lo.
Eu gostaria de ficar com as atualizações de pacotes fornecidas pelos repositórios oficiais do CentOS, então eu evitaria reverter as atualizações recém-aplicadas (coladas acima). Além disso, gostaria de manter o SElinux em modo imposto.
Qualquer eyedea como proceder para depurar e corrigir o problema?