🔐 Шифрование USB-накопителя с помощью Linux

Мануал

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

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

Одно из самых простых решений этой дилеммы – хранить на USB-накопителе только неприватную информацию.

Очевидно, что в этом случае будет нарушена основная цель использования устройства хранения данных.

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

В этой статье речь пойдет о втором решении, а именно о шифровании USB-накопителя.

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

Первый недостаток заключается в том, что расшифровка USB-носителя должна производиться с помощью системы Linux, в которой установлен модуль dm-crypt.

⛹️♂️ 10 лучших инструментов шифрования файлов и дисков для Linux

Другими словами, вы не сможете использовать зашифрованный USB-носитель на любой Windows-машине и UNIX-подобных системах со старыми ядрами.

Поэтому шифрование только той части USB-накопителя, которая содержит только приватную информацию, представляется хорошим решением.

В этой статье мы рассмотрим пошаговую инструкцию по шифрованию части USB-устройства в Linux.

 

Во многих дистрибутивах 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.

В данном руководстве мы будем называть блочное устройство /dev/sdc как /dev/sdX, чтобы избежать случайного повреждения данных нашими читателями при выполнении нижеследующего текста. Поэтому, когда вы увидите, например, /dev/sdX или /dev/sdX2, мы будем иметь в виду реальное блочное устройство /dev/sdc и раздел /dev/sdc2 соответственно.

Получив имя нашего 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, но ваши могут быть другими.

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

Мы используем FAT32, но вы можете использовать любую другую.

 

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

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

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

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

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

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

Шифрование раздела USB-накопителя

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

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

 Как добавить зашифрованный жесткий диск на Linux

Если команда 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-накопитель.

Заключение

В этом руководстве мы рассмотрели, как создать зашифрованный раздел для защиты конфиденциальных файлов на USB-накопителе.

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

Мы также узнали, как монтировать и размонтировать раздел.

см. также:

 

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