SELinux запрещает подключение clamd_port_t:tcp_socket

SELinux запрещает подключение clamd_port_t:tcp_socket

У нас есть API-сервер (tomcat), имеющий конфигурацию clamAV для сканирования любого загружаемого в систему файла.

Для конфигурации clamAV потребуется, чтобы сервер API подключился к серверу clamAV.

SELinux включен на обоих серверах, и всякий раз, когда мы пытаемся загрузить файлы, мы получаем следующую ошибку/исключение:

tomcat: java.net.socketexception permission denied (connect failed)

Эта ошибка связана с SELinux, и вот журнал аудита для этого отказа:

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.

Мы решили эту проблему, создав пользовательскую политику SELinux с помощью Audit2Allowкоманды.

Но нам нужно знать, есть ли другой способ решить эту проблему с помощью булевых функций SELinux или любого изменения метки, которое мы можем применить.

Могли бы вы, пожалуйста, посоветовать ?

Спасибо

решение1

Если бы был другой способ, audit2whyя бы вам о нем рассказал.

Вы также можете попробовать sealertинструмент, который покажет последние отклонения SELinux и предоставит подробную информацию.

Связанный контент