Шифруем USB флэшку с помощью cryptsetup

Во многих дистрибутивах Linux пакет cryptsetup уже установлен по умолчанию.

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

Чтобы установить cryptsetup на Ubuntu, Debian, Linux Mint:

$ sudo apt install cryptsetup
Для установки cryptsetup на CentOS, Fedora, AlmaLinux и Red Hat:

$ sudo dnf install cryptsetup
Чтобы установить cryptsetup на Arch Linux и Manjaro:

$ sudo pacman -S cryptsetup

Разметка USB-накопителя
Давайте начнем с разметки нашего USB-накопителя.

Вставьте USB-накопитель в USB-разъем компьютера и от имени пользователя root выполните команду :

# fdisk -l
Просмотрите вывод команды fdisk и найдите имя файла диска вашего USB-накопителя.

В нашем случае это устройство – /dev/sdc.

Получив имя нашего USB-накопителя, мы можем создать разделы, которые будут использоваться для шифрования и хранения неприватных данных.

В данном примере мы разделим USB-накопитель на два раздела, первый из которых будет иметь размер 2 ГБ, а оставшееся пространство будет использовано для создания второго раздела, в результате чего получатся /dev/sdX1 и /dev/sdX2 соответственно.

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

# fdisk /dev/sdX

Выполните следующие команды в интерактивном режиме fdisk:

Command (m for help): n
[Press enter twice]
Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-31703005, default 31703005): +2GB
Command (m for help): n
[Press enter three times]
Command (m for help): w

Теперь у нас есть два раздела, первый из которых имеет размер 2 ГБ и будет содержать наши зашифрованные файлы.

Другой раздел занимает остальную часть USB-накопителя и будет содержать нечувствительную информацию.

Эти два раздела представлены как /dev/sdX1 и /dev/sdX2, но ваши могут быть другими.

Теперь мы разместим файловую систему на разделах.

# mkfs.fat /dev/sdX1
# mkfs.fat /dev/sdX2

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

Для записи таких данных в раздел можно использовать следующую команду dd.

Это может занять некоторое время.

Время зависит от энтропии данных, генерируемых вашей системой:

# dd bs=4K if=/dev/urandom of=/dev/sdX1

Шифрование раздела USB-накопителя
Теперь пришло время зашифровать только что созданный раздел.

Для этого мы будем использовать инструмент cryptsetup.

Если команда cryptsetup недоступна в вашей системе, убедитесь, что пакет cryptsetup установлен.

Следующая команда Linux зашифрует раздел /dev/sdX1 256-битным алгоритмом AES XTS.

Этот алгоритм доступен на любом ядре с версией выше 2.6.24.

# cryptsetup -h sha256 -c aes-xts-plain -s 256 luksFormat /dev/sdX1

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

Установка USB-раздела и расшифровка

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

Вы можете выбрать любое имя.

Например, мы можем использовать имя “private”:

# cryptsetup luksOpen /dev/sdX1 private

После выполнения этой команды ваш зашифрованный раздел будет доступен вашей системе как /dev/mapper/private.

Теперь мы можем создать точку монтирования и смонтировать раздел:

# mkdir /mnt/private
# mount /dev/mapper/private /mnt/private
# chown -R myusername.myusername /mnt/private

Теперь ваш зашифрованный раздел доступен в каталоге /mnt/private.

Если вы больше не хотите иметь доступ к зашифрованному разделу вашего USB-накопителя, вам нужно сначала отмонтировать его от системы, а затем использовать команду cryptsetup для закрытия подключенной защиты.

# umount /mnt/private 
# cryptsetup luksClose /dev/mapper/private

Монтирование зашифрованного USB-раздела на рабочем столе

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

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

В любом случае, убедитесь, что у вас установлен пакет cryptsetup и, соответственно, загружен модуль md_crypt в работающее ядро, чтобы использовать ваш зашифрованный USB-накопитель.

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