Skip to content

Мандатное управление доступом

Dmitry Efanov edited this page Jun 13, 2020 · 4 revisions

Мандатное управление доступом

Система принудительного управления доступом 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"

Ссылки:

  1. Официальный сайт SELinux
  2. Security-Enhanced Linux for mere mortals
  3. SECURITY ENHANCED LINUX FOR MERE MORTALS видео
  4. Demystifying SELinux: WTF is it saying?
  5. Demystifying SELinux Part II: Who’s Policy Is It Anyway? видео
  6. SELinux Sandbox
Clone this wiki locally