Сингулярность (известная как Apptainer) не может примонтировать fusemount внутри контейнера на системе RHEL 8.10, защищённой по стандарту CIS.

Вопрос или проблема

Я создал новую RHEL 8.10 x86_64 с жесткой настройкой CIS и запускаю Singularity/Apptainer на системе, но она зависает на этапе mountGeneric() Монтирование /var/lib/apptainer/mnt/session/fuse/0 в /var/lib/apptainer/mnt/session/final/tmp. Я отключил службу аудита и удалил все правила аудита из системы, и это сработало. Вопрос: почему правила аудита могут блокировать движок Singularity/Apptainer? Как мы можем исключить Singularity/Apptainer из мониторинга аудита?

Ответ или решение

Проблема с монтированием FUSE внутри контейнера Apptainer на системе RHEL 8.10 с жесткой настройкой CIS

При использовании Singularity (также известного как Apptainer) в системе RHEL 8.10, наказанной по стандарту CIS, может возникнуть проблема с монтированием FUSE, когда система зависает на этапе mountGeneric. В данном случае, проблема была устранена отключением службы аудита и удалением всех правил аудита. Важно понять, почему правила аудита могут блокировать работу Singularity/Apptainer и как можно исключить этот инструмент из аудита.

Причины блокировки Singularity/Apptainer службой аудита

  1. Правила аудита: Служба аудита в Linux предназначена для отслеживания действий в системе и мониторинга доступа к критически важным файлам и процессам. Когда служба аудита активно работает, она может перехватывать операции монтирования файловых систем, включая те, которые выполняются через FUSE (Filesystem in Userspace). Если правила аудита настроены на отслеживание операций монтирования (например, с использованием правил -a always,exit), это может привести к конфликтам, где Apptainer не может завершить необходимые операции и зависает.

  2. Неправильные настройки: Даже если правила аудита написаны правильно, некоторые специфические ограничения, установленные в конфигурации CIS, могут также вызывать проблемы с совместимостью. Например, частые инициализации монтирования FUSE могут считаться нежелательными с точки зрения политики безопасности, в связи с чем они могут блокироваться.

  3. Перегрузка системы: При активации службы аудита может наблюдаться значительная нагрузка на систему, так как каждое действие, попадающее под действие правил аудита, должно обрабатываться и записываться. Это может замедлить выполнение операций, необходимых для работы Singularity/Apptainer.

Решение: Исключение Singularity/Apptainer из аудита

Чтобы избежать конфликтов между Servis Auditing и Apptainer/Singularity, необходимо внести изменения в настройки аудита, что позволит исключить процесс Singularity из мониторинга:

  1. Добавление правил исключения: Вы можете добавить правила в конфигурацию аудита, которые будут исключать монтирования, которые инициируются Singularity. Например, вы можете добавить следующее правило в файл конфигурации аудита (обычно это /etc/audit/audit.rules):

    -a always,exit -F arch=b64 -S mount -F pid!=<PID_Singularity> -k ignore_singularity

    Здесь <PID_Singularity> — это идентификатор процесса Singularity, который можно получить при запуске команды ps.

  2. Тестирование: После внесения изменений рекомендуется перезапустить службу аудита, а затем протестировать функциональность Apptainer на создание и использование контейнеров. Это поможет удостовериться в том, что исключения применяются и проблема монтирования исчезла.

  3. Документация: Важно вести документацию всех изменений, которые вносятся в конфигурацию аудита, чтобы другие администраторы системы могли быстро адаптироваться к изменениям и понимать, почему определенные правила были исключены.

Заключение

Решение проблемы с зависанием Singularity/Apptainer при монтировании FUSE на системе RHEL 8.10 с жесткой настройкой CIS заключается в корректной настройке сервисов аудита. Практика исключения определённых процессов из мониторинга позволяет обеспечить стабильную работу контейнеризации при соблюдении стандартов безопасности. Не оставляйте без внимания возможность тестирования всех изменений и документирования процесса, чтобы обеспечить отказоустойчивость и безопасность вашего IT-окружения.

Оцените материал
Добавить комментарий

Капча загружается...