Возможно ли полное дисковое шифрование Linux с беспроблемным пользовательским интерфейсом, например FileVault (macOS) или BitLocker (Windows)?
Я нашел несколько решений полного шифрования диска (FDE) для ОС Linux. В частности, я посмотрел на решения, которые работают на Linux Mint или Ubuntu, так как это то, что я склонен использовать. Но я уверен, что этот вопрос относится и к другим дистрибутивам.
Я ищу решение с полным диском, которое работает так же легко для пользователя, как и с FileVault на macOS.
FileVault выглядит следующим образом:
- FileVault шифрует весь диск. Это можно сделать одним щелчком мыши на панели prefs для Security.
- FV обеспечивает среду предварительной загрузки, которая разблокирует Mac-эквивалент модуля Trusted Platform (на самом деле это может быть TPM, но я не думаю, что это так), что блокирует ключ (-ы), которые фактически сделали шифрование диска
- Когда вы входите в систему, вы фактически входите в среду предзагрузки. Это разблокирует ключи FV. Только тогда диск ОС разблокируется.
- Пароль пользователя ОС синхронизируется с паролем FV; для конечного пользователя это все без проблем (за исключением нескольких случаев использования)
В Windows BitLocker работает с доверенным платформенным модулем почти так же, как описано выше для FileVault.
В Linux, однако, даже с установленными инструментами TPM, для каждой схемы шифрования полного диска, с которой я столкнулся, требовался загрузочный пароль в дополнение к имени пользователя и паролю для входа.
Например, это (очень хорошо написанный и подробный) пример Linux Mint:
https://community.linuxmint.com/tutorial/view/2026
В этом примере (что похоже на миллион простых в обращении шагов интерфейса командной строки, кстати), FDE готов, но вы можете видеть, что пользователь должен вводить парольную фразу для расшифровки в приглашении Grub при загрузке.
Кто-нибудь взломал этот орех для Linux?
Требования
- Пользовательский опыт таков, что пользователь вводит свой логин и пароль только один раз
- Полное шифрование диска (включая загрузочный раздел)
- (Приятно иметь) Настройка проста, или, по крайней мере, Simple(TM)
2 ответа
Вы не можете зашифровать загрузочный раздел, так как вам нужно загрузить из него предзагрузочную среду. Шифрование загрузочного раздела не помогает ни с чем.
Многие стандартные установки Linux (включая Ubuntu) позволяют вам выбирать "полное шифрование диска" при загрузке и не требуют пароля grub как части графического интерфейса. Он делает это, загружая среду "pre-boot" с RAM-диска и используя это и LUKS для разблокировки раздела.
После его загрузки обычно есть второй шаг для входа в систему под конкретным пользователем с паролем, однако вы можете настроить автоматический вход в GUI. Конечно, если вы отойдете от своего компьютера и оставите его, ваша система будет широко открыта.
Очевидно (но я не проверял это), Ubuntu изначально поддерживает TPM 2.0. (Признаюсь, что скептически настроен автоматически, но я не пробовал)
Даже в Windows системный раздел (названный Microsoft и невидимый для пользователей. Используйте диспетчер дисков, чтобы увидеть его) не зашифрован. Для загрузки начальных загрузочных файлов должна быть незашифрованная часть. Для Linux этот раздел является / boot
Есть проект GitHub, который решает эту задачу: https://github.com/fox-it/linux-luks-tpm-boot