Шифруем внешний накопитель посредством LUKS

В данном HOWTO мы рассмотрим как можно легко и просто создать зашифрованный посредством LUKS накопитель для хранения важных данных.

Введение

Для начала нам потребуется установить в систему cryptsetup, а также опционально утилиты работы с разделами дисков — parted (консольный) или gparted (графический).

Откроем терминал и запустим установку (на примере Fedora):

sudo dnf install cryptsetup parted

Все остальные необходимые библиотеки и модули будут установлены автоматически по зависимостям.

Подготавливаем диск

Запустим консольный или графический редактор разделов, выберем нужный физический диск, удалим с него все разделы и создадим один новый, который будем шифровать.

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

Файловую систему создаваемого раздела указываем как raw (без форматирования).

Приступаем к шифрованию диска

Снова откроем терминал и запустим следующую команду:

sudo cryptsetup --verify-passphrase luksFormat /dev/sdc1 -c aes-xts-plain64 -s 256 -h sha512

Описание параметров команды:

  • —verify-passphrase — требование дважды ввести пароль для исключения ошибки ввода;
  • /dev/sdc1 — раздел диска, который мы будем шифровать;
  • -c aes-xts-plain64 — алгоритм шифрования (в нашем примере это AES в режиме сцепления блоков шифротекста XTS);
  • -s 256 — стойкость шифра (256 бит);
  • -h sha512 — алгоритм хеширования (SHA-512).

Утилита cryptsetup сначала предупредит об уничтожении всех данных на шифруемом разделе и потребует ввести на клавиатуре YES (в верхнем регистре) для подтверждения, а затем пароль и его подтверждение.

Необходимо придумать как можно более сложный пароль, но при этом следует помнить, что в случае его утери, данные на зашифрованном разделе восстановить будет невозможно.

Через пару минут на накопителе будет создан зашифрованный раздел.

Создаём ФС внутри раздела

С уже созданным разделом мы пока ещё не можем работать, поэтому нам потребуется сначала создать на нём файловую систему. Допускается создавать любую, поддерживаемую используемой ОС, но мы выберем самую распространённую, популярную и стандартную для большинства дистрибутивов GNU/Linux — ext4.

Подключим зашифрованный раздел:

sudo cryptsetup luksOpen /dev/sdc1 storage

Описание параметров:

  • /dev/sdc1 — зашифрованный раздел диска;
  • storage — внутреннее название, которое должно состоять только из латинских букв и цифр без пробелов.

Создаём файловую систему ext4 внутри зашифрованного раздела:

sudo mkfs -t ext4 -m 1 -L storage /dev/mapper/storage

Описание параметров:

  • -t ext4 — файловая система (ext4);
  • -m 1 — изменяем зарезервированный объём свободного места на разделе для суперпользователя (с 5% до 1%);
  • -L storage — задаём метку тома аналогично внутреннему названию (storage);
  • /dev/mapper/storage — смонтированный зашифрованный раздел, где storage — указанное при подключении внутреннее название.

Ожидаем успешного завершения и отключаем зашифрованный раздел:

sudo cryptsetup luksClose /dev/mapper/storage

Здесь /dev/mapper/storage — смонтированный зашифрованный раздел.

Заключение

Итак, мы успешно выполнили то, что хотели, создав крипто-раздел на накопителе. При подключении его современные DE вроде KDE 5 или Gnome 3 самостоятельно предложат вам ввести пароль для монтирования. В противном случае всегда можно смонтировать через терминал стандартным способом.

Внимание! При первом монтировании начнётся достаточно длительный процесс завершения создания на разделе файловой системы ext4 при помощи механизма ext4lazyinit. На HDD с ФС размером в 500 ГБ это нанимает около 5 минут. Необходимо обязательно дождаться завершения процесса.

3 комментария к записи

  1. Добавьте пункт как ПРАВА раздать на получившийся контейнер, т.к изготовитель root и соответственно токмо он и может в него писать…

    1. Так и должно быть если вы создаёте VM в пространстве системы (владелец root, группа libvirt).

      Если используется пространство пользователя, то владельцем будет уже его аккаунт.

Добавить комментарий для vladimirplakhot Отменить ответ

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