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