Мандатное управление доступом - 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
):append
create
execute
write
relabelfrom
link
unlink
ioctl
getattr
setattr
read
rename
lock
relabelto
mounton
quotaon
swapon
audit_access
entrypoint
execmod
execute_no_trans
open
- Схема работы. Библиотека 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"