SELinux verhindert Verbindung clamd_port_t:tcp_socket

SELinux verhindert Verbindung clamd_port_t:tcp_socket

Wir haben einen API-Server (Tomcat) mit ClamAV-Konfiguration zum Scannen aller auf das System hochgeladenen Dateien.

Für die clamAV-Konfiguration muss der API-Server eine Verbindung zum clamAV-Server herstellen.

SELinux ist auf beiden Servern aktiviert und immer wenn wir versuchen, Dateien hochzuladen, erhalten wir den folgenden Fehler/die folgende Ausnahme:

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

Dieser Fehler hängt mit SELinux zusammen. Hier ist das Prüfprotokoll für diese Ablehnung:

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.

Wir haben dies gelöst, indem wir mit Audit2Alloweinem Befehl eine benutzerdefinierte SELinux-Richtlinie erstellt haben.

Wir müssen jedoch wissen, ob es eine andere Möglichkeit gibt, dies mithilfe von SELinux-Booleschen Werten oder einer beliebigen Beschriftungsänderung zu lösen, die wir anwenden können.

Können Sie mir bitte einen Rat geben?

Danke

Antwort1

Wenn es einen anderen Weg gäbe, audit2whyhätte ich es Ihnen mitgeteilt.

Sie können auch das Tool ausprobieren sealert, das aktuelle SELinux-Ablehnungen anzeigt und detaillierte Informationen bereitstellt.

verwandte Informationen