J'ai un démon qui fonctionne en tant que type SELinux unconfined_service_t, sur Redhat Enterprise Linux 8 :
# ps -eZ | grep savd
system_u:system_r:unconfined_service_t:s0 693 ? 00:00:00 savd
Il tente de charger un module noyau Linux en utilisant insmod.
SELinux (en mode enforce) le bloque :
type=AVC msg=audit(1566572669.301:24): avc: denied { module_load } for pid=815 comm="insmod" path="/opt/sophos-av/talpa/current/talpa_syscallhook.ko" dev="xvda2" ino=48087622 scontext=system_u:system_r:unconfined_service_t:s0 tcontext=system_u:object_r:usr_t:s0 tclass=system permissive=0
J'ai essayé de définir domain_kernel_load_modules pour autoriser tous les domaines à charger des modules noyau :
setsebool -P domain_kernel_load_modules 1
Juste au cas où j'aurais mal compris, j'ai également essayé avec 0
, et redémarré, mais le chargement des modules noyau était bloqué de toute façon.
audit2allow suggère de créer une règle pour cela, mais je pensais que domain_kernel_load_modules permettrait à tous les processus de charger des modules noyau, donc je ne comprends pas pourquoi cela ne fonctionne pas ?
Est-ce que je peux permettre aux services non confinés de charger des modules noyau sans créer de politique supplémentaire ?
Il s'agit d'une instance VM AWS si cela a de l'importance.