selinux блокирует неограниченную службу от загрузки модуля ядра

У меня есть демон, работающий в качестве типа SELinux Unlimited_service_t в Redhat Enterprise Linux 8:

# ps -eZ | grep savd
system_u:system_r:unconfined_service_t:s0 693 ? 00:00:00 savd

Он пытается загрузить модуль ядра Linux с помощью insmod.

​​SELinux (в принудительном режиме) блокирует его:

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

Я попытался установить domain_kernel_load_modules, чтобы разрешить всем доменам загружать модули ядра:

 setsebool -P domain_kernel_load_modules 1

На всякий случай я неправильно понял, я попробовал 0 также и перезагрузка, но загрузка модулей ядра была заблокирована в любом случае.

audit2allow предлагает создать для него правило, но я думал, что domain_kernel_load_modules позволит всем процессам загружать модули ядра, поэтому я не понимаю, почему это не так. работает?

Могу ли я получить неограниченные службы, чтобы иметь возможность загружать модули ядра без создания дополнительной политики?

Это виртуальная машина экземпляра AWS, если это имеет значение.

1
задан 23 August 2019 в 18:17
1 ответ

Ваш файл, содержащий модуль ядра, имеет контекст безопасности system_u: object_r: usr_t: s0 . Это не ожидаемый тип для модуля ядра. Это заставляет меня думать, что что-то пошло не так с вашей установкой, поскольку Sophos должен был установить правильный контекст безопасности при установке. Это может быть ошибка.

В любом случае правильный тип - modules_object_t . Вы можете попробовать изменить тип файла в качестве временного решения, пока Sophos не устранит проблему. (О чем вы также должны сообщить им.)

chcon -t modules_object_t /opt/sophos-av/talpa/current/talpa_syscallhook.ko
2
ответ дан 3 December 2019 в 20:06

Теги

Похожие вопросы