Замкнутая программная среда astra linux настройка

Общая информация

Замкнутая программная среда (ЗПС) является средством повышения безопасность ОС путем контроля целостности (неизменности) файлов. Механизм контроля реализован в виде невыгружаемого модуля ядра Astra Linux (модуль digsig_verif), выполняющего проверку электронной цифровой подписи файлов (ЭЦП). Проверка применяется:

  • к файлам формата ELF (исполняемым файлам и разделяемым библиотекам) — проверка ЭЦП, записанной в специальное поле файла (далее — встроенная ЭЦП);
  • к любым файлам — проверка ЭЦП, размещаемой в расширенных атрибутах файла (далее — присоединенная ЭЦП);

Режимы выполнения проверки описаны ниже.

Средства создания ЗПС предоставляют возможности внедрения встроенной ЭЦП в исполняемые файлы формата ELF, входящие в состав устанавливаемого СПО, и возможность создания присоединенных ЭЦП. Поддерживается использование при подписывании нескольких ключей.

Настройка режима работы модуля digsig_verif

Графический инструмент fly-admin-smc

Графический инструмент fly-admin-smc может применяться для настройки всех параметров. Инструмент входит в состав пакета fly-admin-local, устанавливается по умолчанию при установке ОС и доступен в графическом меню: >. Описание графического инструмента приведено в его электронной справке. Модуль fly-admin-smc для работы с ЗПС входит в пакет fly-admin-digsig и также устанавливается по умолчанию.

Инструмент командной строки astra-digsig-control

Инструмент командной строки astra-digsig-control входит в состав пакета astra-safepolicy. Применяется д ля настройки режима проверки подписи в исполняемых файлах.

Параметры работы ЗПС в каталоге /etc/digsig/

Параметры работы ЗПС в файле /etc/digsig/digsig_initramfs.conf

Настройка режима работы ЗПС может осуществляться путем прямого редактирования конфигурационного файла /etc/digsig/digsig_initramfs.conf.

Для того, чтобы изменения, сделанные в каталоге /etc/digsig (в том числе — изменения, сделанные в конфигурационном файле /etc/digsig/digsig_initramfs.conf) активировались:

Изменения, сделанные в каталоге /etc/digsig без выполнения указанной процедуры, никогда не применяются.

Параметры задаются в виде:

Используются следующие параметры:

  • DIGSIG_ELF_MODE — режим проверки встроенной ЭЦП в файлах формата ELF. Возможные значения:
    • 0 — Значение по умолчанию. Проверка встроенной ЭЦП отключена. Может применяться как отладочный режим для разработки и отладки СПО;
    • 1 — Штатный режим проверки встроенной ЭЦП. Проверка встроенной ЭЦП включена. В ыполнение файлов, имеющих неверную встроенную ЭЦП или не имеющих встроенную ЭЦП, запрещается;
    • 2 — Режим проверки работы СПО в ЗПС. Проверка встроенной ЭЦП включена. В ыполнение файлов, имеющих неверную встроенную ЭЦП или не имеющих встроенную ЭЦП, разрешается, но при этом выдается сообщение об ошибке проверки ЭЦП;
    • 0 — Значение по умолчанию. Проверка прикрепленной ЭЦП отключена. Может применяться как отладочный режим для разработки и отладки СПО;
    • 1 — Штатный режим проверки прикрепленной ЭЦП. Проверка прикрепленной ЭЦП включена. В ыполнение файлов, имеющих неверную прикрепленную ЭЦП или не имеющих прикрепленную ЭЦП, запрещается;
    • 2 — Режим проверки работы СПО в ЗПС. Проверка прикрепленной ЭЦП включена. В ыполнение файлов, имеющих неверную прикрепленную ЭЦП или не имеющих прикрепленную ЭЦП, разрешается, но при этом выдается сообщение об ошибке проверки ЭЦП;
    • 0 — Значение по умолчанию. При проверке встроенной ЭЦП ключи для проверки присоединенной ЭЦП используются;
    • 1 – При проверке встроенной ЭЦП ключи для проверки присоединенной ЭЦП игнорируются;
    • DIGSIG_IGNORE_GOST2001 – режим использования при проверке ЭЦП по ГОСТ~Р~34.10-2001:
      • 0 — Значение по умолчанию. При проверке ЭЦП по ГОСТ~Р~34.10-2001 используется;
      • 1 – При проверке ЭЦП по ГОСТ~Р~34.10-2001 не используется;

      Данные для работы ЗПС

      Помимо конфигурационного файла /etc/digsig/digsig_initramfs.conf в каталоге /etc/digsig/ представлены:

      • Каталог /etc/digsig/keys — каталог дополнительных ключей для проверки встроенной и присоединенной ЭЦП;
      • Файл /etc/digsig/xattr_control — список шаблонов шаблонов имен, определяющих файлы, в которых проверяется присоединенная ЭЦП;
      • Каталог /etc/digsig/xattr_keys — каталог дополнительных ключей, используемых только при проверке присоединенной ЭЦП;

      Шаблоны для проверки присоединенной ЭЦП

      В файле /etc/digsig/xattr_control хранится список шаблонов шаблонов имен файлов, определяющих файлы, в которых проверяется присоединенная ЭЦП. Порядок применения шаблонов:

      • В шаблонах должны указываться абсолютные пути, т.е шаблон всегда должен начинаться с символа slash (косая черта, «/»);
      • Шаблоны, начинающиеся с двух символов slash («//»), указывают имя конкретного файла. Например: //bin/script.sh;
      • Шаблоны, оканчивающиеся символом slash, указывают имя каталога, в котором должны проверяться все файлы (включая файлы в подкаталогах). Например: /bin/;
      • Все остальные шаблоны рассматриваются как префикс имени файла, Например, шаблону /bin/script соответствуют файлы: /bin/script, /bin/script.signed, /bin/script12345 и т.д.

      Динамическое управление режимами работы ЗПС

      Динамическое управление режимами работы ЗПС осуществляется через интерфейс sysfs. При этом действуют следующие ограничения:

      • Изменения, вносимые с помощью динамического управления применяются только к конфигурации, загруженной ядро через обновление ramfs и перезагрузку. Текущее состояние файлов в каталоге /etc/digsig значения при этом не имеет;
      • Нулевые значения числовых параметров могут быть динамически заменены на ненулевые («включены»);
      • Ненулевые значения числовых параметров не могут быть динамически изменены, в т.ч. не могут быть заменены на нулевые («выключены»);
      • Данные (ключи, маски файлов) могут быть только добавлены и не могут быть прочитаны, удалены или изменены;
      • Все изменения, сделанные с помощью динамического управления, сохраняются до перезагрузки;
      • Все изменения, сделанные с помощью динамического управления, при перезагрузке удаляются;

      Доступны следующие интерфейсы, представленные специальными файлами:

      • Интерфейсы просмотра и включения параметров конфигурации:
        • /sys/digsig/elf_mode — режим проверки встроенной ЭЦП. Соответствует параметру конфигурации DIGSIG_ELF_MODE ;
        • /sys/digsig/xattr_mode — режим проверки присоединенной ЭЦП. Соответствует параметру конфигурации DIGSIG_XATTR_MODE ;
        • /sys/digsig/ignore_gost2001 — режим проверки ЭЦП по ГОСТ~Р~34.10-2001. Соответствует параметру конфигурации DIGSIG_IGNORE_GOST2001 ;
        • /sys/digsig/ignore_xattr_keys — режим применения при проверке встроенной ЭЦП ключей для проверки присоединенной ЭЦП. Соответствует параметру конфигурации DIGSIG_IGNORE_XATTR_KEYS ;
        • /sys/digsig/keys — интерфейс загрузки дополнительных ключей для проверки встроенной и присоединенной ЭЦП;
        • /sys/digsig/xattr_control — интерфейс загрузки дополнительных шаблонов имен, используемых при проверке присоединенной ЭЦП;
        • /sys/digsig/xattr_keys — интерфейс загрузки дополнительных ключей, используемых только при проверке присоединенной ЭЦП;

        Для получения значения параметра конфигурации, управляемого интерфейсом, нужное значение следует прочитать из соответствующего файла:

        Например, проверка установленных режимов проверки присоединенной и отсоединенной ЭЦП может быть выполнена командой:

        В модуль digsig_verify встроены открытые ключи, которые используются:

        • для проверки встроенных ЭЦП;
        • для проверки присоединенных ЭЦП;
        • для проверки ЭЦП в дополнительных ключах, загружаемых из каталога /etc/digsig/keys.

        В каждый момент времени модуль использует два набора ключей:

        • основной набор ключей — для проверки всех ЭЦП;
        • дополнительный набор ключей в каталоге /etc/digsig/keys (изначально пустой) — для проверки встроенных ЭЦП;
        • дополнительный набор ключей в каталоге /etc/digsig/keys_xattrs (изначально пустой) — для проверки присоединенных ЭЦП и, возможно, встроенных ЭЦП. Подпись на первом ключе из этого набора не проверяется..

        Все ключи хранятся в указанных каталогах и их подкаталогах (см. ниже). Ключи хранятся в формате gnupg —export/etc/digsig/keys и загружаются при загрузке ОС;

        При проверке ЭЦП первоначально поиск ключей выполняется в дополнительном наборе. Если дополнительный набор не содержит ключа, использовавшегося для создания ЭЦП, модуль ищет подходящий ключ в основном наборе.

        Каждый новый ключ, использованный для подписывания СПО, необходимо включить в дополнительный набор ключей, для чего скопировать файл с ключом в каталог /etc/digsig/keys/ или /etc/digsig/xattr_keys, например, с использованием команды:

        Каждый ключ в момент его добавления в каталог /etc/digsig/keys должен быть подписан уже загруженным ключом. При этом в подкаталогах ключи располагаются в иерархической структуре, которая обрабатывается сверху вниз таким образом, что:

        • файлы ключей в корневом каталоге (/etc/digsig/keys) должны быть подписаны встроенными в модуль digsig_verify ключами;
        • каждый ключ в подкаталогах должен быть подписан либо ключом из вышележащего каталога, либо встроенным ключом.

        /etc/digsig/keys/key1.gpg — публичный ключ 1, подписанный на встроенном ключе;
        /etc/digsig/keys/key2.gpg — публичный ключ 2, подписанный на встроенном ключе;
        /etc/digsig/keys/key1/key1-1.gpg — публичный ключ, подписанный на ключе 1
        /etc/digsig/keys/key1/key1-2.gpg — публичный ключ, подписанный на ключе 1
        /etc/digsig/keys/key2/key2-1.gpg — публичный ключ, подписанный на ключе 2
        /etc/digsig/keys/key2/key2-2.gpg — публичный ключ, подписанный на ключе 2

        Каждый дополнительный ключ, использованный для проверки присоединенной ЭЦП, необходимо скопировать в каталог /etc/digsig/xattr_keys/, например:

        В каталоге /etc/digsig/xattr_keys/ также может располагаться иерархическая структура дополнительных ключей, в которой одни дополнительные ключи должны быть подписаны на других дополнительных ключах. При этом дополнительные ключи должны располагаться в подкаталогах таким образом, чтобы при их загрузке не нарушалась цепочка проверки подписей (см. пример выше).

        Графический инструмент fly-admin-smc

        В состав Astra Linux входит графический инструмент fly-admin-smc, предоставляющий возможности работы с настройками ЗПС. Инструмент доступен в графическом меню: «Пуск» — «Панель управления» — «Безопасность» — «Политика безопасности» — «Замкнутая программная среда». Работа с инструментом подробно описана во встроенной справке. (клавиша F1).

        Подписывание ПО

        Встроенная ЭЦП

        Присоединенная ЭЦП

        В примере рассматривается создание собственного ключа, предназначенного для создание и проверки присоединенной ЭЦП. Для создания дополнительных ключей используется ПО GNU Privacy Guard. Входящий в состав Astra Linux модифицированный GnuPG поддерживает алгоритм ГОСТ~Р~34.11-94. Список доступных алгоритмов можно проверить командой:

        Далее приведен пример создания дополнительного ключа и его использования для создание встроенной ЭЦП.

          Создать ключевую пару. По умолчанию пара будет сохранена подкаталоге .gnupg домашнего каталога текущего пользователя. Ключевая пара может быть создана с помощью графического инструмента fly-admin-amc, или в командной строке в интерактивном или пакетом режиме.

            Для создания ключевой пары в интерактивном режиме выполнить команду:
          _открытый и секретный ключи созданы и подписаны. pub rsa3072 2022-11-24 [SC] [ годен до: 2024-11-23] 12B6FA0CD98F2D9CE72AB595C0316DBD6D879F9Fо uid имя_пользователя sub rsa3072 2022-11-24 [E] [ годен до: 2024-11-23]

          Далее в примерах для идентификации ключа используется идентификатор ключа — последовательность шестнадцатеричных цифр, в примере выше 12B6FA0CD98F2D9CE72AB595C0316DBD6D879F9F. Ключ можно также идентифицировать по имени пользователя;

            Создать файл с параметрами ключа, например:

          Key-Type:GOST_R34.10-2012 %no-protection Name-Real: Name-Comment: Name-Email:

          Наличие подписи в ключах для проверки присоединенной ЭЦП не проверяется. Поэтому созданный ключ можно экспортировать не подписывая:

          Если заданная маска оканчивается символом «/», то она интерпретируется как имя каталога и контролируются все файлы в этом каталоге, в ином случае маска интерпретируется как префикс полного имени контролируемых файлов.

          Подписание файлов должно быть выполнено до включения проверки ЭЦП, так как после включения проверки ЭЦП подписание неподписанных файлов будет заблокировано.

          Дополнительная информация доступна в справке по утилите bsign;

          1. Изменить параметр DIGSIG_XATTR_MODE в файле /etc/digsig/digsig_initramfs.conf, указав нужный режим проверки;
          2. Выполнить команду:

          Для проверки наличия и правильности ЭЦП файла можно использовать утилиту bsign:

          Модуль проверки подписи приложений digsig_verif является модулем ядра. Сообщения модулей ядра можно просмотреть командой:

          Попытки запуска не подписанных файлов во включенной ЗПС будут отображаться в журналах, сохраняемых в файлах /var/log/messages и /var/log/kernel.log, сообщениями вида :

          . DIGSIG: [ERROR] NOT SIGNED: path=.

          Источник

          Читайте также:  Линукс nvidia настройка видеокарты
Оцените статью
Adblock
detector