В ima-evm-integrity-check вызывается openssl req -days 60 Это похоже на копипасту из интернета, там 60 дней ставится почему-то, но ведь это же срок жизни ключа, предполагается, что через 60 дней уже не понадобится им подписывать систему? Приватный ключ в tmpfs хранится, если не предполагается его переиспользовать, срок 60 дней выглядит излишним, а если предполагается переиспользовать - недостаточным.
# openssl x509 -in /etc/keys/x509_ima.der -text -noout ... Validity Not Before: Jun 17 17:35:18 2025 GMT Not After : Aug 16 17:35:18 2025 GMT ... Насколько я понимаю, это не ключ, а сам сертификат.
Проблема ещё в том, что если просто убрать -days 60, то будет 30. =) Сколько мы на самом деле хотим? Мне кажется, что должно быть бессрочно.
приватный ключ уничтожается после подписывания; срок его жизни неважен; система сейчас проверяет подписанность файлов публичным ключом.
А где располагается этот публичный ключ?
в initrd в /etc/keys там же лежит сертификат. целостность самого initrd должна проверяться другими методами
Мы как раз и обсуждаем тут сертификат, который лежит в /etc/keys в initrd. Срок его действия -- 60 дней. По-моему, это ничем не оправдано.
На проверку оказалось, что просроченные сертификаты продолжают нормально работать: [root@imatest ~]# openssl x509 -in /etc/keys/x509_ima.der -inform DER | openssl verify O = IMAALT, CN = Executable Signing Key error 18 at 0 depth lookup: self signed certificate O = IMAALT, CN = Executable Signing Key error 10 at 0 depth lookup: certificate has expired error stdin: verification failed [root@imatest ~]# [root@imatest ~]# evmctl ima_verify --key=/etc/keys/x509_ima.der /bin/bash4 key 1: 71b72798 /etc/keys/x509_ima.der /bin/bash4: verification is OK Вот не знаю, хорошо это или плохо. Однако ясно, что при таком поведении ограничение в 60 дней не имеет значения.