Настройка мандатных атрибутов в Astra Linux SE: PDP, pdpl-file, решение ошибок
Шаг 1. Проверка состояния подсистемы PDP
# Проверка сервиса
systemctl status pdp
# Текущий режим работы
pdpctl get-mode
Ожидаемый вывод: enforcing.
Если disabled или permissive:
sudo pdpctl set-mode enforcing
sudo systemctl restart pdp
Шаг 2. Проверка пакетов и модулей ядра
# Убедитесь, что установлены компоненты MAC
dpkg -l | grep -E "pdp-tools|parsec|astra-mac"
# Загружен ли модуль ядра
lsmod | grep parsec
Если модуль не загружен:
sudo modprobe parsec
sudo systemctl enable --now pdp
Шаг 3. Проверка поддержки xattr на файловой системе
Мандатные метки хранятся в расширенных атрибутах.
Проверьте, смонтирована ли ФС с поддержкой xattr:
mount | grep -E "^/dev" | grep -v "no_xattr"
Если в выводе нет xattr, перемонтируйте раздел:
sudo mount -o remount,xattr /
Для постоянных изменений добавьте xattr в /etc/fstab для нужного раздела.
Шаг 4. Назначение мандатных атрибутов пользователям
В Astra Linux уровни и категории обычно предопределены в профиле безопасности. Их не создают вручную, а назначают из доступного набора.
Пример назначения пользователю user1:
sudo usermod \
--mac-confidentiality=3 \
--mac-integrity=2 \
--mac-categories=1,3 \
user1
Проверка:
getent passwd user1 | grep mac
# или
pdpctl get-user-attr user1
Доступные уровни/категории можно посмотреть через:
pdpctl list-levels
pdpctl list-categories
Шаг 5. Назначение атрибутов файлам и каталогам
Используйте штатную утилиту pdpl-file:
sudo pdpl-file \
--set-confidentiality=3 \
--set-integrity=2 \
--set-categories=1,3 \
/path/to/file_or_dir
Проверка:
pdpl-file --get /path/to/file_or_dir
# или (если установлен пакет астры с метками)
ls -Z /path/to/file_or_dir
Важно:
- Для каталогов добавляйте
-Rтолько если уверены, что все вложенные объекты поддерживают xattr. - На файловых системах без xattr (FAT, exFAT, NTFS, некоторые сетевые ФС) команда завершится ошибкой
Operation not supported.
Шаг 6. GUI-альтернатива (рекомендуется для новых администраторов)
sudo apt install astra-mac-gui fly-admin-smc
Запустите:
fly-admin-smc -> раздел Безопасность -> Мандатное управление доступом.
Интерфейс позволяет:
- Просматривать профили уровней/категорий
- Назначать метки пользователям, группам, файлам
- Применять политики с валидацией синтаксиса
Типичные ошибки и решения
| Ошибка | Причина | Решение |
|---|---|---|
Operation not permitted |
Нет CAP_MAC_ADMIN или не root |
Запускать от root или через sudo |
Invalid confidentiality level |
Уровень не определён в профиле PDP | Проверьте pdpctl list-levels или отредактируйте /etc/pdp/pdp.conf |
No such file or directory для xattr |
ФС не поддерживает расширенные атрибуты | Перемонтируйте с xattr или используйте ext4/xfs |
PDP is disabled |
Сервис не запущен или отключён в grub | systemctl enable --now pdp, проверьте parsecp=1 в параметрах ядра |
Команды chcon, setsebool не работают |
Это утилиты SELinux, в Astra Linux не используются | Заменяйте на pdpl-file, pdpctl, usermod --mac-* |
Логи и отладка
# Логи подсистемы PDP
journalctl -u pdp -f --no-pager
# Ядерные сообщения Parsec
dmesg | grep -i parsec
# Проверка применения политик
pdpctl audit --last 20
Важные нюансы безопасности
- Мандатные атрибуты в сертифицированной Astra Linux SE являются частью утверждённого профиля защиты. Их произвольное изменение может нарушить соответствие требованиям ФСТЭК/Минобороны.
- После изменения меток файлов или пользователей рекомендуется выполнить
pdpctl reloadдля применения политик без перезагрузки. - В режимах
enforcingдоступ к объектам с более высоким уровнем конфиденциальности или другими категориями будет блокироваться ядром, даже дляroot.