Как зашифровать накопители с помощью LUKS в Linux

В этой статье будет показано как зашифровать накопители с помощью LUKS в Linux. LUKS можно использовать для создания зашифрованных и защищенных паролем накопителей таких как HDD, SSD,USB. Во время шифрования LUKS резервирует место на накопителе и хранит на нем необходимую информацию. Которая необходима для шифрования и дешифрования. Этот метод шифрования на диске обеспечивает почти полную совместимость между дистрибутивами Linux. Если вы установили LUKS в своей системе Linux и знаете пароль, то вы легко сможете расшифровать любой диск зашифрованными LUKS в любом дистрибутиве Linux.

Установка LUKS в Linux

LUKS является частью пакета “cryptsetup”, вы можете установить его в Ubuntu, выполнив команду ниже:

$ sudo apt install cryptsetup

Для Fedora можно установить cryptsetup этой командой:

$ sudo dnf install cryptsetup-luks

Cryptsetup может быть установлен и на ArchLinux с помощью следующей команды:

$ sudo pacman -S cryptsetup

Вы также можете скомпилировать его из исходного кода, доступного здесь.

Поиск подключенных накопителей в системе Linux

Чтобы зашифровать диск с помощью LUKS, для начала нужно будет найти нужный диск (узнать его правильный путь). Вы можете выполнить приведенную ниже команду, чтобы просмотреть список всех накопителей (дисков), установленных в вашей системе Linux.

Команда lsblk (list block devices) используется для просмотра информации обо всех доступных блочных устройствах, таких как жесткий диск и флэш-накопители.

$ lsblk -o NAME,PATH,MODEL,VENDOR,SIZE,FSUSED,FSUSE%,TYPE,MOUNTPOINT

Вы увидите в терминале список аналогичный этому:

Просмотр всех накопителей для шифрования
Просмотр всех накопителей для шифрования

Если вы посмотрите на полученные данные и метаданные диска, тогда вы можете легко узнать путь подключенных дисков (указан в столбце “PATH”). Например, я подключил USB флешку, изготовленную компанией Transcend. Глядя на скриншот, можно сделать вывод, что путь к моей флешке (накопителю) — “/dev/sdb”.

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

$ sudo lshw -short -C disk

Вы получите результаты, подобные этим:

Результаты команды lshw -short -C disk
Результаты команды lshw -short -C disk

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

Шифрование диска с помощью LUKS в Linux

Прежде чем идти дальше, вы должны знать, что во время шифрование LUKS удалит все данные на диске.

Внимание: Если на диске есть важные файлы, перенесите их или сделайте резервную копию заранее.

Теперь, когда у вас есть путь к диску, полученный в предыдущем шаге. Вы можете зашифровать диск с помощью LUKS, для этого выполните команду ниже. Обязательно замените путь к диску, который вы узнали в предыдущем шаге “/dev/sdc”.

$ sudo cryptsetup – verbose luksFormat /dev/sdc

Следуйте инструкциям на экране и введите пароль суперпользователя.

Шифрование диска с помощью LUKS в Linux
Шифрование диска с помощью LUKS в Linux

В конце вы должны получить сообщение “Команда выполнена успешно” (Command successful), указывающее, что шифрование прошло успешно.

Вы также можете сбросить метаданные шифрования и убедиться, что диск успешно зашифрован. Выполните приведенную ниже команду (при необходимости замените “/dev/sdc”).:

$ sudo cryptsetup luksDump /dev/sdc

Расшифровка и подключение зашифрованного диска LUKS в Linux

Чтобы расшифровать диск, который был зашифрован с помощью LUKS. Требуется выполнить приведенную ниже команду, указав путь к зашифрованному диску, подключенному к вашей системе. Вы можете заменить “drivedata” любым другим именем, оно будет выступать в качестве идентификатора расшифрованного устройства.

$ sudo cryptsetup – verbose luksOpen /dev/sdc drivedata

Расшифровка и подключение зашифрованного диска LUKS в Linux
Расшифровка и подключение зашифрованного диска LUKS в Linux

Сообщение “Команда выполнена успешно” (Command successful) указывает, что диск был расшифрован. И сопоставлен в вашей системе как новое устройство хранения данных под названием “drivedata”. Если вы выполните команду “lsblk”, то подключенный диск будет отображаться как новый накопитель, который подключен к вашей системе Linux.

Расшифровка и подключение зашифрованного диска LUKS в Linux
Расшифровка и подключение зашифрованного диска LUKS в Linux

Зашифрованный диск LUKS был расшифрован и отображен как устройство, но пока не смонтирован. Вы можете проверить информацию о подключенном диске, выполнив приведенную ниже команду (при необходимости замените “drivedata”).:

$ sudo cryptsetup – verbose status drivedata

Подключенный диск действует как запоминающее устройство, подключенное к вашей системе. Но он еще не содержит разделов с файловыми системами. Для чтения и записи файлов на подключенном диске вам потребуется создать раздел. Чтобы создать раздел EXT4, выполните следующую команду, указав путь к подключенному диску.

$ sudo mkfs.ext4 /dev/mapper/drivedata

Дождитесь завершения процесса. Этот шаг необходимо выполнить только один раз или когда вам нужно отформатировать раздел.

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

Чтобы управлять файлами на подключенном диске, отформатированном как  EXT4, вам потребуется его смонтировать. Для этого последовательно выполните следующие две команды.

$ sudo mkdir /media/mydrive
$ sudo mount /dev/mapper/drivedata /media/mydrive

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

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

$ sudo umount /media/mydrive

Заключение

LUKS дает возможность шифрования всего накопителя, доступ к которому можно получить только с помощью пароля, созданного во время шифрования. Поскольку это система шифрования на диске, где информация о шифровании хранится на самом зашифрованном устройстве. Вы можете подключать зашифрованный диск к любой системе Linux и расшифровать его с помощью LUKS.

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