LINUX.ORG.RU

Как прописать key file для luks в grub?

 , ,


0

1

Сделал по этой инструкции полнодисковое шифрование в Ubuntu https://help.ubuntu.com/community/Full_Disk_Encryption_Howto_2019 (включая шифрование /boot раздела)

Все работает, но этот способ требует одного ввода пароля при загрузке, чтобы grub смог монтировать /boot раздел. Я хочу иметь key file отдельно на usb flash чтобы не вводить пароль (т.к. сам efi раздел с grub храню тоже на usb flash). Такой себе получается флэшка ключ.

Как я понимаю добавление ключей в файл /etc/crypttab не срабатывает, потому что он запускается уже на этапе загрузки системы, после того как /boot расшифрован. Поэтому как я думаю ключ key file нужно как-то добавить в сам grub. Но к сожалению я не нашел как.

Может хотя бы кто поделится ссылкой?

Никак. Были неофициальные патчи для поддержки ключей. Был проект Trusted GRUB с поддержкой TPM. Всё это в хрен пойми каком состоянии на сегодня.

anonymous ()

Какой тогда смысл в шифровании, если система сама расшифровывает данные предоставляя доступ каждому, кто получит твой диск ?
Просто греешь воздух.

Deleted ()

В своём любимом поисковике набери «Debian luks usb gpg». Найдёшь полный туториал в формате pdf. В нем расписано все команды в нужной последовательности. [url=https://youtu.be/upOqR4HPi60]Тут можно найти название туториала[/url].

anonymous ()

На арчевики всё есть, разве что совсем детально не разжёвано: https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system

Там вообще для разных сценариев варианты рассматриваются, но в твоём случае нужно соблюсти следующие моменты:

1) Совместимая с grub файловая система для ключа-файла(опционально ещё отдельный заголовок luks), либо ключ-файл находится в неразмеченной области устройства(только заполненной не нулями, а выхлопом /dev/urandom) 2) Явно прописать использование ключевого файла в конфигурации grub и перезаписать его

Вот на вики всё расписано, погляди.

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

Коллекцию-то пусть видит кто угодно, у кого хватит ума каким-то чудом догадаться, что на диске не стрёртые примитивным псевдослучайным вайпером данные, а данные шифрованные.

cryptsetup open --type plain /dev/sdb secret

А вот какие-нибудь КТ, ЧБ, ОД и прочие двубуквенные аббревиатуры будут открываться не так в лоб, а чем-то вроде

cryptsetup --keyfile-offset 512 --header /media/user/ExtUSBStick/hidden.head --align-payload 206959200 luksFormat /dev/sdb /etc/keys/secret.key && cryptsetup luksOpen --key-file /etc/keys/secret.key --keyfile-offset 512 --header /media/user/ExtUSBStick/hidden.head /dev/sdb realsecretdata

SM5T001 ()

Отвечу на свой же вопрос.

Выше указали на то что вариант с cryptsetup работать не будет. Инструкция от Anonymous тоже не будет работать, потому что там тот же cryptsetup. Тем не менее советы настроить cryptsetup все равно почему-то были…

Единственный вариант как использовать ключ для открытия luks в grub это накатить неофициальные патчи на grub. В AUR есть пакет, но это те же собранные неофициальные патчи. Вот источник http://grub.johnlane.ie/

Разработчик этих патчей пытался добавить их в grub, но его то ли не заметили, то ли не посчитали нужным принимать, то ли он что-то недоделал, по issue на github непонятно.

Учитывая, что эти патчи не прошли серьезное review я бы не стал их накатывать, если система не для игр.

Значит выхода только 2: 1. вводить пароль каждый раз, 2. перенести на usb флэшку раздел /boot целиком.

Еще отмечу, что т.к. по умолчанию luks использует хэши sha512 и в grub нету оптимизаций для работы с luks, то открытие дисков luks происходит медленно (т.е. grub открывает только /boot раздел, дальше в дело вступает cryptsetup и все работает быстро). На моем Ryzen 7 открытие занимает 5 сек. Не факт что загрузка /boot с флэшки будет медленнее по USB 3 и тем более по USB Type C. В сети советуют использовать для /boot хэши sha256, но ускорит ли это загрузку я не проверял.

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

Понятно, спасибо, хотя я конечно проверю это учитывая прошлые советы на этом форуме, которые неверны.

Меня на самом деле и Windows устроит, хотя мне не нравится что она без спроса отсылает телеметрию. Инструменты которые мне нужны из linux я могу получить и запустив linux в docker.

Вот вопрос поддерживает ли vera crypt загрузку с key file на usb.

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

Меня на самом деле и Windows устроит, хотя мне не нравится что она без спроса отсылает телеметрию

Windows 7 SP1 без обновлений:
1. При появлении интернета лезет на captive portal MS (ActiveProbe), отключается в реестре
2. Может периодически лезть на сервер windows update скачивать 2 сертификата (наблюдается при работе .Net прог)
3. Неактивированная Windows периодически лезет на сервер MS, тогда в трее появляется значок активации
4. IE и WMP лезут в сеть при запуске
5. В простое шуршит винтом, хотя практически все, что можно отключено (даже в планировщике задач). Возможно, это prefetch.
В остальном лишних запросов вроде нет.

MS такая подлая. Старые версии Visual Studio не дает скачать без регистрации (раньше ссылки были доступны). А если забыть пароль, блокирует учетную запись и требует телефон. Удалил все виндовое, достала эта гниль. Не хочу больше ее обсуждать.

я конечно проверю это

Проверь, потому что я только слышал об этом и то давно.

xomon47 ()