Я работаю в компании, где нам нужно распространить наш образ с SE-Linux внутри.
Продукт использует виртуализация для дополнительной безопасности, таким образом, у нас есть установка с хостом linux, на котором запущено несколько qemu-kvm гости. ОС гостя kvm Debian.
Я мог установить selinux на гостевую машину вручную, я также смог активировать SELinux (sestatus подтвердил, что он был запущен, и файлы были автоматически помечены).
Следующим шагом будет создание наших собственных модулей и ролей и установка правильных контекстов для каждого процесса и файла в гостевом образе.
Однако мне нужно, чтобы автоматизировать этот установка + маркировка + настройка процесс Selinux во время сборки. Мы не можем создать нормальный образ без selinux, а затем установить selinux вручную на каждую машину. Мы хотим предварительно настроить образ в котором все работает.
Процесс сборки выполняется внутри докер-image, где будут созданы и настроены образы kvm-guest.
Когда я пытаюсь установить selinux в образ докера, GitLab не создает этот образ из-за ошибок. (Я могу установить selinux вручную на свой локальный компьютер в образе докера, однако, sestatus говорит, что SELinux отключен, и, таким образом, я не могу позволить докеру запускать перемаркировку файла исправлений на 100% успешно)
То, что я обнаружил в ходе своего нескольких часового исследования, было только:
Что я нигде НЕ смог найти:
Подробнее:
Я думал, что докеру нужны пакеты selinux или активная запущенная установка selinux, чтобы иметь возможность правильно настроить selinux внутри смонтированной файловой системы, которая содержит все файлы нашего программного обеспечения. Я могу попытаться визуализировать настройку так:
Docker
-> run build scripts using a mnt-directory inside docker
-> Inside mnt-directory install selinux and label files and setup modules and contexts
В этом случае каталог mnt будет представлять образ гостевого kvm, а не хоста.
Если у кого-то есть подробный информацию как это сделать буду признателен!