Bug 13094

Summary: boot from luks encrypted partition without entering a password ( luksunlock )
Product: [ROSA-based products] ROSA Fresh Reporter: a.betkher <a.betkher>
Component: Installer and live modeAssignee: ROSA Linux Bugs <bugs>
Status: VERIFIED FIXED QA Contact: ROSA Linux Bugs <bugs>
Severity: normal    
Priority: Normal CC: a.proklov, leshikne, v.potapov
Version: AllFlags: v.potapov: qa_verified+
a.proklov: published+
Target Milestone: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Platform: --- ROSA Vulnerability identifier:
RPM Package: ISO-related:
Bad POT generating: Upstream:

Comment 1 Vladimir Potapov 2023-02-02 16:17:30 MSK
sudo luksunlock
Created symlink /etc/systemd/system/multi-user.target.wants/tpm2-abrmd.service → /lib/systemd/system/tpm2-abrmd.service.
Сервис tpm2-abrmd.service не запущен, запустите его или перезагрузите компьютер

Хотелось бы чтоб после установки сервис сразу стартовал.
Comment 2 Vladimir Potapov 2023-02-02 16:25:42 MSK
Раздел LUKS с корневой ФС: /dev/nvme0n1p5

Внимание!!! Приложение потенциально опасно.
Может нарушить работу программ использующих tpm2, в том числе ОС Windows
Продолжить: <Yy,Nn>
y
Enter existing LUKS password: 

1) Предлагаю следующую фразу

Внимание! Приложение потенциально может нарушить работу программ, сохраняющих пароли в tpm2, в том числе OS Windows. Если вы используете такие программы, перед использованием сделайте резервную копию зашифрованных данных.

Продолжить (Y/N)?

Введите пароль, с которым вы зашифровали LUKS носитель:
Comment 3 Vladimir Potapov 2023-02-02 16:26:37 MSK
при установке выдало:
Warning: Value 512 is outside of the allowed entropy range, adjusting it.

это нормально?
Comment 4 Vladimir Potapov 2023-02-02 16:34:42 MSK
после установки все работает, но появляется окошко ввода пароля. Ладно у меня SSD и оно быстро исчезает, на винте оно будет висеть долго и вызывать неправильные действия. Можно ли его убрать?
Comment 5 a.betkher 2023-02-02 16:58:11 MSK
> Хотелось бы чтоб после установки сервис сразу стартовал.
Не знаю почему не стартует. Предлагаю его в образ добавить, Миша не против, там есть условия в юните, если нет tpm2 - не запустится.

>Внимание! Приложение потенциально может нарушить работу программ, сохраняющих >пароли в tpm2, в том числе OS Windows. Если вы используете такие программы, >перед использованием сделайте резервную копию зашифрованных данных.

Там не только пароли, не корректный тест получится. С остальным согласен.

> Warning: Value 512 is outside of the allowed entropy range, adjusting it.

У меня аналогично. Он же пишет, что подровнял.

>после установки все работает, но появляется окошко ввода пароля. Ладно у меня
>SSD и оно быстро исчезает, на винте оно будет висеть долго и вызывать
>неправильные действия. Можно ли его убрать?

Это при использовании clevis так. C systemd-cryptenroll окошка ввода пароля не будет. То есть в новой платформе будет без этого косячка.
Comment 6 a.betkher 2023-02-06 14:07:41 MSK
Убрал из спека код отключающий сборку luksunlock-systemd в rosa2021.1 Тесты не проходит по этой причине, плюс часть нужных пакетов еще в контрибе. По итогам сегодняшнего совещания весть tpm2 стек переносим в main в обеих актуальных платформах. Обновляем дракут и системд для работы luksunlock-systemd также в обеих платформах.

Изменения в luksunlock:
Весь выхлоп от используемых утилит пишется в журнал. В консоль идут только локализованные сообщения, журнал выводится в конце работы утилиты в случае наличия ошибок.

До появления в репозиториях обновленных dracut и systemd проверить можно  только clevis версию.

https://abf.io/build_lists/4319191 - x86_64
Comment 7 a.betkher 2023-02-16 12:31:16 MSK
Для проверки собраны только x86_64, остальные архитектуры проверить не реально из-за отсутствия tpm2

4341468 - tang
4341469 - mfs
4341470 - luksmeta
4341471 - dracut (версия 053 с бэкпортом патчей для tpm2-tss из 059)
4341477 - libtpms
4341491 - tpm2-tss
4341506 - tpm2-tools
4341507 - tpm2-abrmd
4341509 - python-tpm2-pytss
4341510 - tpm2-tss-engine
4341523 - systemd (версия как была до, включена поддержка tpm2 для systemd-cryptenroll)
4341530 - clevis
4341531 - luksunlock (падают тесты на конфликтах внутри проекта, конфликты эти нужны, предлагаю не обращать внимания, так как варианты с починкой - хуже)

Здесь пересобран весь стек tpm2, возможно что-то из этого не нужно конкретно для luksunlock, но требовало обновления из-за изменения версии tpm2-tss до 4.0.0.
Comment 9 a.betkher 2023-02-16 17:09:03 MSK
aarch64:
https://abf.io/build_lists/4347445 - tang
https://abf.io/build_lists/4347446 - mfs
https://abf.io/build_lists/4347447 - luksmeta
https://abf.io/build_lists/4347448 - dracut
https://abf.io/build_lists/4347449 - libtpms
https://abf.io/build_lists/4347454 - tpm2-tss
https://abf.io/build_lists/4347456 - tpm2-tools
https://abf.io/build_lists/4347457 - tpm2-abrmd
https://abf.io/build_lists/4347459 - python-tpm2-pytss
https://abf.io/build_lists/4347460 - tpm2-tss-engine
https://abf.io/build_lists/4347461 - systemd
https://abf.io/build_lists/4347462 - clevis
https://abf.io/build_lists/4347463 - luksunlock

С остальными архитектурами пока есть вопросы. Предлагаю проверять и публиковать то что есть, другие архитектуры чинить отдельно. Где-то возможно будет не весь стек tpm2, а где-то может не будет его совсем.
Comment 10 Vladimir Potapov 2023-02-16 17:39:03 MSK
*****************************************
The update sent tom testings
Comment 12 Vladimir Potapov 2023-02-21 11:47:20 MSK
******************************
The update sent to testings
Comment 13 Vladimir Potapov 2023-02-21 11:47:26 MSK
******************************
The update sent to testings
Comment 14 a.betkher 2023-02-27 13:17:34 MSK
Разобрался с clevis и tpm2-abrmd в repoclosure i686. Здесь в баге не верно указаны номера билдлистов. Нашел правильные и опубликовал в тестинг.

luksunlock c исправлением зависимости libtss2-esys.so.0 для i686, других изменений нет.

https://abf.io/build_lists/4370735 - x86_64
https://abf.io/build_lists/4370737
https://abf.io/build_lists/4370739
https://abf.io/build_lists/4370740
https://abf.io/build_lists/4370741
Comment 15 Vladimir Potapov 2023-02-27 14:44:05 MSK
(In reply to a.betkher from comment #14)
> Разобрался с clevis и tpm2-abrmd в repoclosure i686. Здесь в баге не верно
> указаны номера билдлистов. Нашел правильные и опубликовал в тестинг.
Ну так указать их здесь нужно, а то потом как дальше публиковать-то?
Comment 16 Vladimir Potapov 2023-02-27 14:46:17 MSK
(In reply to a.betkher from comment #14)
> https://abf.io/build_lists/4370735 - x86_64
> https://abf.io/build_lists/4370737
> https://abf.io/build_lists/4370739
> https://abf.io/build_lists/4370740
> https://abf.io/build_lists/4370741
****************************************
The update sent to testings
Comment 17 a.betkher 2023-02-27 14:51:00 MSK
> Ну так указать их здесь нужно, а то потом как дальше публиковать-то?

https://abf.io/build_lists/4347586 - tpm2-abrmd
https://abf.io/build_lists/4347589 - clevis
Comment 18 Vladimir Potapov 2023-03-01 14:50:43 MSK
x86_64:
https://abf.io/build_lists/4341468 - tang
https://abf.io/build_lists/4341469 - mfs
https://abf.io/build_lists/4341470 - luksmeta
https://abf.io/build_lists/4341471 - dracut
https://abf.io/build_lists/4341477 - libtpms
https://abf.io/build_lists/4341491 - tpm2-tss
https://abf.io/build_lists/4341506 - tpm2-tools
https://abf.io/build_lists/4341507 - tpm2-abrmd
https://abf.io/build_lists/4341509 - python-tpm2-pytss
https://abf.io/build_lists/4341510 - tpm2-tss-engine
https://abf.io/build_lists/4341523 - systemd
https://abf.io/build_lists/4341530 - clevis
https://abf.io/build_lists/4370735 - luksunlock

aarch64:
https://abf.io/build_lists/4347445 - tang
https://abf.io/build_lists/4347446 - mfs
https://abf.io/build_lists/4347447 - luksmeta
https://abf.io/build_lists/4347448 - dracut
https://abf.io/build_lists/4347449 - libtpms
https://abf.io/build_lists/4347454 - tpm2-tss
https://abf.io/build_lists/4347456 - tpm2-tools
https://abf.io/build_lists/4347457 - tpm2-abrmd
https://abf.io/build_lists/4347459 - python-tpm2-pytss
https://abf.io/build_lists/4347460 - tpm2-tss-engine
https://abf.io/build_lists/4347461 - systemd
https://abf.io/build_lists/4347462 - clevis
https://abf.io/build_lists/4370737 - luksunlock

i686:
https://abf.io/build_lists/4347578 tang
https://abf.io/build_lists/4347579 mfs
https://abf.io/build_lists/4347580 luksmeta
https://abf.io/build_lists/4347581 dracut
https://abf.io/build_lists/4347582 libtpms
https://abf.io/build_lists/4347583 tpm2-tss
https://abf.io/build_lists/4347585 tpm2-tools
https://abf.io/build_lists/4347586 tpm2-abrmd
https://abf.io/build_lists/4347587 systemd
https://abf.io/build_lists/4347589 clevis
https://abf.io/build_lists/4370739 luksunlock
***************************** Advisory **************************
Simple tool for quick setup of LUKS partition unlocking using tpm2.
*****************************************************************
QA Verified
Comment 19 Vladimir Potapov 2023-03-01 15:14:59 MSK
https://abf.io/build_lists/4370740
https://abf.io/build_lists/4370741

Тоже, наверное, нужно опубликовать чтоб тестинг освободить.