Опишу в кратце ситуацию, если будут неясны какие то моменты, буду стараться описать подробнее, т.к. сам до конца не очень понимаю данную возможность.
- Можно ли пересобрать initrd (initramfs) c возможностью монтирования / (root) как ШИФРОВАННОГО устройства (партиции или директории).
- Возможно ли впринципе монтирование шифрованного рут в инитраме?
- Какие бывают решения защиты загрузки?
-- p.s.: Пароль биос, пароль grub - не подходят.
- Знает ли кто-то варианты решения подобного, путем того чтобы в момент установки ОС, генирировался уникальный ключ, с помощью которого, даже если перенести сис.диски на другую машину, загрузка бы не удалась.
P.S.: Все это нужно ради того чтобы зашититься от LIVE-cd и возможного chroot.
Да, спасибо! Но этот велосипед я уже придумал на днях. Самое плохое в этом велосипеде это то, что нужно вводить пасфраз. А возможности для этого нет. Сейчас думаю над сертификатами, но тут еще один минус, хотелось бы инстались сразу стандалон, без перекладывания яиц
@iandriyanov Ну а смысл этого мероприятия без пасфразы, вытащили ваши винты или сняли копию dd один в один и прощай инфа. Не хотите пасфраз - прикручивайте токены или что-то типа. Можно и сразу на шифрованный ставить, грузитесь с лайфсиди готовите диски потом маунтите их в лайфе и дальше ставить как обычно. Можно свой инсталлятор написать (я на фре так и поступил, но у меня не шифрование а zfs, на который сразу тоже не ставится).
Склонировать то это понятно. но если раздер зашифрован, хоть что ты не делай его тяжело будет примонтировать без пасфразы. В моем случае хочется УЙТИ от пасфразы. А использовать например какой то индентификатор. Который генрился бы из соображения железа (чтобы нельзя было вытащить диски и воткнуть куда то еще) и\или с проверкой синглмод или обычная загрузка.
- Можно ли пересобрать initrd (initramfs) c возможностью монтирования / (root) как ШИФРОВАННОГО устройства (партиции или директории).
- Возможно ли впринципе монтирование шифрованного рут в инитраме?
- Да, да. Но зачем? Всё равно при этом образ initrd будет лежать в открытом виде на загрузочном разделе, а ключ должен быть у него внутри, если вы не собираетесь вводить пароль. Распотрошить его из livecd -- дело 2 минут.
Явно ключи нигде не будут лежать. Они будут генерироваться вновь и вновь при запуске, спец. написаной утилитой которая на основе железа его будет генерировать. По этому не получится лайв-сд'ишнуть. потому как надо будет провести большую работу по дизассемблированию программы. А внутри этой программы делать маунт этой директивы. Нечерез init
> По этому не получится лайв-сд'ишнуть. потому как надо будет провести большую работу по дизассемблированию программы. А внутри этой программы делать маунт этой директивы
Может запустить вашу программу под strace и увидеть, какие ключи она скормит LUKS (или чем вы будете шифровать)? Короче, я хочу сказать, что пока это выглядит довольно просто.