Contamos con API Server (tomcat) que tiene configuración clamAV para escanear cualquier archivo subido al sistema.
La configuración de clamAV requerirá que el servidor API se conecte al servidor de clamAV.
SELinux está habilitado en ambos servidores y cada vez que intentamos cargar archivos obtenemos el siguiente error/excepción:
tomcat: java.net.socketexception permission denied (connect failed)
Este error está relacionado con SELinux y aquí el registro de auditoría para esta denegación:
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.
Resolvimos esto creando una política personalizada de SELinux usando Audit2Allow
el comando.
Pero necesitamos saber si hay alguna otra forma de resolver esto usando SELinux Booleans o cualquier cambio de etiqueta que podamos aplicar.
Podrías avisar por favor ?
Gracias
Respuesta1
Si hubiera otra manera, audit2why
te lo habría contado.
También puede probar la sealert
herramienta que mostrará denegaciones recientes de SELinux y proporcionará información detallada.