Информация | ||
---|---|---|
| ||
|
Подготовительные действия
Предупреждение |
---|
Все действия осуществляются от имени непривилегированного пользователя, если не указано иное. |
Информация |
---|
Далее в статье:
|
- Ознакомиться с разделом 16. ОГРАНИЧЕНИЕ ПРОГРАММНОЙ СРЕДЫ документации "Руководство по КСЗ. Часть 1 РУСБ.10015-01 97 01-1";
- Изучить программную документацию man bsign и man gpg;
Изучить дополнительные информационные материалы
- Убедиться в наличии и доступности комплекта ключей, полученных по запросу от Astra Linux;. Ключи могут быть:
- Получены от ООО "РусБИТех-Астра" (далее - изготовитель) по запросу. Это ключи, подписанные ключами изготовителя. См. статью
- При отсутствии комплекта ключей запросить его генерацию. См. статью Как получить ключи для подписи СПО;. Эти ключи могут использоваться для проверки всех типов подписей.
- Созданы самостоятельно (самоподписанные ключи). Эти ключи могут использоваться для проверки подписей в расширенных атрибутах и, в обновлениях начиная с Astra Linux Special Edition 1.8, отсоединенных подписей. Наличие подписи изготовителя в этих ключах не проверяется.
Регистрация ключей, полученных от изготовителя
Если комплект ключей получен в виде ISO-образа - примонтировать этот образ
или распаковать файлы. Если комплект ключей получен в виде архива — распаковать архив.
извлечении и хранении комплекта ключейПредупреждение При работе с ключами соблюдать меры безопасности для предотвращения несанкционированного доступа к секретному ключу и паролю и предотвращению утери секретного ключа. Информация Модуль gpg и модуль digsig_verif - абсолютно не связаны и независимы. Список импортированных ключей в gpg никак не влияет на проверку исполняемых файлов при включении режима замкнутой программной среды (ЗПС).
Импортировать в таблицу ключей пользователя секретный ключ, для чего:
- Перейти в каталог с ключами и импортировать ключи из полученного комплекта ключей. При импорте цепочки следует импортировать ключи Импортировать предустановленные ключи изготовителя, если это не было сделано ранее. Импортировать ключи следует в порядке их подписания, т.е. сначала ключ, которым выполнялась подпись, затем - подписанный ключ:
Command gpg --import /etc/digsig/primary_key_2018.gpg gpg --import /etc/digsig/partners_rbt_root_key_2018.gpg
- Перейти в каталог с полученными ключами ключами и импортировать ключи из полученного комплекта ключей. Для выполнения операции импорта будет запрошен парольпонадобится указать пароль. В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) запрос пароля не производится. Пароль находится в этом же каталоге в файле ORG_password.txt. Будьте аккуратны при копировании в буфер обмена - — символ перевода строки будет распознан соответственно. Во избежание ошибок при вводе пароля , можно рекомендуется указать файл с паролем с помощью опции при импортевыполнении команды импорта:
В примере выше опция --passphrase-file позволяет не запрашивать пароль, а прочитать его из файла, указанного в этой опции.Command gpg --import --pinentry-mode=loopback --passphrase-file=ORG_password.txt ORG_secret.gpg Проверить список импортированных ключей и запомнить идентификатор ключа ORG_secret_key_id:
Command gpg --list-secret-keys Идентификатор ключа в выводе команды
Представлен - Перейти в каталог с ключами и импортировать ключи из полученного комплекта ключей. При импорте цепочки следует импортировать ключи Импортировать предустановленные ключи изготовителя, если это не было сделано ранее. Импортировать ключи следует в порядке их подписания, т.е. сначала ключ, которым выполнялась подпись, затем - подписанный ключ:
- 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 и исп. 2;
Astra Linux Special Edition РУСБ.10265-01 представлен строкой из сорока шестнадцатиричных цифр
в следующих ОС:(
очередное обновление 8.1);Представлен строкой из 8 символов и указывается через обратную косую черту ("слэш") после алгоритма в Astra Linux Special Edition
РУСБ.10015-01 (очередное обновление 1.5).
Создание и регистрация самоподписанных ключей
- Для создания самоподписанных ключей:
- Создать файл с параметрами ключей, например:
Блок кода Key-Type:GOST_R34.
- Создать файл с параметрами ключей, например:
10-2012 %no-protection Name-Real:<название_организации> Name-Comment: No comments Name-Email: <адрес_электронной_почты>
- Выполнить генерацию ключей:
Command gpg --gen-key --batch <имя_файла_с_параметрами>
Подписание файлов
Доступные методы подписания файлов зависят от наличия ключей:
- При наличии ключей подписанных изготовителем можно использовать все типы подписей.
- При наличии только самоподписанных ключей можно использовать подписи в расширенных атрибутах и, начиная с обновления Astra Linux Special Edition 1.8, отсоединенные подписи.
Предупреждение При применении самоподписанных ключей для создания встраиваемой подписи подписание и проверка подписи командами bsign
(bsign-integrator
) выполняются без ошибок, однако в ЗПС такая не может быть проверена и работать не будет.
Для подписания файлов:
- Архивы и пакеты (deb-файлы)
Информация |
---|
Модуль gpg и модуль digsig_verif - абсолютно не связаны и независимы. Список импортированных ключей в gpg никак не влияет на проверку исполняемых файлов при включении режима замкнутой программной среды (ЗПС). |
Подписание файла
- Архивы и deb-файлы необходимо предварительно распаковать для анализа содержащихся в них файлов;.
Убедиться в пригодности файла для подписания. Если тип файла не ELF, то для подписания следует использовать процедуру создания присоединенной ЭЦП из статьи Инструменты для выполнения подписания файлов DLL и проверки подписи. Проверить , проверив его тип. Проверить тип файла можно с помощью команды file. Например, для файла /bin/bash:
Для файла формата PE:Command Title file /bin/bash /bin/bash: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=30bada4dfa11f45a96a5993d4c2fd41a27a61663, stripped Command Title file SampleRes.dll SampleRes.dll: PE32 executable (DLL) (console) Intel 80386, for MS Windows
Если тип файла не ELF, то:
для подписания файлов формата PE следует использовать процедуру создания встраиваемой подписи из статьи Инструменты для выполнения подписания файлов DLL и проверки подписи;
- для подписания файлов иных форматов следует использовать подписи в расширенных атрибутах и отсоединенные подписи.
Подписание тестового ELF-файла test_elf с помощью команды bsign. По умолчанию используется встраиваемая подпись (в Astra Linux Special Edition 1.7 — встраиваемая подпись и подпись в расширенных атрибутах):
Command bsign -s test_elf Если импортирован только один ключ, можно ограничиться вышеуказанной командой без каких-либо опций. При наличии нескольких ключей, можно указать, каким именно ключом следует подписать файл:
Command bsign -s --pgoptions="--default-key=ORG_secret_key_id" test_elf Для подписания файлов форматов отличных от ELF и PE следует дополнительно указать опцию, определяющую тип подписи. См. ЗПС: инструмент bsign и ЗПС: инструмент bsign-integrator.
Предупреждение При работе из командной строки без использования графической оболочки (например, при подключении через ssh или при работе в консоли), требуется использовать дополнительные опции, т.к. в этом случае не может быть выдан графический запрос на ввод пароля, и операция завершится ошибкой (сообщением о неверно введенном пароле). В таком случае можно:
- Сохранить пароль в файле (в примере ниже - в файле ORG_password.txt.
Использовать команду bsign со следующими опциями:
Command bsign -N -s --pgoptions="--batch --pinentry-mode=loopback --passphrase-file=ORG_password.txt --default-key=ORG_secret_key_id" test_elf где опция -N запрещает запрос пароля командой bsign, а значение опции --pgoptions предписывает использовать пароль, сохраненный в файле, без интерактивного запроса.
После того, как файл подписан, можно проверить подпись:
Command |
---|
bsign -w test_elf |
Для удобства подписания deb-пакетов, можно воспользоваться данной инструкцией.
Запуск
подписанного файлаподписанных файлов на клиентских машинах.
Для разрешения запуска файла в режиме замкнутой программной среды (ЗПС) поместить публичный ключ ORG_pub.key в каталог /etc/digsig/keys и выполнить команду:
Command |
---|
sudo update-initramfs -uk all |
После чего перезагрузить машинуПодробную информацию см. в статье Ограничения программной среды в Astra Linux Special Edition x.8.
Информация |
---|
Если ПО было подписано ранее ключами, сгенерированными для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) и более ранних очередных обновлений, то обеспечить работу такого ПО в режиме ЗПС можно установив пакет astra-digsig-oldkeys. В таком случае открытые ключи необходимо размещать в каталоге /etc/digsig/keys/legacy/keys/ |