1

Разве незашифрованный / загрузочный раздел не является слабым местом для зашифрованной установки LVM? Злоумышленник может установить вредоносное ПО в раздел / boot, чтобы он мог прослушать пароль шифрования при следующей загрузке системы. Это также может быть сделано с помощью вредоносного ПО, установленного в Windows в системе с двойной загрузкой без физического доступа.

Мне не хватает какой-либо схемы защиты или, по крайней мере, я могу убедиться, что содержимое /boot не изменилось с момента последнего выключения системы?

3 ответа3

0

При современных способах реализации шифрования на томах LVM невозможно зашифровать /boot . В противном случае было бы невозможно загрузить операционную систему, если аппаратное обеспечение на материнской плате не поддерживает ее. Я не видел и не слышал об оборудовании, которое может сделать это до сих пор, но оно может существовать.

Из Archwiki: В большинстве установок выделенный раздел / загрузочный раздел не требуется, но он находится в сложной конфигурации, подобной этой, потому что GRUB должен иметь возможность читать ядро, initramfs, его собственные файлы конфигурации и т.д. Из / boot каталог. Поскольку GRUB сам не знает, как разблокировать раздел LUKS (это работа ядра), / boot не должен быть зашифрован и, следовательно, должен быть отдельным разделом диска.

Это означает, что для загрузки операционной системы загрузчик должен иметь возможность считывать собственные параметры конфигурации, которые он находит в /boot , и не может этого делать, если том зашифрован. Это верно независимо от того, какую процедуру / метод шифрования вы используете.

Это слабость? Да. Можно установить какой-то перехватчик паролей в /boot , но зашифрованный LVM не был разработан, чтобы защитить вас от этого. Если вы настолько параноик, то кто-то, получив физический доступ к вашей машине или root доступ к вашей системе во время ее работы, заставит вас предположить, что вы были скомпрометированы.

Это может быть неправильным выводом от меня, но я думаю, что шифрование на разделах LVM выполняется в случае, если вы потеряли свой компьютер или он был украден. В этом случае им придется каким-то образом получить ваш пароль, прежде чем они смогут получить доступ к содержимому диска или взломать ключ вручную, что невозможно, если у человека нет неограниченного доступа к ресурсам.

0

Если вы беспокоитесь о целостности файлов, вы можете использовать безопасную загрузку UEFI. Вы можете использовать подписанное ядро из своего дистрибутива Linux или использовать самоподписанное, как описано в http://kroah.com/log/blog/2013/09/02/booting-a-self-signed-linux- ядро /. Самоподписывание пока не очень удобно, так как вы должны либо включить initrd в ядро, либо работать полностью без него. И вы должны указать строку команды ядра во время компиляции.

0

Да, это слабость. Как пишет @Mogget, вашей системе нужен незашифрованный / загрузочный раздел, если у вас нет специального оборудования.

Одна из возможных схем защиты - поместить этот незашифрованный / загрузочный раздел на отдельный USB-ключ, который вы всегда держите при себе. Если есть риск, что кто-то подделал его, вам следует создать новый из вашего подписанного и проверенного изображения.

Другая идея состоит в том, чтобы позволить вашему незашифрованному /boot быть разделом на диске, как обычно, но вместо того, чтобы разблокировать остальную часть вашей системы, вы разблокируете зашифрованный раздел /boot2 с помощью ключа A. В /boot2 вы храните двоичный файл, который проверяет целостность /boot перед разблокировкой остальной части системы с помощью ключа B.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .