LINUX.ORG.RU

Full disk transparent encryption

 , , , ,


0

2

Возможно ли зашифровать диск полностью, включая /boot раздел и нужно ли? Причины шифровать swap, home и root для меня очевидны, поделитесь минусами незашифрованного boot. Если кто успешно шифровал поделитесь секретами установки.

Попробовал поставить арч с LVM + LUKS по данному туториалу: https://www.pavelkogan.com/2014/05/23/luks-full-disk-encryption/

Grub вываливается в rescue mode указывая, что диск с указаным UUID не существует. Ставил на внешний жесткий, был один физический раздел /dev/sdc1 с 1 vg: vg0, который и содержал все 4 lv: vg0-boot, vg0-swap, vg0-root, vg0-boot. По UUIDшникам: fstab генерировал скриптом, crypttab редактировал руками через vim вставкой результата команды blkid /dev/mapper/mydisk (luksOpen делал в mydisk)

зашифровать диск полностью, включая /boot

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

Пока что конфигурация c шифрованием всего предполагает доверие к аппаратной части ПК.
Сомнительно, что это лучше незашифрованного загрузочного раздела.

Смысл иметь зашифрованный boot есть разве что когда загрузчик защищён UEFI Secure Boot.
Но тут требуется снова верить железке.

aidaho ★★★★★ ()
Ответ на: комментарий от undef

Младший брат может подменить содержимое /boot

Что помешает младшему брату подменить зашифрованный /boot целиком? Тут надо верификацию бута по цифровой подписи делать. А чтобы делать нужно опять же, доверие к железке, которая реализует функцию проверки подписи перед исполнением.

Khnazile ★★★★★ ()
Ответ на: комментарий от Khnazile

В случае с нешифрованым бутом можно подменить тот же initrd. При шифрованом буте править придется stage1,2 grub'а. Братишке придется повышать свой уровень. Но в конечном итоге да, есть возможность подмены кода. Вопрос только в сложности замены.

undef ()
Ответ на: комментарий от undef

initrd можно встроить в ядро (CONFIG_INITRAMFS_SOURCE). Алсо, груб не нужен, параметры загрузки тоже можно указать в конфиге ядра, и получается один efi-файл, который например можно загружать с флешки, а винты зашифровать в ноль, включая таблицу разделов (а заголовки LUKS спрятать в initramfs)

anonymous ()

В арче в ауре есть grub-luks-keyfile, патченый grub, который умеет грузиться с чистого dmcrypt-a или люкса. Только luks нахер не нужен, так же как и lvm. Накатываешь на флешку такой вот grub при установке арча. На ней будет загрузчик + файл ключа. Винт чистый dmcrypt+файловая система на нём. Элегантно и просто. Если к тебе приходят, флешку либо сжираешь, либо смываешь в унитаз.

Остальные решения более костыльные и черезжопные. Такая флешка создаётся 1 раз и больше никогда не меняется при установке. Остальная система работает как обычно. На винте зашифровано абсолютно всё. Если это ССДюк и он сдох, но всё ещё на гарантии, можешь без всякой головной боли сразу на обмен нести.

anonymous ()

Причины шифровать swap, home и root для меня очевидны, поделитесь минусами незашифрованного boot.

Сложнее сделать, остаётся незашифрованный /boot. Шифруй все.

t184256 ★★★★★ ()

GRUB 2.04 официально, а GRUB 2.02 с патчами, которые есть в Ubuntu и Fedora как минимум, поддерживает доверенную загрузку с использованием TPM. Если у вас есть TPM, вы можете настроить в GRUB его использование и пароль на загрузку.

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

ValdikSS ★★★★★ ()
Ответ на: комментарий от anonymous

Но Secure Boot не даст :)

Если не отзывать ключи Microsoft — даст. Secure Boot призван защитить от незаметной подмены загрузчика удалённо, когда у атакующего нет физического доступа.

https://github.com/ValdikSS/Super-UEFIinSecureBoot-Disk

ValdikSS ★★★★★ ()
Ответ на: комментарий от anonymous

Его «эмуляция» (Firmware TPM, может называться PTT) встроена почти во все современные процессоры Intel среднего и высокого класса, у AMD, если не ошибаюсь, тоже что-то такое есть.

Аппаратные TPM раньше были во многих ноутбуках, как сейчас — не знаю. Программные, пожалуй, даже безопасней аппаратных, т.к. у них нельзя прослушать шину.

ValdikSS ★★★★★ ()
Ответ на: комментарий от ValdikSS

Если у вас есть TPM, вы можете настроить в GRUB его использование и пароль на загрузку

Доверия этим штукам - никакого, равно как и «встроенному» в SSD шифрованию.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от undef

При шифрованом буте править придется stage1,2 grub'а.

Libreboot с GRUB payload, прошитым в чип? Вроде бы там есть возможность сверки GPG подписи того, что грузится дальше?

anonymous ()
Ответ на: комментарий от anonymous

Тебе технологиями Libreboot/secureboot/tboot надо защитить только GRUB core.img который содержит крыптографию для расшифровки /boot, публичный GPG ключ и крыптографию для верификации всего остального с /boot включено с ядром и инитрд.

Вроде бы там есть возможность сверки GPG подписи того, что грузится дальше?

https://www.gnu.org/software/grub/manual/grub/grub.html#Using-digital-signatures

ТС: если у тебя при загрузке не расшифровывается /boot то проблема в создании и установку GRUB core.img . Какими командами ты его создаешь и устагавливаешь, необходимые модули GRUB для шифрования как параметр указал?

anonymous ()
Ответ на: комментарий от anonymous

Суть не в конкретных технологиях, а в ответе на вопрос «зачем» и степени паранойи. В любом случае будет механизм, который будет расшифровывать криптоконтейнер. Вопрос в степени доверия к этому механизму и сложности модификации его. Нешифрованый /boot модифицируется с помощью знаний sh и cpio. Шифрованый /boot потребует лезть в stage1,2. Далее фирмварь, аппаратные криптомодули. Доступ к расшифровщику усложняется, но не становится невозможным. Если защищаешься от условного брата-линуксоида, хватит шифрованого бута. Если от Службы Галактической Разведки, то не хватит и всех TPM'ов с Libreboot вместе взятых.

undef ()
Ответ на: комментарий от undef

ответе на вопрос «зачем»

/boot должен шифроваться для защиты ядра, инитрд и своих настроек.

Если используете GRUB, то GPG верификация необходима для гарантии целостности системы на участке от MBR и до init.

anonymous ()

И можно и нужно. И включить секуре боот. Некоторые системы умеют так ставиться сами (POP_OS!). При этом, биос должен быть опенсурсным (гуглите проект под свою модель) и МЕ должен быть крякнут. Иначе это не имеет смысла.

explorer ()