Имя модуля: 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
.
Этот, и другие документы, могут быть скачаны с https://download.freebsd.org/ftp/doc/.
По вопросам, связанным с FreeBSD, прочитайте
документацию прежде чем писать в
<questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку
<doc@FreeBSD.org>.