Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Show If | |||||
---|---|---|---|---|---|
| |||||
|
Подробно все изменения описаны в РУК КСЗ по
...
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6).
Значения по умолчанию
- По умолчанию, после установки ОС:
- включен режим МКЦ ОС:
- установлен параметр ядра `max_ilev = 63`
- все процессы, начиная от init до менеджера входа fly-dm, имеют уровень целостности 63 (если в конфигурации юнита явно не указано иное).
- Графический сервер Xorg по умолчанию работает не от имени суперпользователя root (uid 0), а от пользователя, и работает на выделенном уровне МКЦ 8.
- МКЦ на файловой системе (ФС) после установки по умолчанию не включен,
и должен быть включен после настройки ОС администратором.
- включен режим МКЦ ОС:
...
- в системе
...
- МРД настроено 4 уровня конфиденциальности (0 - 3), количество которых можно увеличить до 255 (см. Администрирование системы)
- МРД настроено 4 уровня конфиденциальности (0 - 3), количество которых можно увеличить до 255 (см. Администрирование системы)
По умолчанию, при входе через консоль или графический интерфейс:
Информация - Администратор, созданный при установке ОС, получает 63-й «красный» уровень МКЦ
...
- (при входе в графическую и терминальную сессии предусмотрен диалог выбора значений мандатных атрибутов для сессии);
- Пользователи получают нулевой «синий» уровень МКЦ ((при входе в графическую и терминальную сессии предусмотрен диалог выбора значений атрибутов конфиденциальности для сессии, если такой выбор имеется).
По умолчанию, при входе через SSH:
Информация - Администраторы из группы astra-admin
...
- , имеющие 63-й «красный»
...
- уровень целостности, автоматически получают этот уровень целостности (диалог выбора значений мандатных атрибутов при входе НЕ ПРЕДУСМОТРЕН);
- Другие пользователи получают нулевой «синий» уровень МКЦ
...
- .
Для отдельных юнитов, в дальнейшем, возможно задать свой "выделенный уровень МКЦ" (например, apache можно запустить на первом уровне МКЦ), так же возможно задать для юнита systemd свой уровень конфиденциальности.
После включения МКЦ на ФС юниты или процессы на выделенном уровне МКЦ (например, на уровнях 1 или 2) не смогут записывать в файлы и каталоги, на которые будет установлено максимальное значение МКЦ 63 (см. set-fs-ilev или fly-admin-smc). Рекомендуемые уровни МКЦ:Информация - для сетевых сервисов:
...
- 1;
- для подсистем виртуализации (для гостевых систем, отличных от
...
- ОС Astra Linux Special Edition РУСБ.10015-01 и контейнеров LXC на нулевом уровне): 2
...
- ;
- для внешнего СПО: 4.
- X-сервер в общем случае (если есть поддержка KMS в ядре) по умолчанию работает от имени пользователя fly-dm под выделенным уровнем МКЦ 8.
При установке системы следующим устройствам автоматически присваивается уровень конфиденциальности 3:
Информация /dev/sd*
/dev/vd*
/dev/hd*
...
Мандатные атрибуты управления доступом (флаги)
Описание значений мандатных атрибутов управления флагов см. в статье Метка безопасности: структура и состав
- На контейнеры (каталоги) больше нельзя устанавливать флаги ehole.
...
- На контейнеры допускается только установка флагов
Информация |
---|
ccnr (для конфиденциальности) ccnri (для целостности). |
...
- ccnr
ccnri
Информация |
---|
Для упрощения адаптации пользователей к особенностям реализации мандатного контроля целостности, при установке обновления безопасности БЮЛЛЕТЕНЬ № 20190222SE16 значение мандатного атрибута ccnri принудительно фиксируется во включенном состоянии для всех каталогов файловой системы. Мандатный атрибут ccnri определяет, что контейнер может содержать сущности с различными уровнями целостности, но не большими, чем его собственный уровень целостности и применяется только к контейнерам (каталогам файловой системы). |
Флаг ehole доступен, как и ранее, для установки на файлах, и, дополнительно, введен новый флаг
...
whole
...
, дающий разрешение записывать в файл «снизу вверх» (чтение по обычным правилам МРД).
...
Новый флаг whole также нельзя устанавливать на контейнерах.
- Запись в каталог с высокой целостностью
...
- не может быть выполнена процессом с более низким уровнем целостности чем у контейнера (каталога).
- Пользователь не может производить запись в контейнер (каталог)
...
- с установленным больше нуля уровнем
...
- МКЦ если он не вошел в систему на уровне МКЦ равном или большем уровню МКЦ контейнера,
...
- или не обладает привилегией parsec_cap_ignmacint.
- Пользователь не может производить запись в контейнер (каталог)
...
- с установленной (ненулевой) меткой
...
- конфиденциальности и с установленным флагом ccnr
...
- информации,
...
- отличной от уровня конфиденциальности контейнера,
...
- если он не зашел под уровнем конфиденциальности равным уровню конфиденциальности контейнера (каталога),
...
- или не обладает привилегиями parsec_cap_ignmaccat и parsec_cap_ignmaclvl.
Eсли в загрузчике указать параметр ядра
Информация parsec.ccnr_relax=1 то непривилегированный пользователь получит возможность производить запись файлов с
...
любым уровнем конфиденциальности, не превышающим уровень конфиденциальности контейнера, в контейнер (каталог) с установленным флагом ccnr.
Уровни целостности
Сравнение уровней целостности проводится по битовой маске:
Информация запись в объект (или остановка процесса или юнита) разрешена,
...
если набор бит уровня МКЦ субъекта
...
"включает" в себя (операция сравнения &) набор бит уровня МКЦ объекта.
В системе определен набор из восьми ненулевых изолированных уровней МКЦ:
Информация 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.
...
После установки контроля целостности на ФС максимальный уровень целостности (по умолчанию
...
63 т.е. 0b00111111) будет установлен на следующие каталоги:
Раскрыть /etc
/lib
/lib64
/lib32
/bin
/sbin
/boot
/root
/opt
/srv
/usrсоответственно, запись в эти объекты ФС будет возможна только для процессов, имеющих уровни целостности
Информация 63
...
0b00111111
127 0b01111111
191 0b10111111
255 0b11111111
Уровни целостности для служб под управлением systemd
...
- Механизм одновременной работы с разными уровнями sumac теперь доступен только для тех пользователей,
...
- которым задана привилегия parsec_cap_sumac.
В ОС реализована возможность назначения уровня целостности и
...
классификационной метки для
...
служб под управлением systemd.
...
Для этого
...
к параметрам службы нужно добавить параметр
PDPLabel
с нужной
...
меткой безопасности в
...
раздел
[Service]
...
. Для этого следует использовать механизм переопределения параметров служб, предоставляемый инструментом systemctl edit. Команда:
Command sudo systemctl edit <имя_службы>.service
После вызова команды ввести и сохранить следующий текст (или добавить строку с параметром PDPLabel в секцию [Service] если она уже существует):
Блок кода [Service] PDPLabel=<иерархический_уровень_конфиденциальности>;<уровень_целостности>;<неиерархические_категории_конфиденциальности>
Формат указания метки безопасности
Информация |
---|
[Service] PDPLabel=<Уровень>:<Целостность>:<Категории> |
...
аналогичен принятому в системе
Parsec (pdpl-file --help)
, за исключением поля типа метки: метка процесса не может иметь флаговccnr/
...
ehole/whole
.
При
...
задании уровней мандатных привилегий рекомендуется использовать числовые обозначения,
...
так как при разрешении
...
имен могут оказаться задействованы сетевые ресурсы (например, каталоги LDAP
...
),
...
что может приводить к сложно диагностируемым ошибкам конфигурации.
После редактирования unit-файла
...
выполнить команды:
...
Command
...
systemctl restart
...
<имя_службы>.service Для проверки реально полученной метки
...
безопасности процесса:
определить числовой идентификатор (PID) процесса командой:
Command
...
systemctl status
...
<имя_службы>.service
...
по определённому
...
PID процесса
...
получить метку безопасности:
...
Command pdpl-ps
...
<PID>
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 и выше), позволяющая игнорировать ограничения киоска;
...
- Добавлена Parsec-
...
- привилегия PARSEC_CAP_
...
- SUMAC (версия Parsec 2.5.251 и выше), позволяющая запускать
...
- процессы с другой классификационной меткой.
Поддерживаются привилегии, добавленные в
...
предыдущем очередном обновлении ОС Astra Linux Special Edition РУСБ.10015-01:
- Привилегия
PARSEC_CAP_UNSAFE_SETXATTR
, позволяющая устанавливать мандатные атрибуты объектов ФС без учета мандатных атрибутов родительского объекта-контейнера.
...
- Привилегия используется для восстановления объектов ФС из резервных копий, и действует только после установки значения 1 для параметра /parsecfs/unsecure_setxattr.
- Привилегия
PARSEC_CAP_IGNMACINT
, разрешающая игнорировать мандатную политику по уровням целостности