Подробный гайд: Настройка уровня целостности в Astra Linux
Мандатный контроль целостности (МКЦ) в Astra Linux — это механизм защиты системы от несанкционированного изменения файлов, основанный на модели Биба («никакой записи вверх»). Уровни целостности сравниваются по битовым маскам, а не по числовым значениям.
Основные понятия
Уровни целостности
| Значение | Название | Назначение |
|---|---|---|
0 |
Низкий | Повседневная работа пользователей |
1-62 |
Промежуточные | Категории для служб (сеть, виртуализация, СУБД и др.) |
63 (0x3F) |
Высокий | Администрирование системы (по умолчанию max_ilev) |
Важно:
Сопоставление уровней идёт по битовой маске: запись разрешена, если SL & OL == SL, где SL — уровень субъекта, OL — уровень объекта.
Изолированные категории целостности (первые 6 бит)
| Бит | Значение (десятичное) | Назначение |
|---|---|---|
| 0 | 1 | Сетевые службы |
| 1 | 2 | Виртуализация |
| 2 | 4 | Специальное ПО |
| 3 | 8 | Графический сервер |
| 4 | 16 | СУБД |
| 5 | 32 | Зарезервировано |
Настройка максимального уровня целостности
Шаг 1: Проверка текущего состояния
# Проверить статус МКЦ
sudo astra-mic-control status
# Посмотреть текущий max_ilev ядра
cat /sys/module/parsec/parameters/max_ilev
# Проверить параметры пользователя
sudo pdpl-user <имя_пользователя>
Шаг 2: Изменение максимального уровня (если нужно >63)
1. Отредактируйте файл базы MIC для пользователя (например, для localadmin с UID 1000):
sudo nano /etc/parsec/micdb/1000
Измените строку:
# Было (уровень 63 = 0x3F)
localadmin:3f
# Стало (уровень 127 = 0x7F)
localadmin:7f
2. Отредактируйте параметры загрузчика:
sudo nano /etc/default/grub
Найдите строку GRUB_CMDLINE_LINUX_DEFAULT и добавьте/измените параметр:
# Пример:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash parsec.max_ilev=127"
3. Обновите конфигурацию GRUB и перезагрузитесь:
sudo update-grub
sudo reboot
4. Обновите метки целостности файловой системы:
# После перезагрузки выполните:
sudo set-fs-ilev
Эта команда применяет настройки из /etc/parsec/fs-ilev.conf с учётом нового max_ilev.
Настройка уровня целостности для пользователя
Через утилиту pdpl-user
# Установить максимальный уровень целостности для пользователя
sudo pdpl-user -i <значение> <логин>
# Пример: разрешить пользователю work уровень до 63
sudo pdpl-user -i 63 work
# Проверить настройки
sudo pdpl-user work
Через графический интерфейс
- Откройте Параметры системы → Безопасность → Политика безопасности
- Перейдите на вкладку «Мандатные атрибуты» → «Целостность»
- Выберите пользователя и задайте максимальный уровень
При входе в систему пользователь сможет выбрать уровень от 0 до установленного максимума. В графическом режиме fly-greet доступны только «0: низкий» и «63: высокий».
Работа с метками безопасности файлов
Просмотр меток
# Показать метки безопасности файла/каталога
pdp-ls -M /путь/к/объекту
# Пример вывода:
# -rw-r--r--m-- 1 user user Документы_общего_пользования:63:Нет:0x0 /file.txt
Изменение метки целостности файла
# Синтаксис:
pdpl-file [Уровень_МРД]:[Уровень_МКЦ]:[Категории_МРД]:[Флаги] файл
# Пример: установить уровень целостности 63 (высокий)
sudo pdpl-file 0:63:0:0 /важный_файл
# Пример: установить уровень 15 (категории 0,1,2,3)
sudo pdpl-file 0:15:0:0 /файл_службы
Расширенный режим МКЦ (Strict Mode)
Доступен с обновлений 1.7.2 / 4.7.2 / 7.7. Обеспечивает более строгие правила.
Проверка и включение
# Проверить статус
sudo astra-strictmode-control status
# Включить расширенный режим
sudo astra-strictmode-control enable
sudo reboot
Особенности расширенного режима:
- Пользователь не может выбирать уровень целостности при входе — назначается максимальный разрешённый
- Процесс с высоким уровнем не может запускать код из файлов с низким уровнем
- Новым объектам наследуется уровень родительского каталога
- Работает атрибут
irelax, игнорируется привилегияPARSEC_CAP_IGNMACINT
Внимание:
Отключение расширенного режима через штатную утилиту невозможно. Требуется ручная последовательность команд.
Диагностика проблем
Если не выбирается уровень целостности при входе:
# 1. Проверить настройки пользователя
sudo pdpl-user <user>
sudo astra-mic-control status
# 2. Проверить параметр ядра
cat /sys/module/parsec/parameters/max_ilev
# 3. Проверить параметры загрузки ядра
dmesg | grep "Kernel command line"
# или
cat /proc/cmdline
# 4. Убедиться, что в GRUB есть parsec.max_ilev
grep parsec /boot/grub/grub.cfg
Если МКЦ не работает:
# Включить МКЦ
sudo astra-mic-control enable
# Проверить загрузочные параметры
sudo cat /etc/default/grub | grep parsec
# Обновить GRUB и перезагрузиться
sudo update-grub && sudo reboot
Работа с внешними носителями
При монтировании внешних устройств метки целостности наследуются от точки монтирования.
Для регистрации носителя с определённой меткой:
# Пример регистрации USB-накопителя с уровнем целостности 2
# (через графический интерфейс: Параметры → Безопасность → Внешние устройства)
Носители NTFS работают только с нулевой меткой конфиденциальности из-за ограничений ntfs-3g/FUSE.
Архивирование с сохранением меток
# Создание архива с расширенными атрибутами
sudo tar --xattrs --acls -cvzf /opt/backup.tgz /home/
# Восстановление (требует временного включения привилегии)
echo 1 | sudo tee /parsecfs/unsecure_setxattr
sudo execaps -c 0x1000 -- tar --xattrs --acls \
--xattrs-include=security.{PDPL,AUDIT,DEF_AUDIT} \
-xvf /opt/backup.tgz -C /
echo 0 | sudo tee /parsecfs/unsecure_setxattr
Полезные утилиты
| Утилита | Назначение |
|---|---|
pdpl-user |
Управление параметрами МКЦ/МРД для пользователей |
pdp-ls -M |
Просмотр меток безопасности файлов |
pdpl-file |
Установка меток безопасности на объекты |
pdp-exec |
Запуск процесса с заданной меткой |
pdpl-ps |
Просмотр метки безопасности процесса |
astra-mic-control |
Включение/выключение МКЦ |
set-fs-ilev |
Применение меток целостности к ФС |
astra-strictmode-control |
Управление расширенным режимом МКЦ |
Важные предупреждения
- Не снижайте
max_ilevниже уровней существующих объектов — доступ к ним будет заблокирован. - Администрирование МКЦ требует входа с уровнем 63 — привилегии делегировать нельзя.
- Тестируйте изменения в изолированной среде — особенно при включении strict mode.
- Резервное копирование: всегда сохраняйте
/etc/parsec/и метки ФС перед массовыми изменениями.