Что такое SELinux и как он связан с обязательным контролем доступа в Linux?

SELinux реализует MAC поверх базовых прав Linux. Чем конкретная политика отличается от инфраструктуры LSM и почему SELinux не единственный вариант.

Короткий ответ

Что ответить на собеседовании

SELinux — реализация обязательного контроля доступа (MAC), использующая инфраструктуру Linux Security Modules. Он проверяет операции процессов по политике и меткам объектов, дополняя обычные права Unix. LSM — общий механизм подключения проверок, а не синоним SELinux; существуют и другие модули, например AppArmor. Наличие поддержки в ядре не означает, что политика включена и применяется.

Подробный разбор

Ответ с пояснениями

В таком вопросе обычно ожидают SELinux — Security-Enhanced Linux, но формулировка «единственный встроенный модуль» была бы неточной.

Ядро предоставляет инфраструктуру Linux Security Modules, LSM: точки проверок и механизмы, позволяющие модулям принимать решения о доступе. LSM сам по себе не является одной готовой политикой безопасности. SELinux использует эту инфраструктуру; существуют и другие решения, например AppArmor. Устройство механизма описано в документации ядра.

В традиционной модели DAC доступ определяется владельцем, группами и правами файлов. MAC добавляет политику, которую обычный владелец файла не может произвольно отменить изменением разрешений. SELinux использует контексты безопасности процессов и объектов; важную роль играют типы объектов, домены процессов и разрешённые между ними операции.

Например, веб-сервису можно разрешить чтение опубликованных материалов, но запретить доступ к данным другой службы, даже если базовые Unix-права его допускают. При этом разрешение SELinux не отменяет отказ обычной проверки DAC. Принципы объяснены в руководстве Red Hat.

В режиме enforcing политика применяется, в permissive её нарушения журналируются без соответствующего запрета SELinux. Поэтому наличие поддержки в ядре не доказывает, что система реально защищена нужной политикой.

При отказе сначала проверяют Unix-права, контексты и журнал AVC, затем выясняют требуемую операцию. Отключать SELinux или автоматически разрешать все зарегистрированные отказы — не универсальное исправление: причиной может быть неправильная метка, настройка сервиса или действительно нежелательный доступ.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку