Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Общая информация
Инструменты замкнутой программной среды Замкнутая программная среда (ЗПС) предоставляют администраторам ОС возможность внедрения цифровой подписи в исполняемые файлы формата ELF, входящие в состав устанавливаемого СПО, и в расширенные атрибуты файловой системы.
Механизм контроля целостности исполняемых файлов и разделяемых библиотек формата ELF при запуске программы на выполнение (загрузке библиотеки) реализован в модуле ядра ОС digsig_verif. Модуль digsig_verif является невыгружаемым модулем ядра Linux и может функционировать в одном из следующих режимов:
- исполняемым файлам и разделяемым библиотекам с неверной ЭЦП, а также без ЭЦП загрузка на исполнение запрещается (штатный режим функционирования);
- исполняемым файлам и разделяемым библиотекам с неверной ЭЦП, а также без ЭЦП загрузка на исполнение разрешается, при этом выдается сообщение об ошибке проверки ЭЦП (режим для проверки ЭЦП в СПО);
- ЭЦП при загрузке исполняемых файлов и разделяемых библиотек не проверяется (отладочный режим для тестирования СПО).
является средством повышения безопасность ОС путем контроля целостности (неизменности) файлов. Механизм контроля реализован в виде невыгружаемого модуля ядра 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.
Информация | |||||||
---|---|---|---|---|---|---|---|
Для того, чтобы изменения, сделанные в конфигурационном файле | |||||||
Раскрыть | |||||||
Редактирование конфигурационного файла /etc/digsig/digsig_initramfs.conf осуществляется следующим образом: для использования отладочного режима для тестирования СПО необходимо установить для параметра DIGSIG_ELF_MODE значение 0:
для использования режима для проверки ЭЦП в СПО необходимо установить для параметра DIGSIG_ELF_MODE значение 2:
для использования штатного режима функционирования необходимо установить для параметра DIGSIG_ELF_MODE значение 1: Информация | активировались:
|
Параметрызадаются в виде:
Блок кода |
---|
<имя_параметра>=<значение_параметра> |
Используются следующие параметры:
- 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 exit |
Предупреждение |
---|
При проверке ЭЦП в расширенных атрибутах файловой системы установка для параметра DIGSIG_XATTR_MODE значения 1 запрещает открытие поставленных на контроль файлов с неверной ЭЦП или без ЭЦП. |
Порядок прямого редактирования конфигурации модуля digsig_verif для настройки режима проверки подписи в расширенных атрибутах (xattr):
Раскрыть | ||||||
---|---|---|---|---|---|---|
Редактирование конфигурационного файла /etc/digsig/digsig_initramfs.conf осуществляется следующим образом: для включения проверки подписей в режиме запрета открытия поставленных на контроль файлов с неверной ЭЦП или без ЭЦП в расширенных атрибутах файловой системы необходимо установить для параметра |DIGSIG_XATTR_MODE значение 1:
для включения проверки подписей в режиме вывода предупреждений об открытии поставленных на контроль файлов с неверной ЭЦП или без ЭЦП в расширенных атрибутах файловой системы необходимо установить для параметра DIGSIG_XATTR_MODE значение 2:
для игнорирования дополнительных ключей, используемых только при проверке ЭЦП в расширенных атрибутах файловой, необходимо установить для параметра 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 |
Command |
---|
sudo -s cat /etc/digsig/xattr_keys/key1.gpg >> /sys/digsig/xattr_keys exit |
- /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:
- дополнительные ключи записываются в /sys/digsig/keys или /sys/digsig/xattr_keys' в иерархической последовательности цепочек подписей;
- все дополнительные ключи должны быть подписаны главным ключом или другим дополнительным ключом, подпись которого может быть проверена (за исключением первого ключа в каталоге /sys/digsig/xattr_keys).
Модифицированный GnuPG выводит ГОСТ~Р~34.11-94 в списке доступных алгоритмов.
Для получения списка доступных алгоритмов необходимо выполнить команду:
Command |
---|
gpg --version |
Пример списка:
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 |
Далее приведен пример создания дополнительного ключа и его использования для
подписывания СПОсоздание встроенной ЭЦП.
Сначала создается ключевая пара GOST R 34.10-2001, которая сохраняется в каталоге ~/.gnupg.Создать ключевую пару По умолчанию пара будет сохранена подкаталоге .gnupg домашнего каталога текущего пользователя. Для создания ключевой пары
выполнить
команду
:
Command gpg --gen-key
После ответа на заданные вопросы будет выдана информация о созданной ключевой паре вида:
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
Для защиты закрытого ключа необходим пароль.
Введите пароль: ПАРОЛЬ
Повторите пароль: ПАРОЛЬ
Блок кода _открытый и секретный ключи созданы и подписаны. pub rsa3072 2022-11-24 [SC] [ годен до: 2024-11-23] 12B6FA0CD98F2D9CE72AB595C0316DBD6D879F9Fо uid имя_пользователя <адрес_электронной_почты> sub rsa3072 2022-11-24 [E] [ годен до: 2024-11-23]
Далее используется идентификатор ключа - в примере выше последовательность 12B6FA0CD98F2D9CE72AB595C0316DBD6D879F9F;
Экспортировать ключ в файл:
Command gpg --export <идентификатор_ключа> > <имя_файла_с_экспортированным_ключом> При наличии установленного ключа для подписи созданный ключ может быть подписан:
Command sudo gpg --import <имя_файла_с_экспортированным_ключом>
sudo gpg --sign-key <идентификатор_ключа>для применения подписанный ключ должен быть экспортирован в каталог /etc/digsig/xattr_keys. Команды:
Command sudo gpg --export <идентификатор_ключа> | tee /etc/digsig/xattr_keys/<имя_файла_с_подписанным_экспортированным_ключом> При отсутствии подписанного ключа созданный ключ можно просто скопировать в каталог /etc/digsig/xattr_keys:
Command sudo cp <имя_файла_с_экспортированным_ключом> /etc/digsig/xattr_keys/ В файле /etc/digsig/xattr_control задать маски имен контролируемых файлов, например:
Блок кода /bin/spo
Если заданная маска оканчивается символом "/", то она интерпретируется как имя каталога и контролируются все файлы в этом каталоге, в ином случае маска интерпретируется как префикс полного имени контролируемых файлов.
Подписать контролируемые файлы внешней ЭЦП:
Предупреждение Подписание файлов должно быть выполнено до включения проверки ЭЦП, так как после включения проверки ЭЦП подписание неподписанных файлов будет заблокировано.
Command bsign --sign --xattr <имя_файла>
Дополнительная информация доступна в справке по утилите bsign;Для временного включения проверки присоединенной подписи выполнить команду:
Command echo 1 | sudo tee /etc/digsig/xattr_mode - Подписамтьвает
Экспорт ключа в файл осуществляется командой:
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 |
- утилитой 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=.... |
. |
. |