Під час завантаження підключіть зашифрований жорсткий диск LUKS


24

У мене Xubuntu 14.04 на SSD-пристрої ( HOME був зашифрований правильно під час інталяції), крім того, у мене є жорсткий диск із зашифрованим розділом із додатковими даними, які я хотів би встановити в / mnt / hdd . Для їх виконання я дотримувався наступних кроків:

(Раніше я шифрував диск LUKS після цього допису http://www.marclewis.com/2011/04/02/luks-encrypted-disks-under-ubuntu-1010/ )

Перевірте UUID

sudo blkid 
/dev/sda1: UUID="b3024cc1-93d1-439f-80ce-1b1ceeafda1e" TYPE="crypto_LUKS"

Створіть файл ключів із правильною парольною фразою та збережіть її в моєму ДОМАШНІЙ (яка також зашифрована).

sudo dd if=/dev/urandom of=/home/[USERNAME]/.keyfiles/key_luks bs=1024 count=4
sudo chmod 0400 .keyfiles/key_luks

Додайте ключ

sudo cryptsetup luksAddKey /dev/sda1 /home/zeugor/.keyfiles/key_luks

Новий запис у / etc / crypttab

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e /home/[USERNAME]/.keyfiles/key_luks luks

Оновіть початковий ramdisk

sudo update-initramfs -u -k all

Потім, щоб перевірити його, я використовував команду follow для запуску криптовалют:

sudo cryptdisks_start hddencrypted 
 * Starting crypto disk...                                                       
 * hddencrypted (starting)..
 * hddencrypted (started)... 

Для перевірки hddencrypted було відображено:

ls /dev/mapper/
control  hddencrypted

Створіть точку кріплення

mkdir /mnt/hdd

Новий запис у / etc / fstab

/dev/mapper/hddencrypted /mnt/hdd ext4 defaults 0 2

Перевірте fstab без перезавантаження:

sudo mount -a

Встановіть зашифрований розділ на завантаження

Тепер я встановив його в / mnt / hdd, як я запропонував. Але я хотів би зробити це автоматично після перезавантаження. Але перш ніж я можу ввійти, я отримую цю помилку:

the disk drive for /mnt/hdd is not ready yet or not permit

Все це змушує мене думати, що / etc / crypttab не може отримати доступ до файлу ключів, який знаходиться в моєму HOME (інший зашифрований розділ). Я не знаю порядок, який система дотримується для незашифрованих та монтуючих блоків. Моя HOME повинна бути незашифрованою перед моїм жорстким диском, щоб надати доступ для зчитування файлу ключів.

Буду вдячний за будь-яке розуміння того, чому це відбувається.

ОНОВЛЕННЯ: Якщо я знайду файл ключів у / boot (не зашифрований), замість мого / home / [USERNAME] (зашифроване), / dev / sda1 та оновлення запису в / etc / crypttab ідеально встановлено під час завантаження.


Як /home/$USERшифрується? Повне шифрування диска, як LUKS або засноване на шифрах?
Девід Фоерстер

Відповіді:


9

Ключовий файл у каталозі / boot може читати будь-яка інша операційна система, завантажена на вашій машині, яка може змонтувати файлову систему на тому / що завантажуваному файлі. Таким чином, шифрування насправді не ефективно. Цей аргумент стосується всіх ключових файлових файлів у незашифрованих файлових системах.

Щоб уникнути ключових файлів у незашифрованих файлових системах, для дешифрування можна використовувати пароль. Створіть надійний пароль для пристрою. Потім змініть рядок у / etc / crypttab на

hddencrypted UUID=b3024cc1-93d1-439f-80ce-1b1ceeafda1e none luks

і зберігати запис у / etc / fstab без змін. Ubuntu 14.04 / 16.04 / 18.04 запитує вас про пароль при запуску.


поєднуючи відповідь @ solt87, і ця відповідь доповнить цю відповідь.

6

Чи працює це, якщо ви заміните "за замовчуванням" у fstab на

rw,suid,dev,exec,auto,user,async,relatime

( В відповідно до кріпленням сторінки людини, це те ж саме , як « по умовчанням» для «користувачів» , за винятком.)


1

Переконайтесь, що hddencrypted розділ вказаний після домашнього розділу в обох /etc/fstabта /etc/crypttab. Як crypttab (5)вказується на сторінці сторінки:

Порядок записів у crypttab важливий, тому що скрипти init послідовно повторюються через crypttab, роблячи свою справу.

Також ви можете спробувати додати noearlyпараметр до останнього розділу в /etc/crypttab:

hddencrypted UUID=<...> /home/[USERNAME]/.keyfiles/key_luks luks,noearly

У звичайній ситуації ви можете вказати, що домашній розділ потрібно спочатку встановити, додавши його CRYPTDISKS_MOUNTв /etc/default/cryptdisks, але оскільки він сам зашифрований, у мене є відчуття, що це було б не дуже хорошою ідеєю.


1
Це не працюватиме, оскільки ubuntu намагається розшифрувати всі розділи та потім встановити їх. Таким чином, файл ключів буде недоступним.
Крістіан Вольф
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.