Введение в Linux security modules
Система безопасности основана на дополнительном хуке (LSM hook) при вызове системных (ядерных) функций. Система модульная, и SELinux - один из модулей, который предоставляет функции безопасности. DAC система находится ниже. Стек вызовов функции:
LSM hook не предоставляет функций безопасности - это просто хук. Далее идет вызов зарегистрированного модуля(ей) LSM Framework. В LSM Framework можно зарегистрировать один эксклюзивный модуль и неэксклюзивные.
Модуль | Особенности | Где используется | Тип |
---|---|---|---|
SELinux | Метки безопасности (label-based), очень гибкая и строгая политика | RHEL, Fedora, CentOS, Android | Экск. |
AppArmor | Основан на путях (path-based), проще в настройке | Ubuntu, Debian, openSUSE | Экск. |
Smack (Simplified Mandatory Access Control Kernel) | Проще, чем SELinux, тоже использует метки, но менее гибкий | Встроенные системы (Tizen, некоторые IoT-устройства) | Экск. |
TOMOYO Linux | Основной акцент на управление доступом на основе процессов и истории их действий (обучение) | Япония, встраиваемые системы | Неэкск. |
Yama | Маленький LSM для ограничения ptrace (трассировки процессов) |
Включён в ядро по умолчанию (Ubuntu, Debian, Arch) | Неэкск. |
Landlock | Новый LSM (c 2021 г., Linux 5.13+), даёт приложениям возможность ограничивать себя (sandboxing) | Современные Debian/Ubuntu, используется для sandbox-браузеров и контейнеров | Неэкск. |
LoadPin | Гарантирует загрузку модулей ядра только из доверенной FS | Chromebook, сервера | Неэкск. |
Integrity (IMA/EVM) | Контроль целостности файлов (подписи, хэши) | Корпоративные Linux-системы | Неэкск. |
Lockdown | Ограничивает root-доступ к ядру (часть upstream ядра с 5.4) | Включён в Debian, Ubuntu, Fedora | Неэкск. |
Capability | Базовый модуль, модель минимально необходимых привилегий. Всегда включён. | Неэкск. | |
bpf | Контроль безопасности eBPF-программ | Неэкск. | |
ipe | Политики целостности (разрешение/запрет запуска бинарников) | Неэкск. |
Список используемых LSM модулей
cat /sys/kernel/security/lsm
lockdown,capability,landlock,yama,apparmor,tomoyo,bpf,ipe,ima,evm
Естественно модули для непересекающихся задач не конфликтуют.