Если вы когда-нибудь потеряете свой 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
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 для его шифрования.
Мы также узнали, как монтировать и размонтировать раздел.
см. также:
- Как создать зашифрованный образ LUKS и смонтировать его при загрузке в CentOS / RHEL
- Cryptmount – Утилита для создания зашифрованных файловых систем в Linux
- Tomb – шифрование файлов и личный инструмент резервного копирования для Linux
- Как скрыть конфиденциальные файлы в зашифрованных контейнерах на вашей Linux-системе