| Summary: | tpm2-tss package - "tss" user is not created during OS image build | ||
|---|---|---|---|
| Product: | [ROSA-based products] ROSA Fresh | Reporter: | a.betkher <a.betkher> |
| Component: | Preinstalled software in the ISO | Assignee: | ROSA Linux Bugs <bugs> |
| Status: | VERIFIED FIXED | QA Contact: | ROSA Linux Bugs <bugs> |
| Severity: | normal | ||
| Priority: | Normal | CC: | survolog, v.potapov |
| Version: | All | Flags: | v.potapov:
qa_verified+
v.potapov: published+ |
| Target Milestone: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Platform: | --- | ROSA Vulnerability identifier: | |
| RPM Package: | ISO-related: | ||
| Bad POT generating: | Upstream: | ||
|
Description
a.betkher
2023-03-28 09:59:19 MSK
https://abf.io/build_lists/4394882 -x86_64 https://abf.io/build_lists/4394881 https://abf.io/build_lists/4394883 Макрос %pre заменен на %post advisory: - собрать образ с контейнером - проверить наличие/отсутствие ошибки создания пользователя tss в логе сборки ошибки в логах остаются и с этим обновлением, надо дальше править. Текущее функционально работает. (In reply to a.betkher from comment #1) > https://abf.io/build_lists/4394882 -x86_64 > https://abf.io/build_lists/4394881 > https://abf.io/build_lists/4394883 > > Макрос %pre заменен на %post > advisory: > - собрать образ с контейнером > - проверить наличие/отсутствие ошибки создания пользователя tss в логе > сборки В образе https://abf.io/platforms/rosa2021.1/products/316/product_build_lists/46156 ошибка отсутствует ************************** The update sent to testings Тоже проверял. Пользователь создается, но ошибка от сервиса udev в journalctl по поводу отсутствия пользователя и группы tss есть. Пока не понял почему так. luksunlock с обновлением. Ушла проблема с тем, что после запуска luksunlock не видно вводимые символы, добавлена возможность авто разблокировки других разделов смонтированных в систему. Для каждого будет выводиться запрос.
Общая схема такая. Корневой раздел разблокируется в initrd по записи в tpm2, остальные разблокирует systemd по записи в /etc/crypttab. Для каждого дополнительного раздела luksunlock создает рандомный ключ в /etc/luksunlock/keys/.
dd if=/dev/urandom of=/etc/luksunlock/keys/${a}.key bs=1024 count=4
права на файл 0400, думаю этого достаточно.
Таким образом ключ то корневого luks раздела в tpm2, ключи от остальных разделов внутри первого.
luksunlock:
https://abf.io/build_lists/4397369 - x86_64
https://abf.io/build_lists/4397368
https://abf.io/build_lists/4397370
https://abf.io/build_lists/4397371
https://abf.io/build_lists/4397372
advisory:
- установить систему так чтобы корневой раздел и как минимум еще один (лучше два, с двумя не проверял) были зашифрованы luks2. Инструкция тут:
http://wiki.rosalab.ru/ru/index.php/%D0%A3%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BA%D0%B0_%D0%BD%D0%B0_%D1%88%D0%B8%D1%84%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%80%D0%B0%D0%B7%D0%B4%D0%B5%D0%BB
Точно нельзя шифровать отдельно /boot, /efi, /etc и папки с библиотеками и исполняемыми файлами. Корневой раздел должен содержать rootfs в рабочем виде. Можно шифровать отдельно /home, /opt, /var/www и тому подобное.
- Установить luksunlock из контейнера, проверить
luksunlock
reboot
lukslock
reboot
******************************* The update sent to testings 1) Можно ли как-нибудь избежать запроса на старт сервиса или перезагрузку? По-идее наверное можно сделать чтоб он стартовал если есть шифрованные диски. 2) Ввод пароля на каждый найденный зашифрованный раздел выглядит излишним, и инсталлятор и потом системд запрашивают ведь один пароль только. Может, сделать такой режим только если с ключом каким-то запустить, а по-умолчанию спрашивать пароль однократно? 3) А если пользователь хочет зашифровать только хомяк, это будет нормально обработано? 1. Можно, если пакет tpm2-abrmd 100% предустановлен. Если установить он не запускается без перезагрузки. 2. Так это пароли к разным разделам, как ты это предполагаешь обойти? 3. Да. Но лучше проверить. 1) Ну эти случаи ж отличаются с точки зрения пакета? Соответственно и по-разному обрабатывать 2) Ввести один раз и использовать дальше введенный для всех разделов, как делает и инсталлятор, и системд 1. Как отличить пакет, который установили только что? То есть была ли перезагрузка после установки пакета? 2. У каждого раздела СВОЙ пароль, чтобы добавить разделу ключ, нужно ввести его. 3. Кажется не правильно понял тебя. Можно выбрать /home и не выбрать /opt, но корень в текущей схеме должен быть обязательно шифрован. Надо подумать как сделать без корня, не хочу каждый раздел привязывыать к tpm. (In reply to a.betkher from comment #10) > 1. Как отличить пакет, который установили только что? То есть была ли > перезагрузка после установки пакета? uptime dnf history luksunlock Если корневой раздел шифрован, то остальные люкс разделы расшифровываются по ключам, которые хранятся на корневом разделе. Если коревой не шифрован то привязать к tpm2 можно только один раздел на выбор. Решена проблема с шифрованным свопом. Анаконда прописывает его подключение в cmdline граба, люксанлок эту запись удаляет, а шифрование свопа переводит на рандомный пароль, который задается при каждой загрузке. Так модно-молодежно. Соответственно гибернация работать не будет. Есть еще одна проблема с resume=, который также прописывается в конфиг граба, но уже с update-grub2. Там нет проверки, что своп шифрован. Пока обхожу отключением свопа перед переконфигурацией граба. По хорошему надо чинить в грабе. https://abf.io/build_lists/4404828 - x86_64 https://abf.io/build_lists/4404829 https://abf.io/build_lists/4404830 (In reply to a.betkher from comment #12) > https://abf.io/build_lists/4404828 - x86_64 > https://abf.io/build_lists/4404829 > https://abf.io/build_lists/4404830 The update sent to testings ****************************** luksunlock https://abf.io/build_lists/4417619 - x86_64 https://abf.io/build_lists/4417620 https://abf.io/build_lists/4417621 Advisory: - При dnf install luksunlock - показывает справочную страницу - При dnf update и reinstall - не показывает. (In reply to a.betkher from comment #14) > luksunlock > > https://abf.io/build_lists/4417619 - x86_64 > https://abf.io/build_lists/4417620 > https://abf.io/build_lists/4417621 > > Advisory: > - При dnf install luksunlock - показывает справочную страницу > - При dnf update и reinstall - не показывает. **************************************************** The update sent to testings tpm2-tss-4.0.0-5 https://abf.io/build_lists/4394882 -x86_64 https://abf.io/build_lists/4394881 https://abf.io/build_lists/4394883 luksunlock-0.4-2 https://abf.io/build_lists/4417619 - x86_64 https://abf.io/build_lists/4417620 https://abf.io/build_lists/4417621 ************************ Advisory ******************* Шифровка нескольких разделов luks ***************************************************** QA Verified |