+++++ Теория МРД доступна по ссылкам в статье и в видео +++++
+++++ Видео к этой статье смотрите по ссылке +++++
Использование внешних носителей информации
Если на предприятии введен режим секретности, то администраторам нужно четко понимать как этот механизм защиты работает не только с локальными дисками, но и с внешними носителями информации.
Использование внешних носителей в VirtualBox
Если вы используете среду виртуализации, то для работы с внешними накопителями вам нужно пробросить USB-устройство в виртуальную машину. В среде VirtualBox, например, для этого нужно выполнить следующие действия:
1. Выключите виртуальную машину и откройте окно настроек.
2. На вкладке USB включите «Контроллер USB 3.0 (xHCI)», затем подключите накопитель к компьютеру и добавьте его в фильтр устройств, выбрав из списка.
3. Извлеките USB-накопитель и включите виртуальную машину. С подключенным накопителем виртуальная машина может не загрузиться.
4. Подключите USB-накопитель к компьютеру и смонтируйте его внутри виртуальной машины.
Неучтенные носители информации
По умолчанию все USB-устройства считаются неучтенными, т.к. для них не созданы индивидуальные udev-правила, определяющие параметры их подключения в системе.
Запрет монтирования неучтенных носителей
В операционной системе Astra Linux обычные пользователи подключают USB-накопители из файлового менеджера fly-fm или через апплет из области уведомлений (fly-reflex-service). В техническом плане оба приложения используют команду mount, поэтому такие настройки являются временными и не сохраняются между загрузками системы.
Монтирование любых внешних носителей по умолчанию разрешается всем пользователям ALSE через участие в группе floppy (англ. дискета), что указано в udev-правиле /lib/udev/rules.d/91-group-floppy.rules. Порядок такого монтирования определяется в файле /etc/fstab.pdac
cat /lib/udev/rules.d/91-group-floppy.rules
Возможность монтирования любых внешних носителей создает угрозу утечки секретной информации, т.к. носители, отформатированные в EXT4, позволяют записывать на них в том числе и файлы с метками конфиденциальности. Поэтому в операционной системе Astra Linux есть утилита astra-mount-lock, которая позволяет запретить монтирование внешних носителей одной командой:
sudo astra-mount-lock enable
При выполнении команды в системе вносятся следующие два изменения:
1. В файле /lib/udev/rules.d/91-group-floppy.rules группа floppy заменяется на astra-admin:
cat /lib/udev/rules.d/91-group-floppy.rules
2. Создается udev-правило /usr/lib/udev/rules.d/73-astra-disable-unpreviledged-mtp-access.rules:
cat /usr/lib/udev/rules.d/73-astra-disable-unpreviledged-mtp-access.rules
После внесения указанных изменений обычные пользователи смогут монтировать только учтенные накопители, которые были зарегистрированы в системе администратором заранее. Для каждого зарегистрированного устройства создается индивидуальное udev-правило с параметрами монтирования.
Чтобы отключить блокировку неучтенных носителей администратору нужно будет выполнить ту же команду с параметром disable. При этом правило 73-astra-disable-unpreviledged-mtp-access.rules будет удалено, а в файле 91-group-floppy.rules группа astra-admin будет заменена обратно на floppy.
sudo astra-mount-lock disable
Неучтенные носители FAT и NTFS
Монтирование внешних носителей выполняется в точку /run/user/<user_id>/media/<device_id>, на которую устанавливаются права доступа rwxr-xr-x (755), а владельцами назначаются пользователь, от имени которого выполняется монтирование, и его первичная группа. Учитывая, что разметка FAT и NTFS не позволяет хранить дополнительную метаинформацию о правах доступа Linux, все вложенные файлы и папки наследуют права от точки монтирования.
В части мандатных прав на точку монтирования по умолчанию устанавливается нулевая классификационная метка, поэтому пользователь, вошедший в систему под какой-то категорией или уровнем конфиденциальности, сможет получить доступ к носителю только на чтение. Если требуется, чтобы пользователь мог использовать внешний носитель в режиме на запись при работе с секретными документами, это устройство нужно зарегистрировать в системе, т.е. сделать учтенным.
Неучтенные носители EXT4
Если носитель отформатирован в EXT4, то его можно использовать для хранения конфиденциальных документов, что может создавать угрозу утечки секретной информации. При введении на предприятии режима секретности настоятельно рекомендуется установить запрет на монтирование неучтенных устройств.
Подготовка носителя для хранения секретной информации включает следующие действия:
1. Создайте точку монтирования в корне диска или любом другом каталоге с максимальной меткой конфиденциальности и атрибутом ccnr, например, в /run:
sudo mkdir /run/media
2. Примонтируйте внешний носитель в эту точку. Например, если устройство было распознано как sdb, то для монтирования первого раздела нужно выполнить команду:
sudo mount /dev/sdb1 /run/media
3. Теперь создайте каталоги для хранения документов и настройте метки безопасности.
Если нам требуется использовать носитель для работы с документами разных категорий и уровней конфиденциальности, то на корень нужно назначить максимальную метку с атрибутом ccnr. Если носитель выдается для работы с документами конкретных категорий и уровней, метку конфиденциальности можно задать более точно.
sudo pdpl-file 4:0:-1:ccnr /run/media
После назначения метки безопасности на корень диска мы сможем создать каталоги для хранения секретных документов.
sudo mkdir /run/media/Мотострелковые_войска
sudo pdpl-file 4:0:0x1:ccnr /run/media/Мотострелковые_войска
sudo mkdir /run/media/Мотострелковые_войска/Документы_общего_пользования
sudo pdpl-file 0:0:0x1:0 /run/media/Мотострелковые_войска/Документы_общего_пользования
sudo mkdir /run/media/Мотострелковые_войска/Для_служебного_пользования
sudo pdpl-file 1:0:0x1:0 /run/media/Мотострелковые_войска/Для_служебного_пользования
sudo mkdir /run/media/Мотострелковые_войска/Секретно
sudo pdpl-file 2:0:0x1:0 /run/media/Мотострелковые_войска/Секретно
sudo mkdir /run/media/Мотострелковые_войска/Совершенно_секретно
sudo pdpl-file 3:0:0x1:0 /run/media/Мотострелковые_войска/Совершенно_секретно
sudo mkdir /run/media/Мотострелковые_войска/Особой_важности
sudo pdpl-file 4:0:0x1:0 /run/media/Мотострелковые_войска/Особой_важности
4. Осталось только настроить дискреционные права.
Без настройки дискреционных прав доступа пользователь не сможет воспользоваться внешним носителем EXT4. Если устройство было отформатировано с помощью утилиты fly-admin-format, то на корень диска по умолчанию выставляются права 755 (rwxr-xr-x), а владельцами назначаются пользователь, из-под которого выполнялось форматирование, и его первичная группа. Каталоги, созданные нами из-под sudo будут принадлежать пользователю root.
Чтобы сделать внешний носитель доступным на запись для всех пользователей, установите права 775 (rwxrwxr-x) и в качестве владельца назначьте специальную группу floppy c gid=25, которая используется в Astra Linux для разрешения полуавтоматического монтирования дисков:
sudo chmod -R 775 /run/media/
sudo chown -R root:floppy /run/media/
Однако, учитывая, что внешний носитель выдается конкретному сотруднику для индивидуального пользования, безопаснее будет назначить владельцем конкретного пользователя. В этом случае процессы, запущенные из-под других пользователей, не смогут получить доступ к носителю информации как минимум на уровне дискреционных прав:
sudo chmod -R 770 /run/media/
sudo chown -R propovednik:propovednik /run/media/
Теперь можно проверить носитель под разными уровнями секретности. Права доступа будут работать точно также, как на локальном диске.
Учтенные носители
Как уже было сказано ранее, внешние носители, зарегистрированные в системе заранее, называются учтенными. Для каждого из них создается индивидуальное udev-правило, с помощью которого можно не только разрешить монтирование этого устройства конкретному пользователю, но и определить дополнительные параметры монтирования.
Учтенные носители FAT
Для регистрации устройства нужно открыть графическую оснастку «Панель управления > Безопасность > Политика безопасности», выбрать в дереве узел «Устройства и правила» и нажать кнопку «+», чтобы создать новый элемент.
Далее нужно подключить USB-накопитель к компьютеру, приложение распознает это событие и отобразит параметры устройства, чтобы вы могли выбрать свойства, по которым нужно выполнять идентификацию носителя.
Для каждого зарегистрированного носителя создается отдельное udev-правило, поэтому крайне важно однозначно идентифицировать физическое устройство. Лучше всего для этого подходит свойство ID_SERIAL, которое включает серийный номер, емкость носителя и информацию о производителе, например, "JetFlash_Transcend_32GB_08XBQDCPX22PL4WH-0:0". Полный перечень всех свойств можно получить с помощью утилиты udevadm:
sudo udevadm info -a -n /dev/sdb1
Имя устройства, под которым носитель был распознан в системе, можно узнать с помощью утилиты fdisk:
sudo fdisk -l
Назовем регистрационную запись по имени владельца устройства localadmin-usb-drive и на вкладке «Общие» укажем следующие параметры монтирования:
- Дискреционные права, которые будут назначены на файлы /dev/sdb*, соответствующие этому устройству:
- Пользователь: localadmin, Чтение, Запись
- Группа: localadmin, Чтение
- Остальные: нет
- Свойства для идентификации устройства:
- Тип: ENV
- Ключ: ID_SERIAL
- Операция: ==
- Значение: "JetFlash_Transcend_32GB_08XBQDCPX22PL4WH-0:0"
На вкладке «МРД» укажем следующие параметры:
- Уровень: «2:Секретно»
- Категории: «0:Мотострелковые_войска»
Мандатные права доступа, указанные на этой вкладке, будут установлены на точку монтирования внешнего носителя информации /run/user/<user_id>/media/<device_id>
При сохранении регистрационной записи устройства будет создано следующее udev-правило:
cat /etc/udev/rules.d/99zz_PDAC_LOCAL_localadmin-usb-drive.rules
#Parsec DevAC udev rule 4 device "not descripted"
ENV{ID_SERIAL}=="JetFlash_Transcend_32GB_08XBQDCPX22PL4WH-0:0", OWNER="localadmin", GROUP="localadmin", MODE="640", PDPL="2:0:0x1:0x0!", AUDIT="o:0x0:0x0", GOTO="BLOCK_DEV"
GOTO="END"
LABEL="BLOCK_DEV"
SUBSYSTEM=="block", ENV{ID_FS_TYPE}=="?*", SYMLINK+="%k_$env{ID_FS_TYPE}", RUN+="/bin/ln -f /dev/%k /dev/%k_$env{ID_FS_TYPE}"
LABEL="END"
Теперь, даже если запрет на монтирование незарегистрированных внешних устройств не включен, этот носитель сможет монтировать только localadmin. Если пользователь выполнит вход в систему с такой же меткой конфиденциальности, как у зарегистрированного устройства, то файлы будут доступны на чтение/запись. Если метка пользователя окажется выше, то файлы будут доступны только для чтения.
Учтенные носители NTFS
Для работы с носителями NTFS используется дополнительное программное обеспечение ntfs-3g и fuse, в котором еще нет поддержки мандатного управления доступом, поэтому при регистрации таких носителей с ними можно работать только на нулевой классификационной метке. В остальном механизм работает точно так же, как в случае с носителями FAT.
Учтенные носители EXT4
Регистрация носителей EXT4 позволяет разрешить их монтирование в системе, даже если включен запрет на использование внешних устройств с помощью утилиты astra-mount-lock.
Дискреционные права доступа, указанные в регистрационной записи, будут установлены на файлы устройства /dev/sdb*, что позволит выполнить монтирование только тому пользователю, который указан в качестве владельца или является участником группы-владельца. Но права на точку монтирования /run/user/<user_id>/media/<device_id> и все вложенные файлы и папки будут определяться той метаинформацией, которая записана на самом устройстве.
Тоже самое и в отношении мандатных прав: настройки, указанные в регистрационной записи, для устройства, отформатированного в EXT4, не будут иметь никакого значения. Файлы и папки будут иметь те метки безопасности, которые сохранены в расширенных атрибутах этих объектов.
Резюме
Сведем указанную выше информацию в общую таблицу.
Таблица 1 – Возможность монтирования внешних носителей в Astra Linux