Настройка мандатных атрибутов в Astra Linux SE: PDP, pdpl-file, решение ошибок

Гайд по настройке мандатных атрибутов в Astra Linux. Решение ошибок PDP, назначение меток безопасности, работа с pdpl-file. Пошаговая инструкция.

2026.04.29                  


Настройка мандатных атрибутов в Astra Linux SE: PDP, pdpl-file, решение ошибокНастройка мандатных атрибутов в 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

Важные нюансы безопасности

  1. Мандатные атрибуты в сертифицированной Astra Linux SE являются частью утверждённого профиля защиты. Их произвольное изменение может нарушить соответствие требованиям ФСТЭК/Минобороны.
  2. После изменения меток файлов или пользователей рекомендуется выполнить pdpctl reload для применения политик без перезагрузки.
  3. В режимах enforcing доступ к объектам с более высоким уровнем конфиденциальности или другими категориями будет блокироваться ядром, даже для root.