Мандатное управление доступом - efanov/mephi GitHub Wiki
Мандатное управление доступом
Система принудительного управления доступом SELinux
Основы
- Политики безопасности, поддерживаемые SELinux: Type Enforcement(TE), Role-Based Access Control (RBAC), Multi-Level Security (MLS).
- Объекты и субъекты доступа. Контекст безопасности. Назначение и формат
user:role:type:range. Сравнение атрибутов безопасности DAC и MAC. Тип для объектов и домен для процессов. - Концепция TE. Принцип "что не разрешено - запрещено". Пример правила
allow user_t bin_t : file {read execute getattr};. Элементы: домен-источник, тип цели, класс объекта, права. Процесс из доменаuser_tможет читать, исполнять или получать атрибуты объектаfileс типомbin_t. Чему соответствуют эти права в DAC? - Права доступа к обычному файлу (объект
file):appendcreateexecutewriterelabelfromlinkunlinkioctlgetattrsetattrreadrenamelockrelabeltomountonquotaonswaponaudit_accessentrypointexecmodexecute_no_transopen - Схема работы. Библиотека libselinux. Командный интерфейс, опция "Z".
- Режимы работы
disabled,permissive,enforcing. Конфигурационный файл/etc/selinux/config. Получение информации с помощью команд getenforce и sestatus. Изменение режима:setenforce 1,echo 1 > /sys/fs/selinux/enforce. Параметры сборки ядра (CONFIG_SECURITY_SELINUX_DEVELOP,CONFIG_SECURITY_SELINUX_BOOTPARAM). - Подсистема AVC (Access Vector Cache). Аудит. Пример:
ausearch -m avc -ts recent. Правилоdontaudit. Пример:seinfo | grep -E '(dontaudit|allow)'.
Управление файлами
- Классы объектов файловой системы. Назначение контекста файлам. Наследование по умолчанию. Переход типа. Копирование и перемещение файла внутри и за пределы файловой системы.
- Изменение контекста файла. Временное изменение контекста файла. Команда chcon.
- Резервные копии. Сохранение и восстановление расширенных атрибутов.
- Контекст файловой системы. Назначение контекста при монтировании файловой системы. Опции команды
mount:contextиdefcontext. - Определение контекстов с помощью регулярных выражений. Файлы
/etc/selinux/targeted/contexts/files/file_contexts.*. - Изменение контекста файла (постоянное). Команда semanage fcontext.
Команды и файлы
- Команды:
seinfo,sestatus,semanage,sesearch,chcon,chcat,matchpathcon,restorecon,findcon,fixfiles,audit2allow,ausearch. - Файлы:
/etc/selinux/config,/sys/fs/selinux/enforce,/var/log/audit/audit.log,/etc/selinux/targeted/contexts/files/file_contexts.*, .
Лабораторная работа
Лабораторная работа "Изучение SELinux"