Версия: 1.5
Evmctl - утилита, предназначенная для генерации и аутентификации цифровых подписей в рамках IMA/EVM. Она также предоставляет функционал для интеграции ключей в набор ключей ядра.
Контактная информация:
Проект GitHub
Разработчик:
Dmitry Kasatkin
Лицензия:
GPL
Синтаксис:
evmctl [-v] <command> [OPTIONS]
Команды:
Команда |
---|
--version |
help |
import pubkey keyring |
sign [-r] [--imahash | --imasig ] [--key key] [--pass[=]] file |
verify file |
ima_sign [--sigfile] [--key key] [--pass[=]] file |
ima_verify file |
ima_setxattr [--sigfile file] |
ima_hash file |
ima_measurement [--ignore-violations] [--verify-sig [--key key1, key2, ...]] [--pcrs [hash-algorithm,]file [--pcrs hash-algorithm,file] ...] [--verify-bank hash-algorithm] file |
ima_boot_aggregate [--pcrs hash-algorithm,file] [TPM 1.2 BIOS event log] [--hwtpm] |
ima_fix [-t fdsxm] path |
ima_clear [-t fdsxm] path |
sign_hash [--veritysig] [--key key] [--pass[=]] |
hmac [--imahash | --imasig ] file |
Опции:
Опция | Описание |
---|---|
-a, --hashalgo | Алгоритм хэширования (по умолчанию: sha256) |
-s, --imasig | Создать подпись IMA |
--veritysig | Подписать хэш-значение файла fs-verity |
-d, --imahash | Создать хэш-значение IMA |
-f, --sigfile | Сохранить подпись IMA в файле .sig вместо xattr |
--xattr-user | Сохранить расширенные атрибуты в пользовательском пространстве имен (для тестирования) |
-k, --key | Путь к приватному ключу подписи (по умолчанию: /etc/keys/{privkey,pubkey}_evm.pem) или URI pkcs11 |
--keyid n | Перезаписать ключевой идентификатор подписи 32-битным значением в шестнадцатеричной системе (для подписи) |
--keyid-from-cert file | Прочитать значение ключевого идентификатора из SKID в x509-сертификате |
-o, --portable | Генерировать переносимые подписи EVM |
-p, --pass | Пароль для зашифрованного приватного ключа |
-r, --recursive | Рекурсивный обход каталогов (подписывание) |
-t, --type | Типы файлов для исправления 'fxm' (f: файл) |
x | Пропустить исправление, если существуют как ima, так и evm xattrs (используйте с осторожностью) |
m | Оставаться на том же файловой системе (как 'find -xdev') |
-n | Выводить результат в stdout вместо установки xattr |
-u, --uuid | Использовать пользовательский UUID для EVM (не указан: из FS, пустой: не использовать) |
--smack | Использовать дополнительные SMACK xattrs для EVM |
--m32 | Принудительно использовать hmac/signature EVM для 32-битной целевой системы |
--m64 | Принудительно использовать hmac/signature EVM для 64-битной целевой системы |
--ino | Использовать пользовательский индекс для EVM |
--uid | Использовать пользовательский UID для EVM |
--gid | Использовать пользовательский GID для EVM |
--mode | Использовать пользовательский режим для EVM |
--generation | Использовать пользовательское поколение для EVM (не указан: из FS, пустой: использовать 0) |
--ima | Использовать пользовательскую подпись IMA для EVM |
--selinux | Использовать пользовательскую метку SELinux для EVM |
--caps | Использовать пользовательские возможности для EVM (не указано: из FS, пусто: не использовать) |
--verify-sig | Проверить подписи списка измерений |
--engine e | Предварительно загрузить движок OpenSSL e (например: gost) (устарело) |
--ignore-violations | Игнорировать нарушения измерения ToMToU |
-v | Увеличить уровень подробности |
-h, --help | Отобразить эту справку и выйти |
Переменные окружения:
Для подписи файла сгенерированным ключом следует открыть терминал и ввести команду:
evmctl sign --imasig filename.txt
Где:
Внимание! Предполагается что ключ хранится в каталоге
/etc/keys/
. Если расположение находится в другом каталоге, то следует добавить в команду опцию и путь до ключа:--key /path/to/key/privkey_evm.pem
.
Для проверки EVM подписи по публичному сертификату, например: /etc/keys/x509_evm.der
следует открыть терминал и ввести:
evmctl verify -v filename.txt
Где:
В случае соответствия подписи будет выдано сообщение:
...
filename.txt: verification is OK
Для IMA подписи произвольного файла следует открыть терминал и ввести:
evmctl ima_sign filename.txt
Где:
Для проверки IMA подписи по публичному сертификату, например: /etc/keys/x509_evm.der
следует открыть терминал и ввести:
evmctl ima_verify -v filename.txt
Где:
В случае соответствия подписи будет выдано сообщение:
...
filename.txt: verification is OK
Установить можно пакетом:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Пакет, необходимый для установки:
Долнительные пакеты:
keyutils
openssl
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены. Если режим загрузки другой, то рекомендуется воспользоваться "Сохранением изменений".