Информация | ||
---|---|---|
| ||
|
Изменение классификационной метки на поддеревьях файловой системы
Общие сведения
В операционной системе специального назначения Astra Linux Special Edition начиная с очередного обновления 1.4 и позднее возможна ситуация, когда при попытке изменения классификационной метки файлового объекта возникает "блокировка" внесения изменений:
- на файловый объект нельзя установить классификационную метку, превышающую классификационную метку каталога, содержащего данный файловый объект;
- на каталог нельзя установить более высокую классификационную метку, так как каталог, содержит файловые объекты с метками, меньшими устанавливаемой.
Для устранения этой "блокировки" применяется флаг ccnr в метке безопасности каталога. Этот флаг разрешает размещение в каталоге файловых объектов с классификационной меткой, меньшей чем классификационная метка самого каталога.
Пример
Корневому каталогу файловой системы по умолчанию присвоена максимальная метка безопасности (в т.ч. - максимальная классификационная метка) и специальный флаг - ccnr, позволяющий записывать в корневой каталог файловые объекты с классификационной меткой меньшей, чем максимальная классификационная метка. Проверить метку безопасности файлового объекта можно командой pdp-ls:
Command | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
drwxr-xr-xm-- 22 root root Уровень_3:Высокий:Категория_1,Категория_2,0xfffffffffffffffc:ccnr / |
Для примера создадим в корневом каталоге файловой системы новый каталог:
Command | ||||||
---|---|---|---|---|---|---|
| ||||||
sudo mkdir /mydir0 |
Созданному каталогу по умолчанию будет присвоена нулевая классификационная метка:
Command | ||||||
---|---|---|---|---|---|---|
| ||||||
drwxr-xr-x 2 root root Уровень_0:Низкий:Нет:0x0 /mydir0 |
Изменим классификационную метку созданного каталога /mydir0 на 1:0:0:0 с помощью команды pdpl-file:
Command | ||||
---|---|---|---|---|
| ||||
sudo pdpl-file 1:0:0:0 /mydir0 |
Теперь создадим ещё один каталог и запишем в него файл:
Command | ||||
---|---|---|---|---|
| ||||
sudo mkdir /mydir1 |
Метка безопасности нового каталога:
Command | ||||||
---|---|---|---|---|---|---|
| ||||||
drwxr-xr-x 2 root root Уровень_0:Низкий:Нет:0x0 /mydir1 |
Метка безопасности нового файла:
Command | ||||||
---|---|---|---|---|---|---|
| ||||||
итого 0 -rw-r--r-- 1 root root Уровень_0:Низкий:Нет:0x0 file |
Попробуем рекурсивно поменять метку безопасности на файле и директории:
панель | ||||||
---|---|---|---|---|---|---|
| ||||||
|
Данное поведение обусловлено положениями ДП-модели контроля доступа, разработанной специалистами академии ФСБ России и реализованной в Astra Linux Special Edition, начиная с версии 1.4 (см. Метка безопасности: структура и состав и Уровень конфиденциальности, категории конфиденциальности и целостность: что есть что, и как с этим работать?)
Поскольку операция создания файла в каталоге является операцией записи, классификационные метки каталога и файла должны совпадать. Т.е. в каталогах с нулевой меткой безопасности (0:0:0:0) при отсутствии специальных флагов (см. ниже) могут содержаться только файлы с нулевой меткой безопасности (0:0:0:0). При изменении классификационной метки на поддереве файловой системы (как в примере выше) правомерность такого изменения проверяется для каждого объекта файловой системы в отдельности. В примере выше нельзя изменить классификационную метку каталога /mydir1 на 1:0:0:0 (повысить иерархический уровень конфиденциальности с 0 до 1), т.к. этот каталог содержит файл с нулевой классификационной меткой. В тоже время нельзя изменить классификационную метку файла /mydir1/file на 1:0:0:0, т.к. этот файл содержится в каталоге (т.е. объекте-контейнере) с нулевой классификационной меткой 0:0:0:0.
Порядок изменения значений атрибутов классификационной метки
Порядок установки ненулевых или повышения значений атрибутов классификационной метки
Как упоминалось выше, в Astra Linux Special Edition предусмотрены специальные флаги или "типы метки" для объектов-контейнеров, с помощью которых администратор безопасности может решить задачу рекурсивной смены метки безопасности на файловой системе. Их описание из руководства по КСЗ:
Раскрыть |
---|
Дополнительные мандатные атрибуты управления доступом позволяют уточнять или изменять правила мандатного управления доступом для тех или иных субъектов или сущностей: В ОС предусмотрено существование объектов-контейнеров (например, каталогов), т.е. объектов, которые могут содержать другие объекты. Метка безопасности объекта-контейнера определяет максимальную метку безопасности вложенных объектов. Тип метки безопасности может использоваться для того, чтобы изменять ее эффективное действие: – тип метки ehole применяется к объектам-контейнерам и простым объектам для игнорирования мандатных правил разграничения доступа к ним; |
Для того чтобы установить (повысить) классификационную метку на поддереве файловой системы выполнить следующее:
- Рекурсивно установить на все каталоги поддерева, начиная с верхнего, классификационную метку с требуемыми значениями иерархического уровня конфиденциальности, набором неиерархических категорий конфиденциальности и флагом ccnr. Если предполагается, что в поддереве будут содержаться файловые объекты с разными классификационными метками, то на каждый подкаталог следует установить максимальную для содержащихся в нем файловых объектов классификационную метку;
- Установить на файлы поддерева классификационную метку с требуемыми значениями атрибутов;
- Снять c каталогов флаг ccnr (если этот флаг не нужен, т.е. все содержащиеся в поддереве файловые объекты имеют одинаковые классификационные метки);
Пример
Для созданного в предыдущем примере каталога /mydir1, имеющего нулевую классификационную метку и содержащего файл /mydir1/file, также имеющего нулевую классификационную метку:
Рекурсивно (флаг -R команды pdpl-file) изменить классификационные метки на каталогах и добавить флаг ccnr:
Command borderColor #c2e6ff bgColor #e2f3ff sudo pdpl-file -R 1:0:0:ccnr /mydir1
Рекурсивно изменить классификационные метки файлов, например:
Command borderColor #c2e6ff bgColor #e2f3ff sudo find /mydir1 -type f -exec pdpl-file 1:0:0:0 {} \;
При возможности - рекурсивно убирать флаг ccnr с каталогов:
Command borderColor #c2e6ff bgColor #e2f3ff sudo find /mydir1 -type d -exec pdpl-file 1:0:0:0 {} \;
Порядок установки нулевых или понижения значений атрибутов классификационной метки
Для понижения значений атрибутов классификационной метки можно использовать ключ -r команды pdpl-file ("r-строчное" в отличие от ранее использованного ключа -R - рекурсивное выполнение). При использовании этого ключа рекурсивное изменение мандатных атрибутов выполняется в обратном порядке, начиная с вложенных файловых объектов. Такой порядок изменения позволяет сначала понизить классификационную метку файлов, а затем - классификационную метку содержащего их каталога. Реверсивный порядок внесения изменений при понижении значений меток необходим так как попытка понизить сначала классификационную метку каталога приведет к ошибке (каталог не может содержать файловые объекты с классификационной меткой большей чем метка самого каталога).
Порядок выполнения:
Рекурсивно (флаг -R команды pdpl-file) установить классификационные метки на каталогах, добавив флаг ccnr:
Command borderColor #c2e6ff bgColor #e2f3ff sudo pdpl-file -R 1:0:0:ccnr /mydir1
Рекурсивно изменить классификационные метки файловых объектов, например, обнулить классификационные метки в реверсивном порядке:
Command borderColor #c2e6ff bgColor #e2f3ff pdpl-file -R -r 0:0:0:0 /mydir