Руководство FreeBSD

         

Модуль многоуровневой безопасности MAC (MLS)


Имя модуля: mac_mls.ko

Строка конфигурации ядра: options MAC_MLS

Параметр загрузки: mac_mls_load="YES"

Политика контролирует взаимодействие субъектов и объектов системы путем применения строгой политики к потоку информации.

В среде MLS, для каждого субъекта или объекта внутри отдела (compartment) устанавливается ``уровень допуска''. Поскольку количество уровней допуска может превышать шесть тысяч, для любого системного администратора задача настройки каждого субъекта или объекта может быть слишком сложной. К счастью, существуют ``постоянные'' метки, которые уже включены в эту политику.

Эти метки mls/low, mls/equal и mls/high. Поскольку эти метки подробно описываются в справочнике, здесь мы дадим только краткое описание:

Метка mls/low содержит минимальную настройку, что позволяет доминирование над ней всех других объектов. Все, что помечено с mls/low, находится на низком уровне доступа и доступ к более высоким уровням будет запрещен. Кроме того, эта метка предотвратит запись или передачу информации объектам с более высоким уровнем доступа.

Метка mls/equal должна быть помещена на объекты, являющиеся исключением из политики.

Метка mls/high это наибольший возможный уровень доступа. Объекты с этой меткой будут доминировать над всеми другими объектами системы; однако, утечка информации от них к объектам более низкого класса невозможна.

MLS представляет собой:

Иерархические уровни безопасности с набором не иерархических категорий;

Фиксированные правила: нет чтения сверху, нет записи вниз (субъект может иметь доступ на чтение объектов собственного уровня или ниже, но не выше. Аналогично, субъект может иметь доступ на запись в объекты своего уровня или выше, но не наоборот.);

Секретность (предотвращение неавторизованного раскрытия данных);

Основа для разработки систем, одновременно работающих с данными на нескольких уровнях секретности (без утечки информации).

Для настройки специальных сервисов и интерфейсов доступны следующие переменные sysctl:


security.mac.mls.enabled используется для включения/отключения политики MLS.

security.mac.mls.ptys_equal пометит все устройства pty(4) как mls/equal во время создания.

security.mac.mls. revocation_enabled используется для запрета доступа к объектам после того, как их метка изменится в меньшую сторону.

security.mac.mls.max_compartments используется для установки максимального количества уровней отделов на объекты; обычно это максимальное количество отделов, разрешенных в системе.

Для управления метками MLS существует команда setfmac(8). Для присвоения метки объекту, выполните следующую команду:

# setfmac mls/5 test

Для получения метки MLS файла test, выполните следующую команду:

# getfmac test

Выше представлен краткий обзор возможностей политики MLS. Существует метод, связанный с созданием основного файла политики в каталоге /etc, где будет определена необходимая для политики MLS информация, которая будет передана команде setfmac. Этот метод будет описан после рассмотрения всех политик.

Итоги: объект с низким уровнем доступа не может прочесть данные объекта с высоким уровнем доступа. Базовая политика должна устанавливать mls/high на всем, что не должно быть прочитано, даже если туда необходимо записывать. На всем, куда нельзя писать, должна быть установлена метка mls/low, даже если это необходимо читать. Наконец, на всем остальном установите mls/equal. Все пользователи, помеченные как insecure, должны иметь метку mls/low.


Содержание раздела