LUKS-шифрование данных на жестком диске с поддержкой NTFS в Linux

Аббревиатура LUKS расшифровывается как Linux Unified Key Setup – это метод шифрования дисков, используемый ядром Linux и реализованный с помощью пакета cryptsetup.

cryptsetup шифрует том или диск «на лету», используя симметричный ключ шифрования, полученный из предоставленной парольной фразы, которая предоставляется каждый раз, когда том-диск, раздел, а также целый диск (даже USB-накопитель) монтируется в иерархии файловой системы, и использует шифр aes-cbc-essiv:sha256.

Поскольку LUKS может шифровать целые блочные устройства (жесткие диски, USB-накопители, Flash-диски, разделы, группы томов и т. д.) в системах Linux, он в основном рекомендуется для защиты съемных носителей, жестких дисков ноутбуков или файлов подкачки Linux и не рекомендуется для шифрования на уровне файлов.

NTFS (New Technology File System) – это собственная файловая система, разработанная Microsoft.

Ubuntu 24.04 обеспечивает полную поддержку шифрования LUKS, а также встроенную поддержку NTFS для Windows с помощью пакета ntfs-3g.

Чтобы доказать свою точку зрения в этом руководстве, я добавил новый жесткий диск на Ubuntu 24.04 (системная ссылка на новый HDD/dev/vdb), который будет разделен на два раздела.

  • Один раздел (/dev/vdb1 – основной) используется для шифрования LUKS.
  • Второй раздел (/dev/vdb2 – расширенный) отформатирован в NTFS для доступа к данным как в системах на базе Linux, так и Windows.

Кроме того, разделы будут автоматически смонтированы на Ubuntu 24.04 после перезагрузки.

Создание разделов диска

Шаг №1

После физического добавления жесткого диска к машине используйте команду ls, чтобы перечислить все /dev устройства (новый диск будет /dev/vdb), или проверьте только что добавленный HDD командой fdisk.

ls /dev/vd*
sudo fdisk -l /dev/vdb

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

Шаг №2

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

sudo cfdisk /dev/vdb

Если вы впервые используете cfdisk на этом диске, вам может потребоваться выбрать тип таблицы разделов (например, MBR для старых систем или GPT для новых).

Шаг №3

На следующем экране откроется программа cfdisk в интерактивном режиме. Выберите «Свободное пространство» на жестком диске и перейдите к опции «Новый» с помощью клавиш со стрелками влево/вправо.

Шаг №4

Выберите тип раздела (Первичный или Расширенный), если появится запрос, и задайте размер раздела (в МБ или ГБ) для создания первого раздела.

Шаг №5

После создания первого раздела снова выберите Свободное пространство и выберите Новый для создания второго раздела.

Шаг №6

Выберите тип раздела (Основной или Расширенный), если появится запрос, и задайте размер раздела (в МБ или ГБ) для создания второго раздела.

Шаг №7

После просмотра и проверки разделов выберите Записать, чтобы подтвердить и сохранить разделы.

Шаг №8

Выберите Quit для выхода из утилиты cfdisk.

Поздравляем! Разделы успешно созданы и теперь готовы к форматированию и использованию.

Форматирование новых разделов

Шаг №9

Для проверки таблицы разделов диска снова выполните команду fdisk, которая покажет подробную информацию о таблице разделов.

sudo fdisk -l /dev/vdb

Шаг №10

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

sudo mkfs.ext4 /dev/vdb1

Шаг №11

Чтобы отформатировать второй раздел как NTFS, вам нужно установить ntfs-3g и отформатировать второй раздел как NTFS.

sudo apt install ntfs-3g
sudo mkfs.ntfs /dev/vdb2

Монтируем новые разделы

Шаг №12

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

sudo mkdir /mnt/partition1
sudo mkdir /mnt/partition2

Шаг №13

Затем смонтируйте разделы в только что созданный каталог монтирования.

sudo mount /dev/vdb1 /mnt/partition1
sudo mount /dev/vdb2 /mnt/partition2

Шаг №14

Для автоматического монтирования разделов необходимо найти UUID разделов с помощью команды blkid.

sudo blkid /dev/vdb1
sudo blkid /dev/vdb2

Шаг №15

Далее отредактируйте файл /etc/fstab и добавьте записи для новых разделов, используя их UUID .

UUID=7a1e356f-f782-4835-bd1c-5e6d64378869 /mnt/partition1 ext4 defaults 0 2
UUID=0A9AABBB53B3165A /mnt/partition2 ntfs defaults 0 2

Шифрование новых разделов

Шаг №16

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

sudo apt install cryptsetup	[On Debian Based Systems]
sudo dnf install cryptsetup	[On RedHat Based Systems]

Шаг №17

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

sudo cryptsetup luksFormat /dev/vdb1

Шаг №18

Чтобы этот зашифрованный раздел стал активным, он должен иметь имя (быть инициализированным) в /dev/mapper директории с помощью пакета cryptsetup.

sudo cryptsetup open --type luks /dev/vdb1 crypted_volume

Шаг №19

Далее отформатируйте зашифрованный раздел и смонтируйте его.

sudo mkfs.ext4 /dev/mapper/crypted_volume
sudo mkdir /mnt/encrypted1
sudo mount /dev/mapper/crypted_volume /mnt/encrypted1

Шаг №20

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

sudo cryptsetup luksFormat /dev/vdb2

Шаг №21

Чтобы второй зашифрованный раздел стал активным, он должен иметь запись имени (быть инициализированным) в /dev/mapper директории с помощью пакета cryptsetup.

sudo cryptsetup open --type luks /dev/vdb2 crypted_volume2

Шаг №22

Далее отформатируйте второй зашифрованный раздел и смонтируйте его.

sudo mkfs.ntfs /dev/mapper/crypted_volume2
sudo mkdir /mnt/encrypted2
sudo mount /dev/mapper/crypted_volume2 /mnt/encrypted2

Автоматическое монтирование зашифрованных разделов

Шаг №23

Чтобы автоматически разблокировать и монтировать зашифрованные разделы при загрузке, необходимо обновить /etc/crypttab и /etc/fstab.

sudo nano /etc/crypttab

Шаг №24

Далее используйте команду blkid, чтобы найти UUID разделов.

sudo blkid /dev/vdb1
sudo blkid /dev/vdb2

Шаг №25

Затем добавьте записи о зашифрованных разделах в файл /etc/crypttab.

crypted_volume UUID=d29f57c3-fe00-41d5-8095-d68f7f04823d none luks
crypted_volume2 UUID=1DF9CC677F758914 none luks

Шаг №26

Аналогичным образом отредактируйте /etc/fstab и укажите имя устройства, точку монтирования, тип файловой системы и другие параметры.

sudo nano /etc/fstab
Добавьте записи для файловых систем:
/dev/mapper/crypted_volume /mnt/encrypted1 ext4 defaults 0 2
/dev/mapper/crypted_volume2 /mnt/encrypted2 ntfs defaults 0 2

Шаг №27

Наконец, проверьте правильность монтирования зашифрованных разделов.

df -hT

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

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

Зарубин Иван Эксперт по Linux и Windows

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

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)