Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)
Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Astra Linux Special Edition РУСБ.10015-16 исп. 1 и исп. 2
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5)
Astra Linux Special Edition РУСБ.10265-01 (очередное обновление 8.1)
Astra Linux Common Edition 2.12
Подготовительные действия
Все действия осуществляются от непривилегированного пользователя, если не указано иное.
Далее в статье:
- Название организации принято за ORG;
- Подписываемый файл test_elf находится в том же каталоге, что и ключи, используемые для подписывания.
- Ознакомиться с разделом 16. ОГРАНИЧЕНИЕ ПРОГРАММНОЙ СРЕДЫ документации "Руководство по КСЗ. Часть 1 РУСБ.10015-01 97 01-1";
- Изучить программную документацию man bsign и man gpg;
Изучить дополнительные информационные материалы:
- Убедиться в наличии и доступности комплекта ключей, полученных по запросу от Astra Linux;
- При отсутствии комплекта ключей - запросить его генерацию;
Если комплект ключей получен в виде ISO-образа - примонтировать этот образ или распаковать файлы
При извлечении и хранении комплекта ключей соблюдать меры безопасности для предотвращения несанкционированного доступа к секретному ключу и паролю.
- Импортировать секретный ключ, для чего:
Перейти в каталог с ключами и импортировать секретный ключ из полученного комплекта ключей:
gpg --import ORG_secret.gpgПри этом будет запрошен пароль для выполнения операции импорта. В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) запрос пароля не производится.
Пароль находится в этом же каталоге в файле ORG_password.txt. Будьте аккуратны при копировании в буфер обмена - символ перевода строки будет распознан соответственно. Во избежание ошибок при вводе пароля, можно указать файл с паролем с помощью опции при импорте:gpg --import --pinentry-mode=loopback --passphrase-file=ORG_password.txt ORG_secret.gpgВ примере выше опция --passphrase-file позволяет не запрашивать пароль, а прочитать его из файла, указанного в этой опции.
Проверить список импортированных ключей и запомнить идентификатор ключа ORG_secret_key_id:
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).
- Представлен строкой из сорока шестнадцатиричных цифр в следующих ОС:
Модуль gpg и модуль digsig_verif - абсолютно не связаны и независимы. Список импортированных ключей в gpg никак не влияет на проверку исполняемых файлов при включении режима замкнутой программной среды (ЗПС).
Подписание файла
- Архивы и deb-файлы необходимо предварительно распаковать для анализа содержащихся в них файлов;
Убедиться в необходимости подписания: если тип файла не ELF - нет необходимости его подписывать. Проверить тип файла можно с помощью команды file. Например, для файла /bin/bash:
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Подписание тестового ELF-файла test_elf с помощью команды bsign:
bsign -s test_elfЕсли импортирован только один ключ, можно ограничиться вышеуказанной командой без каких-либо опций. При наличии нескольких ключей, можно указать, каким именно ключом следует подписать файл:bsign -s --pgoptions="--default-key=ORG_secret_key_id" test_elf
При работе из командной строки без использования графической оболочки (например по ssh), требуется использовать дополнительные опции, т.к. в этом случае не может быть выдан графический запрос на ввод пароля, и операция завершится ошибкой. В таком случае можно использовать команду bsign со следующими опциями:
После того, как файл подписан, можно проверить подпись:
Запуск подписанного файла на клиентских машинах.
Для разрешения запуска файла в режиме замкнутой программной среды (ЗПС) поместить публичный ключ ORG_pub.key в директорию /etc/digsig/keys и выполнить команду:
Если ПО было подписано ранее ключами, сгенерированными для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.5) и более ранних очередных обновлений, то обеспечить работу такого ПО в режиме ЗПС можно установив пакет astra-digsig-oldkeys. В таком случае открытые ключи необходимо размещать в директории /etc/digsig/keys/legacy/keys/