Инструмент командной строки bsign обеспечивает создание контрольных сумм (hash, далее — хеш) и подписей. Создаваемые подписи могут использоваться для проверки неизменности файлов в режиме замкнутой программной среды. Подробнее про работу с замкнутой программной средой см. Ограничения программной среды в Astra Linux Special Edition x.8.

Данная статья применима к:

  • Astra Linux Special Edition РУСБ.10015-01 очередное обновление 1.8

Общую справку по опциям инструмента bsign можно получить командой:

bsign --help

Общий синтаксис команды:

bsign [<опции>]... [<имя_файла>]...

Для успешной проверки подписей ключи должны быть загружены в таблицу ключей пользователя, от имени которого выполняется проверка. Например, для загрузки предустановленных ключей:

gpg --import /etc/digsig/{primary_key_2018,build_system_rbt_root_key_2018,partners_rbt_root_key_2018}.gpg

 

Команда без опций выводит краткую информацию о подписях указанного файла, например:

bsign /usr/bin/cat

bsign: good hash found in '/usr/bin/cat'
bsign: no xattr hash found for '/usr/bin/cat'
bsign: no detached hash found for '/usr/bin/cat'

Опции команды:

ОпцияОписание
Операции с подписями. После этих опций может быть указан тип подписи, с которой должна выполняться операция
-c, --check-hashПроверить хеш файла
-H, --hashЗаписать только хеш, удалив подпись, если она есть
-s, --signСформировать и записать сформированную подпись. Тип и место размещения подписи определяются следующей опцией: -A, -D, -E, -X. Начиная с версии bsign 1.4.1 по умолчанию используется встраиваемая подпись (-E). В версиях 1.2.1 — 1.4.1 тип подписи автоматически определяется в зависимости от формата файла (ELF или PE). В более ранних обновлениях используется встраиваемая подпись и, в некоторых версиях, подпись в расширенных атрибутах
-V, --verify

Проверить подписи в файле.
Для успешной проверки подписей ключи должны быть загружены в таблицу ключей пользователя, от имени которого выполняется проверка

-w, --show-infoВывести информацию о подписях
Типы подписей. Перед этими опциями должна быть указана выполняемая операция
-A, --attachedВстраиваемая подпись, добавляемая в конце файла (только для файлов в формате PE)
-D, --detachedОтсоединенная подпись
-E, --elf-onlyВстраиваемая подпись в секции подписи (только для файлов формата ELF)
-X, --xattrПодпись в расширенных атрибутах файла (при условии, что файловая система поддерживает расширенные атрибуты)
Прочие опции
-p, --pgoptions=<опция>Передать опцию программе pgp
-x, --extract-sigВывести в стандартный вывод (stdout) цифровую подпись
-y, --extract-full-sigВывести полную цифровую подпись (512 байт)
-e, --exclude=<путь>Добавить путь в список исключений
-f, --files=<имя_файла>Использовать строки в указанном файле как имена обрабатываемых файлов (вместо имени файла можно указать символ минус для использования стандартного ввода)
-i, --include=<путь>Добавить путь в список перебора
-I, --ignore-unsupportedИгнорировать (не выводить сообщения об ошибках) неподдерживаемые файловые объекты (каталоги и файлы не формата elf)
--nosymlinksРассматривать символьные ссылки как неподдерживаемые файлы
-o, --output=<имя_файла>Сохранить обработанный файл в указанном файле
-T, --detached-path=<путь>Каталог для сохранения отсоединенных подписей (по умолчанию — каталог /etc/digsig/external_sig)
-d, --debugВыводить отладочную информацию
-G, --hide-good-sigsНе выводить сообщения о правильных подписях
-q, --quietНе выводить сообщения, результат работы определяется по коду завершения
-S, --summaryПечатать отчет о выполнении после обработки последнего файла
-v, --verboseВыводить подробную информацию о ходе выполнения
-1, --xmlФормировать вывод в формате xml
-9, --gost94Использовать для подписания устаревший алгоритм ГОСТ Р34.11-94
-N, --nopassНе запрашивать пароль ключа
-?, --helpВывести список опций
--usageВывести краткий список опций
--versionВывести версию программы и справку о правах

Примеры:

  1. Вывести информацию обо всех подписях в файле:
    bsign -w /usr/bin/cat

    version: 1
    id: bsign v1.0
    hash: {GOST R34.11-2012} 99d9ceffdef23b6f515a857ee30a39bb0d796fff9c11e4c0dee1cc2a8a6d9f78
    signature_size: 119
    signature:
       88 75 04 00 23 0c 00 1d  16 21 04 80 66 e9 bd 22
       01 d9 78 3e 2d 84 2b d2  b6 68 9a 37 db 80 24 05
       02 67 3c 5a 96 00 0a 09  10 d2 b6 68 9a 37 db 80
       24 51 55 00 fe 39 ca 7d  9c 17 8c e4 3b 65 7a da
       74 6b bd 15 a1 4e 05 f2  db 0f 0b 1b 91 c0 96 39
       bd fd bb af 70 00 fe 24  17 02 29 97 46 00 36 02
       09 a3 0e 97 42 c2 c3 86  2d 40 dd 48 ce 29 00 8f
       8c c9 70 50 25 41 8b
    signer: D2B6689A37DB8024
    timestamp: 19 Nov 2024 12:29:58 (1732008598)
    bsign: good hash found in '/usr/bin/cat'
    bsign: no xattr hash found for '/usr/bin/cat'
    bsign: no detached hash found for '/usr/bin/cat'
  2. Проверить только встраиваемую подпись ELF (ключи для проверки должны быть загружены в таблицу ключей пользователя, от имени которого выполняется загрузка):
    bsign -V -E /usr/bin/cat

    bsign: good signature found in '/usr/bin/cat'


  • Нет меток