Версия: 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
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены после перезагрузки.
Если режим загрузки другой, то рекомендуется воспользоваться утилитой "Сохранение изменений" до перезагрузки системы.