Имя модуля: mac_mls.ko
Строка конфигурации ядра: options MAC_MLS
Параметр загрузки: mac_mls_load="YES"
Политика mac_mls(4)
контролирует взаимодействие субъектов и объектов системы путем применения строгой
политики к потоку информации.
В среде 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.