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