Uefi и полное шифрование диска с помощью lvm на luks
У меня есть машина ASUS, на которой я могу выбирать между старым BIOS и новым UEFI. Я всегда использовал старую систему BIOS, запустив полностью зашифрованный Debian со следующей конфигурацией:
Незашифрованный загрузочный раздел, смонтированный на
/boot
Все остальное пространство, зашифрованное с помощью LUKS, и со всеми логическими томами LVM (
/
, своп,/home
) в теме.
Все работает хорошо и без проблем. Но я бродил, если я хочу сделать новую установку с нуля (я не хочу конвертировать вещи), используя UEFI, и мне нужно создать раздел FAT32 EFI, смонтированный в /boot/efi
Нужна ли мне незашифрованная /boot
раздел или просто раздел EFI и все остальное в зашифрованном виде?
Другими словами, какая конфигурация будет правильной?
/boot/efi
/boot
- Зашифрованный том LUKS
или же
/boot/efi
- Зашифрованный том LUKS?
1 ответ
Да, я знаю, что ответ довольно поздний, но лучше поздно, чем никогда...
Я не знаю, есть ли в Debian инструменты для этого, но с помощью Arch Linux вы можете создать структуру диска следующим образом:
- EFI раздел (смонтирован
/boot/efi
) с загрузчиком grub EFI, отформатированный раздел fat32 типа EFIEF00
, Может быть вашим/dev/sda1
, Этот раздел будет содержать только заглушку grub, чтобы попросить пароль для монтирования вашего загрузочного раздела. - загрузочный раздел (смонтирован
/boot
) это устройство шифрования Luks. После крипто-разблокировки этого раздела вы можете отформатировать его, используя любую файловую систему, поддерживаемую grub, но (например, ext4). Это будет ваш/dev/sda2
- Криптоустройство, которое будет хранить все оставшиеся разделы как логические тома. Криптоустройство, с LVM и его логическими томами (3 слоя). Это будет ваш
/dev/sda3
,- Здесь вы можете создать столько логических томов, сколько вам нужно / нужно. Ключ, который разблокирует этот раздел, будет использоваться для доступа к данным на всех его логических томах.
Заимствуя из Arch Wiki, вот как будет выглядеть ваш дисковый макет:
+---------------+----------------+----------------+----------------+----------------+
|ESP partition: |Boot partition: |Volume 1: |Volume 2: |Volume 3: |
| | | | | |
|/boot/efi |/boot |root |swap |home |
| | | | | |
| | |/dev/store/root |/dev/store/swap |/dev/store/home |
|/dev/sdaX |/dev/sdaY +----------------+----------------+----------------+
|unencrypted |LUKS encrypted |/dev/sdaZ encrypted using LVM on LUKS |
+---------------+----------------+--------------------------------------------------+
Предостережения:
- Grub попросит пароль для разблокировки
/boot
, начальный RAM диск попросит пароль СНОВА (причина для него,/boot
заблокирован), и, вероятно, при монтажеroot
раздел это произойдет еще раз. Хитрость заключается в том, чтобы использовать мастер-ключ внутри вашего/boot
(и, возможно, внутри вашего initrd сFILES=
вариантmkinitcpio
и добавить его сluksAddKey
, Ваш загрузочный раздел зашифрован, поэтому вам не нужно беспокоиться, потому что ключ находится внутри зашифрованного раздела.chmod 000 keyfile.bin
твой друг. - добавлять
encrypt lvm2
вmkinitcpio
крючки. - Если по какой-либо причине ваша система не может использовать ключ, пароль будет запрошен снова.
- Вы по-прежнему будете уязвимы для атак Evil Maid, которые исследуют ошибки Cold Boot. Лучшее, что вы можете сделать здесь:
- Включить безопасную загрузку.
- Подпишите свой Grub EFI.
- Отмените Microsoft CA на своей материнской плате (вы знаете, никому не можете доверять).
- Не забудьте подписать вас Grub EFI, когда у вас есть
grub-efi
обновление пакета.
Дальнейшее чтение:
После некоторых исследований о необходимости держать загрузочный раздел вне lvm (насколько я знаю, grub-pc / bios имел lvm
а также luks
модули) я нашел этого парня на Arch Forums, подтверждающего, что нет необходимости держать /boot
на запасном криптографическом разделе.
Вы можете установить Grub на свой ESP
и также скажите ему, чтобы он считывал файлы конфигурации из esp следующим образом:
# grub-install --target=x86_64-efi --efi-directory=esp --bootloader-id=grub --boot-directory=esp
после этого восстановите conf:
# grub-mkconfig -o esp/grub/grub.cfg
И, кажется, что grub
это единственный загрузчик, который поддерживает загрузку lvm + crypto без отдельного раздела / boot.