Установка на шифрованный раздел
Установка
Инсталлятор anaconda. используемый в Роса начиная с платформы rosa2021.1, позволяет создавать шифрованные разделы в том числе можно шифровать и всю корневую ФС, при условии что загрузчики будут вынесены на отдельные разделы.
Для установки с шифрованным корнем делаем следующую разбивку:
Раздел 1
- Размер - 100-200 Мb
- FS - vfat, флаг esp (если разбивка в анаконде достаточно указать тип)
- Точка монтирования - /boot/efi
Раздел 2
- Размер - 500-1000 Mb (для установки хватит и 300, но для обновления initrd уже недостаточно)
- FS: ext4
- Точка монтирования - /boot
Раздел 3
- Размер - от 10 Gb
- FS - любая с поддержкой юникс прав, например ext4
- Точка монтирования - /
- Вот для этого раздела включаем шифрование LUKS2
Дальнейшая установка не отличается ничем. Во время загрузки ОС после выбора пункта загрузки в меню граба на этапе initrd у вас будет запрашиваться пароль. Прямо поверх заставки plymouth. Описания там нет нужно вводить пароль от корневого LUKS2 раздела.
Загрузка без ввода пароля
Как вы уже заметили загрузчики остаются на открытых разделах, чтобы защитить машину от взлома путем внесения изменений на этих разделах необходимо устанавливать пароль для UEFI. Но это приведет к тому, что для загрузки вам нужно будет вводить уже два пароля, а если еще отключен автологин то уже три. Однако есть способ загружать машину без ввода пароля LUKS не теряя при этом в безопасности.
Все современные x86_64 машины, примерно с 16го года оснащаются модулем tpm2, который можно использовать для разблокировки раздела LUKS. Упрощенно можно объяснить идею так - ключ от LUKS вместо вас вводит машина. Таким образом изъятый носитель расшифровать не получится потому что ключ в машине, а машину загрузить не получится потому-что пароль на загрузку UEFI.
Есть два способа использования tpm2 для авторазблокировки корневого раздела LUKS для Linux.
- c использованием фреймворка clevis
- c systemd-cryptenroll.
Оба доступны для ОС Роса платформы rosa2021.1 и новее. Для их использования подготовлены специальные пакеты с упрощающие настройку:
luksunlock-systemd luksunlock-clevis
Можно выбрать любой либо устанавливать luksunlock и система выберет лучший вариант.
В консоли с правами root в системе установленной в LUKS раздел выполните:
dnf install luksunlock -y luksunlock
Далее следуйте указаниям утилиты, в простейшем случае понадобится только ввести пароль для LUKS раздела. После завершения работы утилиты пароль LUKS при загрузке более запрашиваться не будет.
Важно!!! В случае использования luksunlock-clevis окошко для ввода пароля все равно будет появляться.
Паниковать и пытаться вводить пароль не нужно, просто дождитесь окончания загрузки.
Для того чтобы отключить авторазблокировку корневого раздела LUKS:
lukslock