Я уже писал о мандатной модели в МСВС 3.0. Эта статья является описанием конфигурационных файлов и утилит для настройки мандатного доступа. В этой статье практически нет теоретических описаний принципов и свойств. Здесь есть описание конфигурационных файлов, графических и консольных программ для нас тройки мандатного доступа.
У всех консольных команд, описанных в этой статье, есть опция --help. Я не хотел копипастить страницы справки, но очень советую почитать, там много интересного! В статье я приводил наиболее востребованные варианты использования команд.
Некоторые сведения
Кроме дискреционного ограничения доступа к файлам, в МСВС есть мандатное ограничение доступа. Принцип работы мандатного ограничения доступа заключается в сравнении мандатной метки файла и мандатной метки пользователя, обращающегося к файлу. От результата сравнения зависит форма доступа пользователя к файлу.
Метка состоит из уровня безопасности и набора категорий. Максимальное количество уровней – 8. Максимальное количество категорий – 61. Категория и уровень состоят из числового значения и соответствующее значению имя. Для категорий числовое значение в шестнадцатеричном формате. Например, уровень может иметь значение 010, и имя «Не секретно». Категория может иметь значение 000000000000000216, имя – «Войска связи».
При доступе к файлам, можно настроить игнорирование мандатных уровней/категорий на запись/чтение/запуск.
Более подробно было описано Мандатная модель ОС МСВС 3.0
Правильная настройка мандатного доступа поможет избежать проблем при разработке и при администрировании. Уровни и категории присутствующие в системе описаны в конфигурационных файлах.
Конфигурационные файлы
1. /etc/security/mac_levels — файл хранит соотношение между числовыми значениями уровней безопасности и их именами.
2. /etc/security/mac_categories – файл хранит соотношение между числовыми значениями категорий, в шестнадцатеричной системе счисления, и их именами.
Формат этих двух файлов следующий:
имя: значение
Имя – имя категории или уровня, значение – числовое значение уровня или категории.
3. /etc/security/mac – файл хранит мандатные метки пользователей.
Файл имеете следующий формат:
имя_пользователя: мин_уровень: мин_категория: макс_уровень: макс_категория
Каждая строчка этого файла относится к одному из пользователей системы. Мин_уровень, мин_категория, макс_уровень, макс_категория – числовые значения максимальных и минимальных уровней и категорий. Очень часто, для пользователей не задают мин_уровень и мин_категорию, в таком случае их значения равны минимальным значениям. Следовательно, пользователь может использовать уровень от 0 до максимального разрешенного ему уровня.
Во всех конфигурационных файлах комментарии начинаются с “#”.
Настройка системы
Управлять количеством уровней безопасности и категориями можно также с помощью графической утилиты macadmin. Позволяет добавлять и удалять уровни безопасности и категории в системе.

Настройка пользователей
Для управления мандатными метками пользователей, можно пользоваться как графической оболочкой, так и консольными командами. Для управления метками в графическом режиме, можно пользоваться утилитой useradmin. При добавлении нового пользователя через эту утилиту, будет необходимо задать уровни безопасности и максимально допустимые категории. Изменить мандатную метку можно, также в режиме редактирования пользователя, во вкладке «Безопасность».

Также, возможно задать максимальный уровень безопасности, максимальный набор категорий. Также есть возможность наделить пользователя привилегиями: MCBC_CAP_SETMAC, MCBC_CAP_CHMAC, MCBC_CAP_IGNMACLVL, MCBC_CAP_IGNMACCAT.
Для редактирования меток пользователя в консольном режиме, существует команда usermac. Эта команда позволят проводить более гибкую настройку мандатных прав пользователя. Чаще всего, её применяют с ключом “-m” – изменить мандатные матки пользователей.
Команда устанавливает для пользователя user, минимальный уровень безопасности с числовым значением равным 0, и максимальный уровень безопасности с числовым значением равным двум.
Для вывода текущей мандатной метки пользователя удобно использовать команду
Результатом является уровень безопасности и категория в текущий момент времени у текущего пользователя.
Настройка файлов
Для назначения мандатных меток файлам в системе также присутствуют графическая и консольная утилиты. Графическая утилита вызывается выбором вкладки «Мандатные атрибуты», в окне «Свойства файла» (правой кнопкой по файлу—> ”Свойства”).

В этой утилите можно назначить уровень безопасности для файла. Выбрать категории, к которым этот файл относится. Кроме того можно задать игнорирование мандатных атрибутов для уровней (верхняя строка) и для категорий (нижняя строка).
В случае, редактирования свойств директории, выбранный уровень безопасности и набор категорий, можно применить рекурсивно на все объекты, содержащиеся в директории поставив галочку «рекурсивно».
Для управления метками для файлов в консольном режиме, используется команда chmac.
Команда, рекурсивно назначает каталогу /tmp уровень безопасности с числовым значением 2.
Расширение стандартных команд
Кроме описанных выше отдельных команд для управления доступом, существуют расширения для стандартных команд.
Выводит на экран мандатную метку файла
Информация о мандатных метках запущенных процессов
Поиск файла по уровню безопасности или категории или атрибутам.
Эти утилиты и есть инструменты для настройки мандатной модели в МСВС 3.0. Ничего лишнего, как мне кажется.
У всех консольных команд, описанных в этой статье, есть опция --help. Я не хотел копипастить страницы справки, но очень советую почитать, там много интересного! В статье я приводил наиболее востребованные варианты использования команд.
Некоторые сведения
Кроме дискреционного ограничения доступа к файлам, в МСВС есть мандатное ограничение доступа. Принцип работы мандатного ограничения доступа заключается в сравнении мандатной метки файла и мандатной метки пользователя, обращающегося к файлу. От результата сравнения зависит форма доступа пользователя к файлу.
Метка состоит из уровня безопасности и набора категорий. Максимальное количество уровней – 8. Максимальное количество категорий – 61. Категория и уровень состоят из числового значения и соответствующее значению имя. Для категорий числовое значение в шестнадцатеричном формате. Например, уровень может иметь значение 010, и имя «Не секретно». Категория может иметь значение 000000000000000216, имя – «Войска связи».
При доступе к файлам, можно настроить игнорирование мандатных уровней/категорий на запись/чтение/запуск.
Более подробно было описано Мандатная модель ОС МСВС 3.0
Правильная настройка мандатного доступа поможет избежать проблем при разработке и при администрировании. Уровни и категории присутствующие в системе описаны в конфигурационных файлах.
Конфигурационные файлы
1. /etc/security/mac_levels — файл хранит соотношение между числовыми значениями уровней безопасности и их именами.
2. /etc/security/mac_categories – файл хранит соотношение между числовыми значениями категорий, в шестнадцатеричной системе счисления, и их именами.
Формат этих двух файлов следующий:
имя: значение
Имя – имя категории или уровня, значение – числовое значение уровня или категории.
3. /etc/security/mac – файл хранит мандатные метки пользователей.
Файл имеете следующий формат:
имя_пользователя: мин_уровень: мин_категория: макс_уровень: макс_категория
Каждая строчка этого файла относится к одному из пользователей системы. Мин_уровень, мин_категория, макс_уровень, макс_категория – числовые значения максимальных и минимальных уровней и категорий. Очень часто, для пользователей не задают мин_уровень и мин_категорию, в таком случае их значения равны минимальным значениям. Следовательно, пользователь может использовать уровень от 0 до максимального разрешенного ему уровня.
Во всех конфигурационных файлах комментарии начинаются с “#”.
Настройка системы
Управлять количеством уровней безопасности и категориями можно также с помощью графической утилиты macadmin. Позволяет добавлять и удалять уровни безопасности и категории в системе.

Настройка пользователей
Для управления мандатными метками пользователей, можно пользоваться как графической оболочкой, так и консольными командами. Для управления метками в графическом режиме, можно пользоваться утилитой useradmin. При добавлении нового пользователя через эту утилиту, будет необходимо задать уровни безопасности и максимально допустимые категории. Изменить мандатную метку можно, также в режиме редактирования пользователя, во вкладке «Безопасность».

Также, возможно задать максимальный уровень безопасности, максимальный набор категорий. Также есть возможность наделить пользователя привилегиями: MCBC_CAP_SETMAC, MCBC_CAP_CHMAC, MCBC_CAP_IGNMACLVL, MCBC_CAP_IGNMACCAT.
Для редактирования меток пользователя в консольном режиме, существует команда usermac. Эта команда позволят проводить более гибкую настройку мандатных прав пользователя. Чаще всего, её применяют с ключом “-m” – изменить мандатные матки пользователей.
usermac –m 0:2 user
Команда устанавливает для пользователя user, минимальный уровень безопасности с числовым значением равным 0, и максимальный уровень безопасности с числовым значением равным двум.
Для вывода текущей мандатной метки пользователя удобно использовать команду
macid
.Результатом является уровень безопасности и категория в текущий момент времени у текущего пользователя.
Настройка файлов
Для назначения мандатных меток файлам в системе также присутствуют графическая и консольная утилиты. Графическая утилита вызывается выбором вкладки «Мандатные атрибуты», в окне «Свойства файла» (правой кнопкой по файлу—> ”Свойства”).

В этой утилите можно назначить уровень безопасности для файла. Выбрать категории, к которым этот файл относится. Кроме того можно задать игнорирование мандатных атрибутов для уровней (верхняя строка) и для категорий (нижняя строка).
В случае, редактирования свойств директории, выбранный уровень безопасности и набор категорий, можно применить рекурсивно на все объекты, содержащиеся в директории поставив галочку «рекурсивно».
Для управления метками для файлов в консольном режиме, используется команда chmac.
chmac –R 2 /tmp
Команда, рекурсивно назначает каталогу /tmp уровень безопасности с числовым значением 2.
Расширение стандартных команд
Кроме описанных выше отдельных команд для управления доступом, существуют расширения для стандартных команд.
ls –M
Выводит на экран мандатную метку файла
ps –M
Информация о мандатных метках запущенных процессов
find –level / -category / -mac-attr
Поиск файла по уровню безопасности или категории или атрибутам.
Эти утилиты и есть инструменты для настройки мандатной модели в МСВС 3.0. Ничего лишнего, как мне кажется.