Шифруем диск с помощью luksipc без потери данных.

Отключение интернета у всех, кроме себя
Отключение интернета у всех, кроме себя
Август 28, 2019
Xiaomi Redmi Note 8 Pro
Новая бюджетная модель Xiaomi Redmi Note 8 Pro
Август 29, 2019
Показать все
Шифруем диск с помощью luksipc

Бывает так, что при установке дистрибутива вы по какой-то причине забыли зашифровать диск. Но позже, вам понадобилось его зашифровать. Стандартно для шифрования в Linux применяется утилита LUKS cryptsetup. И если ей шифровать раздел, то нужно копировать куда-то из него данные, создавать устройство LUKS, создавать новую файловую систему на подключенном устройстве LUKS, копировать все данные обратно.

Это очень геморрно. К счастью есть утилита luksipc, которая служит для преобразования (незашифрованных) блочных устройств в (зашифрованные) устройства LUKS на месте (поэтому оно называется преобразованием на месте LUKS). Это означает, что преобразование выполняется без необходимости копировать все данные куда-либо, воссоздавая весь диск. Вместо этого процесс сводится к:

  • Размонтированию файловой системы
  • Изменению размера файловой системы для сокращения
  • Выполнению шифрования с помощью Luksipc
  • Добавлению пользовательских ключей в связку ключей LUKS

Итак, приступим. (Я настоятельно рекомендую вам перед этим сделать бэкап).

Для начала размонтируем устройство:

sudo umount /dev/sda2

Первым делом уменьшим размер файловой системы. В случае ext4, делается это следующим образом (я буду проводить всё на разделе /dev/sda2). Смотрим сколько блоков на устройстве:

e2fsck -f /dev/sda2

e2fsck 1.45.3 (16-Jul-2019)
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/sda2: 1124247/39067648 files (0.4% non-contiguous), 18242939/156262752 blocks
dumpe2fs /dev/sda1|grep 'Block count'

dumpe2fs 1.45.3 (16-Jul-2019)

Block count: 156262752

Уменьшаем размер. 156262752-1024 (блоки по 4k)=156261728

resize2fs /dev/sda2 156261728

resize2fs 1.45.3 (16-Jul-2019)
Resizing the filesystem on /dev/sdc1 to 156261728 (4k) blocks.
The filesystem on /dev/sdc1 is now 156261728 (4k) blocks long.

Следует отметить, что это не уменьшит размер самого раздела.

Теперь установим утилиту luksipc:

sudo apt update
sudo apt install luksipc

Ну а теперь собственно приступим к шифрованию:

uksipc создаст файл ключа /root/initial_keyfile.bin, который вы можете использовать для получения доступа к вновь созданному устройству LUKS.

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

Теперь вы можете открыть зашифрованное устройство с помощью команды:

И примонтировать его:

Всё, вы получили зашифрованный диск без переноса данных из него куда-либо.

P.S. Почитать про утилиту luksipc

0

Автор публикации

не в сети 5 дней

Александр Никитюк

14
Комментарии: 11Публикации: 151Регистрация: 17-05-2019
ПОДЕЛИСЬ С ДРУЗЬЯМИ

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

10 − девять =

Авторизация
*
*

пятнадцать + тринадцать =

Регистрация
*
*
*
Пароль не введен
*

два × 1 =

Генерация пароля

4 × 5 =