я не могу.
У меня есть процесс, который загружает bpf пробы. Когда процесс запущен из консоли - все норм. Вот так выглядит его контекст из консоли:
[root@localhost ~]# ps -ZC binary
unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 binary
Но мне надо запустить его через системды. Вот так выглядит его контекст из-под системды
[root@localhost ~]# ps -ZC binary
system_u:system_r:unconfined_service_t:s0 6994 ? 00:00:00 binary
Проблема в том, что при запуске через системды, BPF пробы не грузятся. Я вижу по трейсам что проблема именно в selinux хуке в ядре. Вопрос: хуле делать, мб кто подскажет, куда смотреть хоть. Читаю про эти шизоидные абстракции и у меня кукуха едет.
аудит смотреть и модуль для selinux сгенерить
А SELinuxContext в юните указан?
Это не особо помогает. Если указывать unconfined_u в юните - он отказывается запускаться вообще (что наверное логично, т.к. нельзя самому себе апнуть контекст до более свободного)
как минимум прочесть доку: https://access.redhat.com/documentation/ru-ru/red_hat_enterprise_linux/7/html/selinux_users_and_administrators_guide/chap-security-enhanced_linux-systemd_access_control
В логах аудита вообще ничего нет. Возможно потому что отрабатывает хук ядра, а не какие-то задефайненные в юзерспейсе политики. А "сгенерить модуль" - как это гуглить вообще?
я тебе доки скинул там рассмотрены все варианты, более того, скинул ссыль на вероятно твой случай
Ну в общем-то да, все логично. На самом деле правильный вариант уже подсказали - читать доку. Особое внимание уделить параметрам безопасности процесса и параметрам безопасности файлов (там кстати и про генерацию модулей заодно рядом должно быть).
Обсуждают сегодня