Дерево страниц

Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Оглавление


Информация
titleДанная статья применима к:
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
  • Astra Linux Special Edition РУСБ.10152-02 (очередное обновление 4.7)
  • Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
  • Astra Linux Special Edition РУСБ.10015-16 исп. 1


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

Инструменты замкнутой программной среды Замкнутая программная среда (ЗПС) предоставляют администраторам ОС возможность внедрения цифровой подписи в исполняемые файлы формата ELF, входящие в состав устанавливаемого СПО, и в расширенные атрибуты файловой системы.

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

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

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

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

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

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

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

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

Графический инструмент fly-admin-smc может применяться для настройки всех параметров. Инструмент устанавливается по умолчанию при установке ОС и доступен в графическом меню:

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

Настройка модуля digsig_verif

Настройка режима функционирования модуля digsig_verif осуществляется посредством графического инструмента fly-admin-smc (<<Панель управления --- Безопасность --- Политика безопасности --- Замкнутая программная среда>>) или путем редактирования конфигурационного файла /etc/digsig/digsig_initramfs . conf. Описание использования графического инструмента приведено в электронной справке.

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

Инструмент Дополнительно для настройки режима функционирования модуля digsig_verif с проверкой подписи в исполняемых файлах можно использовать инструмент командной строки astra-digsig-control , входящий в пакет astra-safepolicy (смприменяется для настройки режима проверки подписи в исполняемых файлах. См. Инструменты командной строки astra-safepolicy).

Порядок прямого редактирования конфигурации модуля digsig_verif для настройки режима проверки подписи ELF:

.

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

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

DIGSIG_ELF_MODE=1

активировались:

  1. Выполнить команду:

Информация

Для того, чтобы изменения, сделанные в конфигурационном файле

Раскрыть

Редактирование конфигурационного файла /etc/digsig/digsig_initramfs.conf осуществляется следующим образом:

для использования отладочного режима для тестирования СПО необходимо установить для параметра DIGSIG_ELF_MODE значение 0:

Информация
DIGSIG_ELF_MODE=0

для использования режима для проверки ЭЦП в СПО необходимо установить для параметра DIGSIG_ELF_MODE значение 2:

Информация
DIGSIG_ELF_MODE=2

для использования штатного режима функционирования необходимо установить для параметра DIGSIG_ELF_MODE значение 1:

Информация
Command

sudo update-initramfs -u -k all


  • Перезагрузить компьютер.
  • Параметрызадаются в виде:

    Блок кода
    <имя_параметра>=<значение_параметра>

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

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

      • 0 — Значение по умолчанию. При проверке встроенной ЭЦП ключи для проверки присоединенной ЭЦП используются;
      • 1 – При проверке встроенной ЭЦП ключи для проверки присоединенной ЭЦП игнорируются;
    • DIGSIG_IGNORE_GOST2001 – режим использования при проверке ЭЦП по ГОСТ~Р~34.10-2001:
      • 0 — Значение по умолчанию. При проверке ЭЦП по ГОСТ~Р~34.10-2001 используется;
      • 1 – При проверке ЭЦП по ГОСТ~Р~34.10-2001 не используется;

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

    Динамическое управление модулем digsig_verif осуществляется через  интерфейс sysfs. Изменения, внесенные этим способом, активируются немедленно и сохраняются до перезагрузки ОС. Для управления доступны следующие  интерфейсы, представленные специальными файлами:

    • Интерфейсы, управляющие параметрами конфигурации: 
      • /sys/digsig/elf_mode --- просмотр и переключение режима проверки встроенной ЭЦП. Управляет параметром конфигурации DIGSIG_ELF_MODE. Поддерживается только динамическое включение режима проверки (режим 1 или 2). Динамическое выключение и динамическое изменение включенного режима не поддерживаются;
      • /sys/digsig/xattr_mode --- просмотр и переключение режима проверки присоединенной ЭЦП. Управляет параметром конфигурации DIGSIG_XATTR_MODE. Поддерживается только динамическое включение режима проверки (режим 1 или 2). Динамическое выключение и динамическое изменение включенного режима не поддерживаются;
      • /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 --- интерфейс загрузки дополнительных ключей, используемых только при проверке присоединенной ЭЦП;

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

    Command
    echo <значение> | sudo tee /sys/digsig/<имя_файла>

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

    Command
    sudo cat /sys/digsig/<имя_файла>

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

    Command
    sudo cat /sys/digsig/elf_mode /sys/digsig/xattr_mode

    Ключи для работы с ЭЦП

    В модуль digsig_verify встроены открытые ключи АО "НПО РусБИТех", которые используются:

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

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

    • основной набор (изначально три встроенных ключа АО "НПО РусБИТех") --- для проверки любых подписей;
    • дополнительный набор (изначально пустой) --- только для проверки подписи открываемых файлов в расширенных атрибутах.
    • ключей — для проверки всех ЭЦП;
    • дополнительный набор ключей  в каталоге /etc/digsig/keys (изначально пустой) — для проверки встроенных ЭЦП;
    • дополнительный набор ключей  в каталоге /etc/digsig/keys_xattrs (изначально пустой) — для проверки присоединенных ЭЦП и, возможно, встроенных ЭЦП. Подпись на первом ключе из этого набора не проверяется..

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

    При проверке ЭЦП первоначально поиск ключей выполняется в дополнительном наборе. Если дополнительный набор не содержит ключа, который использовался для подписи файла в расширенных атрибутахиспользовавшегося для создания ЭЦП, модуль ищет подходящий ключ в основном наборе.Каталог /etc/digsig/keys содержит открытые ключи в формате gnupg --export, которыми расширяется основной набор ключей при загрузке системы. Каждый

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

    Command
        sudo cp /<каталог>/<файл ключа> /etc/digsig/keys/

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

    • файлы ключей в корневом каталоге (/etc/digsig/keys) должны быть подписаны встроенными в модуль digsig_verify ключами АО "НПО РусБИТех";файлы ключей в /etc/digsig/keys/subdirectory могут быть подписаны и встроенными ключами АО "НПО РусБИТех", и ключами из /etc/digsig/keys;
    • в целом, каждый ключ из подкаталога внутри /etc/digsig/keys в подкаталогах должен быть подписан либо ключом из вышележащего каталога, либо встроенным ключом АО "НПО РусБИТех".

    Например:

    Информация
    /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

    Для проверки использования дополнительных ключей для контроля целостности исполняемых файлов и разделяемых библиотек формата ELF (до перезагрузки ОС) можно от имени учетной записи
    администратора через механизм sudo выполнить команды:

    Command

    sudo -s

    cat /etc/digsig/key_for_signing.gpg > /sys/digsig/keys
    cat /etc/digsig/keys/key1.gpg >> /sys/digsig/keys
    cat /etc/digsig/keys/key2.gpg >> /sys/digsig/keys
    cat /etc/digsig/keys/key1/key1-1.gpg >> /sys/digsig/keys
    cat /etc/digsig/keys/key1/key1-2.gpg >> /sys/digsig/keys
    cat /etc/digsig/keys/key2/key2-1.gpg >> /sys/digsig/keys
    cat /etc/digsig/keys/key2/key2-2.gpg >> /sys/digsig/keys

    exit

    Предупреждение
    При проверке ЭЦП в расширенных атрибутах файловой системы установка для параметра DIGSIG_XATTR_MODE значения 1 запрещает открытие поставленных на контроль файлов с неверной ЭЦП или без ЭЦП.
    Настройка режима функционирования механизма контроля целостности файлов при их открытии на основе ЭЦП в расширенных атрибутах файловой системы осуществляется с помощью графического инструмента fly-admin-smc (<<Панель управления --- Безопасность --- Политика безопасности --- Замкнутая программная среда>>) или путем редактирования конфигурационного файла /etc/digsig/digsig_initramfs.conf.

    Порядок прямого редактирования конфигурации модуля digsig_verif для настройки режима проверки подписи в расширенных атрибутах (xattr):

    Раскрыть

    Редактирование конфигурационного файла /etc/digsig/digsig_initramfs.conf осуществляется следующим образом:

    для включения проверки подписей в режиме запрета открытия поставленных на контроль файлов с неверной ЭЦП или без ЭЦП в расширенных атрибутах файловой системы необходимо установить для параметра |DIGSIG_XATTR_MODE значение 1:

    Информация
    GSIG_XATTR_MODE=1

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

    Информация
    DIGSIG_XATTR_MODE=2

    для игнорирования дополнительных ключей, используемых только при проверке ЭЦП в расширенных атрибутах файловой, необходимо установить для параметра DIGSIG_IGNORE_XATTR_KEYS значение 1:

    Информация
    DIGSIG_IGNORE_XATTR_KEYS=1

    для настройки шаблонов имен, используемых при проверке ЭЦП в расширенных атрибутах ФС, необходимо в файле /etc/digsig/xattr_control задать их список. Каждая строка задает свой шаблон в виде маски полного пути. Например, следующий шаблон определяет, что будет проверяться ЭЦП всех файлов в каталоге /bin, имя которых начинается на lo (т.е. имён, соотвествующих регулярному выражению (шаблону) /bin/lo*):

    info
    \bin\lo        
    • Для отображения сообщения о загрузке неподписанного файла можно добавить в автозапуск утилиту fly-syslog-monitor.

    Каталог /etc/digsig/xattr_keys содержит открытые ключи в формате gnupg --export, которыми расширяется дополнительный набор ключей модуля (изначально пустой набор, используемый только для проверки подписи в расширенных атрибутах файла). Подписи на ключах дополнительного набора не проверяются.
    Каждый дополнительный ключ, использованный для подписывания файлов в расширенных атрибутахпроверки присоединенной ЭЦП, необходимо скопировать в каталог /etc/digsig/xattr_keys/, например, с
    использованием команды:

    Command
    sudo cp /<каталог>/<файл ключа> /etc/digsig/xattr_keys/

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

    Информация
    /etc/digsig/xattr_keys/key1.gpg - публичный ключ 1
    /etc/digsig/xattr_keys/key2.gpg - публичный ключ 2
    /etc/digsig/xattr_keys/key1/key1-1.gpg - публичный ключ, подписанный на ключе 1
    /etc/digsig/xattr_keys/key1/key1-2.gpg - публичный ключ, подписанный на ключе 1
    /etc/digsig/xattr_keys/key2/key2-1.gpg - публичный ключ, подписанный на ключе 2
    /etc/digsig/xattr_keys/key2/key2-2.gpg - публичный ключ, подписанный на ключе 2
    Для проверки использования дополнительных ключей для контроля целостности файлов (до перезагрузки ОС) можно от имени учетной записи администратора через механизм sudo выполнить команды:
    Command

    sudo -s

    cat /etc/digsig/xattr_keys/key1.gpg >> /sys/digsig/xattr_keys
    cat /etc/digsig/xattr_keys/key2.gpg >> /sys/digsig/xattr_keys
    cat /etc/digsig/xattr_keys/key1/key1-1.gpg >> /sys/digsig/xattr_keys
    cat /etc/digsig/xattr_keys/key1/key1-2.gpg >> /sys/digsig/xattr_keys
    cat /etc/digsig/xattr_keys/key2/key2-1.gpg >> /sys/digsig/xattr_keys
    cat /etc/digsig/xattr_keys/key2/key2-2.gpg >> /sys/digsig/xattr_keys

    exit

    Управление модулем digsig_verif осуществляется через  интерфейс sysfs с использованием файлов:
    • /sys/digsig/elf_mode --- просмотр и переключение режима работы при проверке ЭЦП исполняемых файлов и разделяемых библиотек формата ELF;
    • /sys/digsig/xattr_mode --- просмотр и переключение режима работы при проверке ЭЦП в расширенных атрибутах файловой системы;
    • /sys/digsig/keys --- файл загрузки дополнительных ключей для проверки ЭЦП исполняемых файлов формата ELF и ЭЦП в расширенных атрибутах ФС;
    • /sys/digsig/ignore_gost2001 --- отключение проверки ЭЦП по ГОСТ~Р~34.10-2001;
    • /sys/digsig/ignore_xattr_keys --- 1;
    • /sys/digsig/xattr_control --- список шаблонов имен, используемых при проверке ЭЦП в расширенных атрибутах ФС;
    • /sys/digsig/xattr_keys --- файл загрузки дополнительных ключей, используемых только при проверке ЭЦП в расширенных атрибутах ФС.
    Проверка режимов работы выполняется командами:
    Command
    cat /sys/digsig/elf_mode
    cat /sys/digsig/xattr_mode
    Предупреждение

    Для отключения проверки ЭЦП по ГОСТ~Р~34.10-2001 необходимо в конфигурационном файле /etc/digsig/digsig_initramfs.conf установить следующее значение параметра:

    Информация
    DIGSIG_IGNORE_GOST2001=1
    Предупреждение

    После внесения изменений в конфигурационный файл /etc/digsig/digsig_initramfs.conf и для загрузки модулем digsig_verif ключей после их размещения его в каталогах /etc/digsig/keys/ и /etc/digsig/xattr_keys/
    необходимо от имени учетной записи администратора через механизм \verb|sudo| выполнить команду:

    Command
    sudo update-initramfs -u -k all
    Подписывание ПОВ модуле ядра digsig_verif реализован механизм, позволяющий использовать несколько ключей при подписывании файлов формата ELF.
    Порядок использования ключей для digsig_verif:
    • дополнительные ключи записываются в /sys/digsig/keys или /sys/digsig/xattr_keys' в иерархической последовательности цепочек подписей;
    • все дополнительные ключи должны быть подписаны главным ключом или другим дополнительным ключом, подпись которого может быть проверена (за исключением первого ключа в каталоге /sys/digsig/xattr_keys).
    Для создания дополнительных ключей используется GNU Privacy Guard.
    Модифицированный GnuPG выводит ГОСТ~Р~34.11-94 в списке доступных алгоритмов.
    Для получения списка доступных алгоритмов необходимо выполнить команду:
    Command
    gpg --version

    Пример списка:

    Раскрытьgpg (GnuPG) 1.4.18
    Copyright (C) 2014 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    Home: ~/.gnupg
    Поддерживаются следующие алгоритмы:
    С открытым ключом: RSA, RSA-E, RSA-S, ELG-E, DSA,
              GOST_R 34.10-2001,GOST_R 34.10-2012
    Симметричные: 3DES, CAST5, BLOWFISH,
              AES, AES192, AES256, TWOFISH,
              CAMELLIA128, CAMELLIA192, CAMELLIA256
    Хэш-функции: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512,
              SHA224, GOST_R34.11-2012, GOST_R34.11-94
    Алгоритмы сжатия: Без сжатия, ZIP, ZLIB,
      

    (см. пример выше).

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

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

    См. Создание встроенной подписи в ELF файлах для режима ЗПС.

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

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

    Command
    gpg --version
           BZIP2

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

    подписывания СПО

    создание встроенной ЭЦП.

    Сначала создается ключевая пара GOST R 34.10-2001, которая сохраняется в каталоге ~/.gnupg.
    1. Создать ключевую пару По умолчанию пара будет сохранена подкаталоге .gnupg домашнего каталога текущего пользователя. Для создания ключевой пары

    необходимо
    1. выполнить

    приведенную далее
    1. команду

    с последующим выбором в меню gpg алгоритма ГОСТ~Р~34.10-2001
    1. :

      Command
      gpg --gen-key
    Пример диалога
    1. После ответа на заданные вопросы будет выдана информация о созданной ключевой паре вида:

    Раскрытьgpg (GnuPG) 1.4.18; Copyright (C) 2014 Free Software Foundation, Inc.
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    gpg: создан каталог `/home/keys/.gnupg'
    gpg: создан новый файл настоек `/home/keys/.gnupg/gpg.conf'
    gpg: ВНИМАНИЕ: параметры в `/home/keys/.gnupg/gpg.conf' еще не активны при этом запуске
    gpg: создана таблица ключей `/home/keys/.gnupg/secring.gpg'
    gpg: создана таблица ключей `/home/keys/.gnupg/pubring.gpg'
    Выберите тип ключа:
    (1) RSA и RSA (по умолчанию)
    (2) DSA и Elgamal
    (3) DSA (только для подписи)
    (4) RSA (только для подписи)
    (10) GOST R 34.10-2001 (только для подписи) устаревший
    (12) GOST R 34.10-2012 (только для подписи)
    Ваш выбор? 12
    GOST keypair will have 256 bits.
    Выборите срок действия ключа.
    0 = без ограничения срока действия
    <n> = срок действия - n дней
    <n>w = срок действия - n недель
    <n>m = срок действия - n месяцев
    <n>y = срок действия - n лет
    Срок действия ключа? (0) 0
    Срок действия ключа не ограничен
    Все верно? (y/N) y
    Для идентификации Вашего ключа необходим ID пользователя. Программа создаст его
    из Вашего имени, комментария и адреса электронной почты в виде:
    "Baba Yaga (pensioner) <yaga@deepforest.ru>"
    Ваше настоящее имя: Test GOST R 34.10-2012 Secondary Key
    Адрес электронной почты: test@gost.secondary.key
    Комментарий:
    Вы выбрали следующий ID пользователя:
    "Test GOST R 34.10-2001 Secondary Key <test@gost.secondary.key>"
    Сменить (N)Имя, (C)Комментарий, (E)адрес или (O)Принять/(Q)Выход? O
    Для защиты закрытого ключа необходим пароль.
    Введите пароль: ПАРОЛЬ
    Повторите пароль: ПАРОЛЬ
    1. Блок кода
      _открытый и секретный ключи созданы и подписаны.
      
      pub   rsa3072 2022-11-24 [SC] [   годен до: 2024-11-23]
            12B6FA0CD98F2D9CE72AB595C0316DBD6D879F9Fо uid                      имя_пользователя <адрес_электронной_почты>
      sub   rsa3072 2022-11-24 [E] [   годен до: 2024-11-23]

      Далее используется идентификатор ключа -  в примере выше последовательность 12B6FA0CD98F2D9CE72AB595C0316DBD6D879F9F;


    2. Экспортировать ключ в файл:

      Command
      gpg --export <идентификатор_ключа> > <имя_файла_с_экспортированным_ключом>


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

      Command
      sudo gpg --import <имя_файла_с_экспортированным_ключом>
      sudo gpg --sign-key <идентификатор_ключа>

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

      Command
      sudo gpg --export  <идентификатор_ключа> | tee /etc/digsig/xattr_keys/<имя_файла_с_подписанным_экспортированным_ключом>


    4. При отсутствии подписанного ключа созданный ключ можно просто скопировать в каталог /etc/digsig/xattr_keys:

      Command
      sudo cp <имя_файла_с_экспортированным_ключом> /etc/digsig/xattr_keys/


    5. В файле /etc/digsig/xattr_control задать маски имен контролируемых файлов, например:

      Блок кода
      /bin/spo

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

    6. Подписать контролируемые файлы внешней ЭЦП:

      Предупреждение

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


      Command
      bsign --sign --xattr <имя_файла>




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

    8. Для временного включения проверки присоединенной подписи выполнить команду:

      Command
      echo 1 | sudo tee /etc/digsig/xattr_mode


    9. Подписамтьвает

    Экспорт ключа в файл осуществляется командой:

    Command
    gpg --export "Test GOST R 34.10-2012 Secondary Key <test@gost.secondary.key>" > /tmp/secondary_gost_key.gpg

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

    Command
    gpg --import /tmp/secondary_gost_key.gpg
    gpg --sign-key "Test GOST R 34.10-2012 Secondary Key <test@gost.secondary.key>"
    gpg --export "Test GOST R 34.10-2001 Secondary Key <test@gost.secondary.key>" > /tmp/secondary_gost_key_signed.gpg

    Пользователь подписывает на данном ключе некоторый файл формата ELF с использованием утилиты bsign (по умолчанию подпись внедряется в том числе и в расширенные атрибуты файла):

    Command
    bsign --sign test_elf
    Пользователь подписывает
    1. утилитой bsign на данном ключе произвольный файл с внедрением подписи только в расширенные атрибуты:
    Command
    keys@debian:~$ bsign --sign --xattr test_elf


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

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

    Command
    bsign -w test<имя_elfфайла>


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

    Подписанный файл формата ELF может выполняться:

    Command
     /sys/digsig/./test_elf

    Проверка работы ЗПС

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

    Command
    sudo dmesg

    Или, в случае модуля digsig_verif:

    Command
    sudo dmesg | grep DIGSIG

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

    Блок кода
    ... DIGSIG: [ERROR]  NOT SIGNED: path=....
     Журналы с сообщениями об ошибках сохраняются в файлах /var/log/messages и /var/log/kernel
    .
    log
    .