Как стать автором
Обновить

Управление мандатными метками в МСВС 3.0

Время на прочтение 4 мин
Количество просмотров 16K
Я уже писал о мандатной модели в МСВС 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. Позволяет добавлять и удалять уровни безопасности и категории в системе.
image

Настройка пользователей
Для управления мандатными метками пользователей, можно пользоваться как графической оболочкой, так и консольными командами. Для управления метками в графическом режиме, можно пользоваться утилитой useradmin. При добавлении нового пользователя через эту утилиту, будет необходимо задать уровни безопасности и максимально допустимые категории. Изменить мандатную метку можно, также в режиме редактирования пользователя, во вкладке «Безопасность».
image
Также, возможно задать максимальный уровень безопасности, максимальный набор категорий. Также есть возможность наделить пользователя привилегиями: MCBC_CAP_SETMAC, MCBC_CAP_CHMAC, MCBC_CAP_IGNMACLVL, MCBC_CAP_IGNMACCAT.
Для редактирования меток пользователя в консольном режиме, существует команда usermac. Эта команда позволят проводить более гибкую настройку мандатных прав пользователя. Чаще всего, её применяют с ключом “-m” – изменить мандатные матки пользователей.

usermac –m 0:2 user

Команда устанавливает для пользователя user, минимальный уровень безопасности с числовым значением равным 0, и максимальный уровень безопасности с числовым значением равным двум.
Для вывода текущей мандатной метки пользователя удобно использовать команду macid.
Результатом является уровень безопасности и категория в текущий момент времени у текущего пользователя.

Настройка файлов
Для назначения мандатных меток файлам в системе также присутствуют графическая и консольная утилиты. Графическая утилита вызывается выбором вкладки «Мандатные атрибуты», в окне «Свойства файла» (правой кнопкой по файлу—> ”Свойства”).

image

В этой утилите можно назначить уровень безопасности для файла. Выбрать категории, к которым этот файл относится. Кроме того можно задать игнорирование мандатных атрибутов для уровней (верхняя строка) и для категорий (нижняя строка).
В случае, редактирования свойств директории, выбранный уровень безопасности и набор категорий, можно применить рекурсивно на все объекты, содержащиеся в директории поставив галочку «рекурсивно».
Для управления метками для файлов в консольном режиме, используется команда chmac.

chmac –R 2 /tmp

Команда, рекурсивно назначает каталогу /tmp уровень безопасности с числовым значением 2.


Расширение стандартных команд
Кроме описанных выше отдельных команд для управления доступом, существуют расширения для стандартных команд.

ls –M

Выводит на экран мандатную метку файла

ps –M

Информация о мандатных метках запущенных процессов

find –level / -category / -mac-attr

Поиск файла по уровню безопасности или категории или атрибутам.

Эти утилиты и есть инструменты для настройки мандатной модели в МСВС 3.0. Ничего лишнего, как мне кажется.
Теги:
Хабы:
+4
Комментарии 4
Комментарии Комментарии 4

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн