Astra linux повысить уровень целостности

Значения по умолчанию

  • По умолчанию, после установки ОС:
    • включен режим МКЦ ОС:
      • установлен параметр ядра `max_ilev = 63`
      • все процессы, начиная от init до менеджера входа fly-dm, имеют уровень целостности 63 (если в конфигурации юнита явно не указано иное).
      • Графический сервер Xorg по умолчанию работает не от имени суперпользователя root (uid 0), а от пользователя, и работает на выделенном уровне МКЦ 8.
      • Администратор, созданный при установке ОС, получает 63-й «красный» уровень МКЦ,
      • Пользователи получают нулевой «синий» уровень МКЦ
      • Администраторы из группы astra-admin автоматически получают 63-й «красный» уровень МКЦ
      • Пользователи получают нулевой «синий» уровень МКЦ.

      для подсистем виртуализации (для гостевых систем, отличных от ОССН Смоленск и контейнеров LXC на нулевом уровне): 2,

        X-сервер в общем случае (если есть поддержка KMS в ядре) по умолчанию работает от имени пользователя fly-dm под выделенным уровнем МКЦ 8.

      Флаги мандатной метки

      • На контейнеры (каталоги) больше нельзя устанавливать флаги ehole.
        Допускается только установка флагов

      Можно использовать псевдоним CCNRA (соответствует одновременно установленным флагам ccnr и ccnri).

      дающий разрешение записывать в файл «снизу вверх» (чтение по обычным правилам МРД).
      Новый флаг whole также нельзя устанавливать на контейнерах.

      • Запись в каталог с высокой целостностью и установленным флагом ccnri
        не может быть выполнена процессом с более низким уровнем целостности чем у контейнера (каталога).
      • Пользователь не может производить запись в контейнер (каталог)
        с установленным больше нуля уровнем МКЦ и с установленным флагом ccnri,
        если он не вошел в систему на уровне МКЦ равном или большем уровню МКЦ контейнера,
        или не обладает привилегией parsec_cap_ignmacint.
      • Пользователь не может производить запись в контейнер (каталог)
        с установленной (ненулевой) меткой конфиденциальности и с установленным флагом ccnr
        информации, отличной от уровня конфиденциальности контейнера,
        если он не зашел под уровнем конфиденциальности равным уровню конфиденциальности контейнера (каталога),
        или не обладает привилегиями parsec_cap_ignmaccat и parsec_cap_ignmaclvl.
      • Eсли в загрузчике указать параметр ядра

      то непривилегированный пользователь получит возможность производить запись файлов с разным уровнем конфиденциальности в контейнер (каталог) с установленным флагом ccnr.

      Уровни целостности

      запись в объект (или остановка процесса или юнита) разрешена,
      если набор бит уровня МКЦ субъекта
      «включает» в себя (операция сравнения &) набор бит уровня МКЦ объекта.

      000 0b00000000 — Нулевой уровень. «Низкий», или «Low»
      001 0b00000001 — Уровень задействован как «Сетевые сервисы»
      002 0b00000010 — Уровень задействован как «Виртуализация»
      004 0b00000100 — Уровень задействован как «Специальное ПО»
      008 0b00001000 — Уровень задействован как «Графический сервер»
      016 0b00010000 — Свободен, может быть использован для сетевых сервисов.
      032 0b00100000 — Свободен, может быть использован для сетевых сервисов.
      064 0b01000000 — Зарезервирован, и может быть использован при поднятии max_ilev.
      128 0b10000000 — Зарезервирован, и может быть использован при поднятии max_ilev.

      При этом, изолированные уровни 1,2,4,8-задействованы,
      уровни 16,32 также могут быть использованы для различных сетевых сервисов и СПО.
      Уровни 64 и 128 зарезервированы, и могут быть использованы только при одновременном поднятии max_ilev.

      • Уровень МКЦ после установки контроля целостности на ФС по умолчанию будет равен 63 (0b00111111), и запись в объекты ФС возможна только для процессов с уровнями

      63 0b00111111
      127 0b01111111
      191 0b10111111
      255 0b11111111

      Уровни целостности для systemd-служб

      • Механизм одновременной работы с разными уровнями sumac теперь доступен только для тех пользователей,
        которым задана привилегия parsec_cap_sumac.
      • В ОС реализована возможность назначения уровня целостности и конфиденциальности для systmed-служб.
        Для этого в unit-файле службы .service нужно добавить параметр PDPLabel с нужной мандатной меткой в разделе [Service] :

      Формат метки аналогичен принятому в системе Parsec (pdpl-file —help) , за исключением поля типа метки: метка процесса не может иметь флагов ccnr/ccnri/ehole/whole .

      При этом, при задании уровней мандатных привилегий рекомендуется использовать числовые обозначения,
      так как при разрешении имён могут оказаться задействованы сетевые ресурсы (например, LDAP-каталоги),
      что может приводить к сложно диагностируемым ошибкам конфигурации.

      После редактирования unit-файла вызовите:

      systemctl daemon-reload; systemctl restart .service

      Для проверки реально полученной метки процесса определите pid процесса:

      и по определённому pid процесса узнайте метку

      Parsec-привилегии

      • Добавлена Parsec-привилегия PARSEC_CAP_SUMAC , позволяющая запускать процессы другим уровнем конфиденциальности.

      Поддерживаются привилегии, добавленные в предыдущей версии ОССН Смоленск:

        Привилегия PARSEC_CAP_UNSAFE_SETXATTR , позволяющая устанавливать мандатные атрибуты объектов ФС без учета мандатных атрибутов родительского объекта-контейнера.
        Привилегия используется для восстановления объектов ФС из резервных копий, и действует только после установки значения 1 для параметра /parsecfs/unsecure_setxattr

      Источник

      Читайте также:  Логи подключенных usb linux
Оцените статью
Adblock
detector