- Операционная Система Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6): ключевые изменения в системе защиты информации
- Значения по умолчанию
- Мандатные атрибуты управления доступом (флаги)
- Уровни целостности
- Уровни целостности для служб под управлением systemd
- Parsec-привилегии
- Astra Linux Special Edition 1.5 ⬝ Порядок работы с конфиденциальной информацией на учтенных USB носителях
Операционная Система Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6): ключевые изменения в системе защиты информации
Подробно все изменения описаны в РУК КСЗ по Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6).
Значения по умолчанию
- По умолчанию, после установки ОС:
- включен режим МКЦ ОС:
- установлен параметр ядра `max_ilev = 63`
- все процессы, начиная от init до менеджера входа fly-dm, имеют уровень целостности 63 (если в конфигурации юнита явно не указано иное).
- Графический сервер Xorg по умолчанию работает не от имени суперпользователя root (uid 0), а от пользователя, и работает на выделенном уровне МКЦ 8.
- Администратор, созданный при установке ОС, получает 63-й «красный» уровень МКЦ (при входе в графическую и терминальную сессии предусмотрен диалог выбора значений мандатных атрибутов для сессии);
- Пользователи получают нулевой «синий» уровень МКЦ ((при входе в графическую и терминальную сессии предусмотрен диалог выбора значений атрибутов конфиденциальности для сессии, если такой выбор имеется).
- Администраторы из группы astra-admin, имеющие 63-й «красный» уровень целостности, автоматически получают этот уровень целостности (диалог выбора значений мандатных атрибутов при входе НЕ ПРЕДУСМОТРЕН);
- Другие пользователи получают нулевой «синий» уровень МКЦ.
- для сетевых сервисов: 1;
- для подсистем виртуализации (для гостевых систем, отличных от ОС Astra Linux Special Edition РУСБ.10015-01 и контейнеров LXC на нулевом уровне): 2;
- для внешнего СПО: 4.
Мандатные атрибуты управления доступом (флаги)
Описание значений мандатных атрибутов управления флагов см. в статье Метка безопасности: структура и состав
- На контейнеры (каталоги) больше нельзя устанавливать флаги ehole.
- На контейнеры допускается только установка флагов
- ccnr
- ccnri
Для упрощения адаптации пользователей к особенностям реализации мандатного контроля целостности, при установке обновления безопасности БЮЛЛЕТЕНЬ № 20190222SE16 значение мандатного атрибута ccnri принудительно фиксируется во включенном состоянии для всех каталогов файловой системы. Мандатный атрибут ccnri определяет, что контейнер может содержать сущности с различными уровнями целостности, но не большими, чем его собственный уровень целостности и применяется только к контейнерам (каталогам файловой системы).
- Флаг ehole доступен, как и ранее, для установки на файлах, и, дополнительно, введен новый флаг whole, дающий разрешение записывать в файл «снизу вверх» (чтение по обычным правилам МРД). Новый флаг whole также нельзя устанавливать на контейнерах.
- Запись в каталог с высокой целостностью не может быть выполнена процессом с более низким уровнем целостности чем у контейнера (каталога).
- Пользователь не может производить запись в контейнер (каталог) с установленным больше нуля уровнем МКЦ если он не вошел в систему на уровне МКЦ равном или большем уровню МКЦ контейнера, или не обладает привилегией parsec_cap_ignmacint.
- Пользователь не может производить запись в контейнер (каталог) с установленной (ненулевой) меткой конфиденциальности и с установленным флагом ccnr информации, отличной от уровня конфиденциальности контейнера, если он не зашел под уровнем конфиденциальности равным уровню конфиденциальности контейнера (каталога), или не обладает привилегиями parsec_cap_ignmaccat и parsec_cap_ignmaclvl.
Уровни целостности
запись в объект (или остановка процесса или юнита) разрешена, если набор бит уровня МКЦ субъекта «включает» в себя (операция сравнения &) набор бит уровня МКЦ объекта.
000 0b00000000 — Нулевой уровень. «Низкий», или «Low»
001 0b00000001 — Уровень задействован как «Сетевые сервисы»
002 0b00000010 — Уровень задействован как «Виртуализация»
004 0b00000100 — Уровень задействован как «Специальное ПО»
008 0b00001000 — Уровень задействован как «Графический сервер»
016 0b00010000 — Свободен, может быть использован для СУБД.
032 0b00100000 — Свободен, может быть использован для сетевых сервисов.
064 0b01000000 — Зарезервирован, и может быть использован при поднятии max_ilev.
128 0b10000000 — Зарезервирован, и может быть использован при поднятии max_ilev.- изолированные уровни 1,2,4,8-задействованы;
- уровни 16,32 также могут быть использованы для различных сетевых сервисов и СПО;
- Уровни 64 и 128 зарезервированы, и могут быть использованы только при одновременном поднятии max_ilev.
соответственно, запись в эти объекты ФС будет возможна только для процессов, имеющих уровни целостности
Уровни целостности для служб под управлением systemd
- Механизм одновременной работы с разными уровнями sumac теперь доступен только для тех пользователей, которым задана привилегия parsec_cap_sumac.
Формат указания метки безопасности аналогичен принятому в системе Parsec (pdpl-file —help) , за исключением поля типа метки: метка процесса не может иметь флагов ccnr/ehole/whole .
При задании уровней мандатных привилегий рекомендуется использовать числовые обозначения, так как при разрешении имен могут оказаться задействованы сетевые ресурсы (например, каталоги LDAP), что может приводить к сложно диагностируемым ошибкам конфигурации.
После редактирования unit-файла выполнить команды:Parsec-привилегии
- С выходом оперативного обновления БЮЛЛЕТЕНЬ № 20181229SE16 (оперативное обновление 1):
- добавлена новая Parsec-привилегия PARSEC_CAP_IPC_OWNER (версия Parsec 2.5.265 и выше), отменяющая мандатные ограничения при работе с объектами IPC, такими как shared memory, message queue и т.д. (Parsec-аналог Linux-привилегии CAP_IPC_OWNER);
- добавлена новая Parsec-привилегия PARSEC_CAP_BYPASS_KIOSK (версия Parsec 2.5.257 и выше), позволяющая игнорировать ограничения киоска;
Поддерживаются привилегии, добавленные в предыдущем очередном обновлении ОС Astra Linux Special Edition РУСБ.10015-01:
- Привилегия PARSEC_CAP_UNSAFE_SETXATTR , позволяющая устанавливать мандатные атрибуты объектов ФС без учета мандатных атрибутов родительского объекта-контейнера. Привилегия используется для восстановления объектов ФС из резервных копий, и действует только после установки значения 1 для параметра /parsecfs/unsecure_setxattr.
- Привилегия PARSEC_CAP_IGNMACINT , разрешающая игнорировать мандатную политику по уровням целостности
Astra Linux Special Edition 1.5 ⬝ Порядок работы с конфиденциальной информацией на учтенных USB носителях
При размещении конфиденциальной информации на твердотельных носителях (SSD, Flash) следует помнить, что в силу их технических особенностей гарантированное полное стирание с них информации НЕВОЗМОЖНО.
Данная статья применима к:
При создании нескольких правил с одним идентификатором (например только ID_SERIAL) для одного носителя под разными уровнями udev будет обрабатывать только одно из этих правил.
Для запрета монтирования всех USB-носителей, кроме разрешенных, потребуется вывести пользователей из групп floppy и fuse.
Группа fuse так же используется для подключения samba ресурсов. Если предполагается использование samba ресурсов, используйте другой способ запрета монтирования, например: для запрета монтирования USB-носителей с файловой системой ntfs необходимо снять suid бит с /bin/ntfs-3g.
1. Поддерживаемые файловые системы для работы с конфиденциальной информацией на USB носителях: Ext2/Ext3/Ext4 и vfat .
2.Для работы с конфиденциальной информацией нужно создать для USB носителя правила доступа с помощью графического инструмента fly-admin-smc согласно документации.
3.Для vfat usb устройств работа возможна только при входе на уровне, который назначен администратором для устройства во fly-admin-smc .
4.Работа на разных уровнях конфиденциальности на учтенном USB- носителе с EXT4 возможна пользователем в соответствии с его правами, заданными администратором.
Предварительно администратор должен создать дерево каталогов разного уровня на файловой системе такого USB-носителя.
5.1 Для создания ext4 usb носителя для работы на нескольких уровнях можно использовать следующую программу (задав необходимые переменные USERNAME и DEVICE ):
#!/bin/bash USERNAME="user" DEVICE="/dev/sdc1" mkfs.ext4 $DEVICE mkdir -p /media/usb mount $DEVICE /media/usb #multilevel pdpl-file 3:0:-1:ccnr /media/usb/ mkdir /media/usb/ pdpl-file 0:0:0:0 /media/usb/0 pdpl-file 1:0:0:0 /media/usb/1 pdpl-file 2:0:0:0 /media/usb/2 pdpl-file 3:0:0:0 /media/usb/3 chown -R $:$ /media/usb/ ls -la /media/usb/ pdp-ls -M /media/usb/ umount /media/usb
5.2 Для создания ext4 usb носителя для работы на одном 2ом уровне можно использовать следующую программу (задав необходимые переменные USERNAME и DEVICE ):
#!/bin/bash USERNAME="user" DEVICE="/dev/sdc1" mkfs.ext4 $DEVICE mkdir -p /media/usb mount $DEVICE /media/usb #one level pdpl-file 2:0:0:0 /media/usb/ chown -R $:$ /media/usb/ ls -la /media/usb/ pdp-ls -M /media/usb/ umount /media/usb
6. При включении режима работы с отчуждаемыми носителями ( USB-диск ) с конфиденциальной информацией все непривилегированные пользователи должны быть исключены из групп fuse и floppy .
- включен режим МКЦ ОС: