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.