Полное шифрование диска с помощью dm-crypt (без LUKS)

8

В настоящее время я пытаюсь добиться полного шифрования диска с использованием dm-crypt в обычном режиме без заголовка LUKS с отдельным /bootUSB-накопителем.

Моя главная цель - добиться правдоподобного отрицания в дистрибутиве на основе Debian. На данный момент мне удалось зашифровать разделы с помощью cryptsetupи установить /bootраздел на отдельный USB-ключ. Все идет как надо, и поскольку заголовок для шифрования не хранится в LUKS, мне нужно вручную ввести его на экране initramfs, но на этом шаге я просто получаю сообщение об ошибке, которое указывает, что в initramfs нет cryptsetup ("/ bin / sh: cryptsetup: not found ") при попытке разобрать заголовок.

В заключении:

  • dev/sdaзашифрованы с использованием dm-crypt( /rootи /homeтомов) с:
cryptsetup --hash=sha512 --cipher=twofish-xts-plain64 create crypt /dev/sda
  • dev/sdb загрузочная флешка с установленным grub

Я могу успешно загрузиться с начальной загрузки. Я вижу заставку Ubuntu в течение примерно 20 секунд, чего я и хотел добиться для правдоподобного отрицания, а затем он падает до initramfs с жалобой на невозможность найти /dev/mapper/root- что я тоже хотел достичь.

Проблема в том, что когда я хочу проанализировать строку cryptsetup, которая позволила бы мне ввести пароль и продолжить загрузку, тогда initramfs жалуется на «cryptsetup: not found».

Я думаю, что эта жалоба верна. У меня вопрос: как установить cryptsetup в initramfs, чтобы он позволял загружаться для запроса пароля?

Кроме того, я знаю, что я пропускаю что-то, добавляя соответствующие записи /etc/fstab, /etc/crypttabи устройства не обнаруживаются при запуске.

Это руководства, которые я нашел и использовал для настройки всех текущих настроек, может быть, это прояснит то, что я не затронул в своем вопросе:

Первый немного устарел, а второй - для Arch Linux, но я использовал два из них с новейшей установкой Lubuntu с небольшими изменениями.

Роуэн
источник
1
дождитесь развёртки truecrypt и сделайте запрос функции ...
RobotHumans

Ответы:

2

Согласно initramfs-tools (8) , можно добавить программы к образу initrd, добавив, например, следующее в скрипт подключения :

copy_exec / sbin / cryptsetup / sbin

Примеры скриптов хуков можно найти в /usr/share/initramfs-tools/hooksмоей системе Ubuntu и на ней, /usr/share/initramfs-tools/hooks/cryptrootэто действительно добавление /sbin/cryptsetupк initrdизображению.

Пример:

$ gzip -dc /boot/initrd.img-`uname -r` | cpio -tv 2> / dev / null | grep cryptsetup
=> Пока не включено cryptsetup.

$ cat / etc / initramfs-tools / hooks / fde
#! / Bin / ш

, / USR / доли / initramfs-инструменты / Hook-функции
copy_exec / sbin / cryptsetup / sbin

$ sudo chmod 0755 / etc / initramfs-tools / hooks / fde
$ sudo update-initramfs -u

$ gzip -dc /boot/initrd.img-`uname -r` | cpio -tv 2> / dev / null | grep cryptsetup
-rwxr-xr-x 1 корневой корень 59248 21 августа 04:04 sbin / cryptsetup
-rw-r - r-- 1 корневой корень 158848 21 августа 04:04 lib / x86_64-linux-gnu / libcryptsetup.so.4
ckujau
источник