Руководство FreeBSD
Пред. | Глава 16. Принудительный контроль доступа (MAC) | След.

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

Имя модуля: `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`.

Пред. | Начало | След.
Модуль MAC partition | Уровень выше | Модуль MAC Biba

Этот, и другие документы, могут быть скачаны с ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите <doc@FreeBSD.org>.
По вопросам, связанным с русским переводом документации, пишите в рассылку <frdp@FreeBSD.org.ua>.
Информация по подписке на эту рассылку находится на сайте проекта перевода.