Как отформатировать и примонтировать зашифрованный диск в Ubuntu / Debian', 'зашифрованный диск, encrypted disk', 'Как отформатировать и примонтировать зашифрованный диск в Ubuntu / Debian', 0, 1, 'Если вы беспокоитесь о сохранности данных и хотите создать и примонтировать зашифрованный диск в Ubuntu / Debian (например USB диск), этот гид для Вас.
Шифрование диска — это одна из мер безопасности для предотвращения атак на «голое железо». В настоящее время многие организации, предприятия, правительственные чиновники по всему миру шифруют свои диски, чтобы защитить конфиденциальную информацию, такую как файлы, контакты, данные клиентов и т. д., от манипуляций. Шифрование изменяет файлы и делает их нечитаемыми для всех, у кого нет ключа дешифрования.
Существует два основных метода шифрования:
Шифрование на уровне стека файловой системы: например, eCryptfs и EncFS, смонтированные в любом каталоге в верхней части основной файловой системы.
Шифрование на уровне блочного устройства: весь диск или раздел, в котором хранится файловая система, становится зашифрованным. Эти инструменты включают VeraCrypt, CipherShed dm-crypt+LUKS, DMCrypt и Loop-AES.
Cryptsetup — это инструмент шифрования Linux, основанный на DM-Crypt . Его можно использовать для шифрования как жестких дисков, так и внешних носителей. Шифрование выполняется с помощью Linux Unified Key Setup (LUKS), который предоставляет спецификации шифрования диска, облегчающие совместимость с различными дистрибутивами.
Шаг 1: Установите Cryptsetup на Ubuntu / Debian
Утилита Cryptsetup доступна в стандартных репозиториях Ubuntu/Debian и может быть загружена с помощью приведенной ниже команды APT.
sudo apt update
sudo apt install cryptsetup
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
The following additional packages will be installed:
cryptsetup-bin cryptsetup-initramfs cryptsetup-run
Suggested packages:
dosfstools keyutils
The following NEW packages will be installed:
cryptsetup cryptsetup-bin cryptsetup-initramfs cryptsetup-run
0 upgraded, 4 newly installed, 0 to remove and 9 not upgraded.
Need to get 768 kB of archives.
After this operation, 2,862 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 http://deb.debian.org/debian bullseye/main amd64 cryptsetup-bin amd64 2:2.3.7-1+deb11u1 [413 kB]
Get:2 http://deb.debian.org/debian bullseye/main amd64 cryptsetup amd64 2:2.3.7-1+deb11u1 [228 kB]
Get:3 http://deb.debian.org/debian bullseye/main amd64 cryptsetup-initramfs all 2:2.3.7-1+deb11u1 [72.5 kB]
Get:4 http://deb.debian.org/debian bullseye/main amd64 cryptsetup-run all 2:2.3.7-1+deb11u1 [54.4 kB]
Fetched 768 kB in 0s (2,476 kB/s)
Preconfiguring packages ...
Selecting previously unselected package cryptsetup-bin.
(Reading database ... 71680 files and directories currently installed.)
Preparing to unpack .../cryptsetup-bin_2%3a2.3.7-1+deb11u1_amd64.deb ...
Unpacking cryptsetup-bin (2:2.3.7-1+deb11u1) ...
Selecting previously unselected package cryptsetup.
Preparing to unpack .../cryptsetup_2%3a2.3.7-1+deb11u1_amd64.deb ...
Unpacking cryptsetup (2:2.3.7-1+deb11u1) ...
Selecting previously unselected package cryptsetup-initramfs.
Preparing to unpack .../cryptsetup-initramfs_2%3a2.3.7-1+deb11u1_all.deb ...
Unpacking cryptsetup-initramfs (2:2.3.7-1+deb11u1) ...
Selecting previously unselected package cryptsetup-run.
Preparing to unpack .../cryptsetup-run_2%3a2.3.7-1+deb11u1_all.deb ...
Unpacking cryptsetup-run (2:2.3.7-1+deb11u1) ...
Setting up cryptsetup-bin (2:2.3.7-1+deb11u1) ...
Setting up cryptsetup (2:2.3.7-1+deb11u1) ...
Setting up cryptsetup-run (2:2.3.7-1+deb11u1) ...
Setting up cryptsetup-initramfs (2:2.3.7-1+deb11u1) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for man-db (2.9.4-2) ...
Processing triggers for initramfs-tools (0.140) ...
update-initramfs: Generating /boot/initrd.img-5.10.0-23-amd64
Шаг 2: Отформатируйте раздел диска как LUKS
Сначала определите подключенные к вашей системе диски.
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 111.8G 0 disk
├─sda1 8:1 0 21G 0 part /
├─sda2 8:2 0 1K 0 part
├─sda5 8:5 0 7.3G 0 part /var
├─sda6 8:6 0 976M 0 part [SWAP]
├─sda7 8:7 0 1.3G 0 part /tmp
└─sda8 8:8 0 81.3G 0 part /home
sdc 8:32 0 465.8G 0 disk
└─sdc1 8:33 0 465.8G 0 part /mnt
Для этого руководства у нас есть основной диск (sda) и еще один диск (sdc). Мы будем использовать второй диск (sdc), который также может быть внешним диском/съемным носителем.
Сначала сделайте резервную копию данных на диске и отформатируйте ее как LUKS .
sudo cryptsetup luksFormat /dev/sdc
В приведенной выше команде мы инициировали шифрование Cryptsetup в /dev/sdc, используя файл luksFormat . Действуйте, как показано ниже.
WARNING!
========
This will overwrite data on /dev/sda irrevocably.
Are you sure? (Type 'yes' in capital letters): YES
Enter passphrase for /dev/sda: <SET-PASSPHRASE>
Verify passphrase: <CONFIRM-PASSPHRASE>
Введите YES и укажите парольную фразу, чтобы зашифровать диск. Вы также можете использовать ключи для шифрования, но здесь мы продолжим с установленной парольной фразой. После завершения диск будет отформатирован, и его можно будет просмотреть, как показано ниже.
$ lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINT
sda crypto 2 95f75ab5-6b1c-49b7-a4e3-088e6bd89fd1
sr0 iso966 Jolie Debian 11.0.0 amd64 1
2021-08-14-11-23-46-00
vda
├─vda1
│ ext4 1.0 88c8363f-6c60-4526-b6ac-e8f3609cf71c 31.2G 13% /
├─vda2
│
└─vda5
swap 1 7b104eda-111a-4eb1-bd78-c2461193b074
Шаг 3: Создайте раздел для шифрования
Как только диск будет зашифрован, как указано выше, вы не сможете получить доступ к данным на нем. Для использования, чтобы иметь возможность получить к нему доступ и разделить его. Откройте его и создайте раздел, как показано ниже.
sudo cryptsetup luksOpen /dev/sda cryptpart
Введите парольную фразу, указанную выше, чтобы открыть диск.
Зашифровать раздел диска Ubuntu Debian с помощью Cryptsetup
Запустите команду ниже, чтобы идентифицировать диск.
lsblk -f
Из вывода мы видим новый том (cryptpart), созданный под sda. Это было создано картографическим устройством для Linux.
Теперь создайте новый раздел. Здесь я создам раздел EXT4.
$ sudo mkfs.ext4 /dev/mapper/cryptpart
mke2fs 1.46.2 (28-Feb-2021)
Creating filesystem with 2617344 4k blocks and 655360 inodes
Filesystem UUID: 289493ba-f87b-41c9-803a-c59baf112fff
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632
Allocating group tables: done
Writing inode tables: done
Creating journal (16384 blocks): done
Writing superblocks and filesystem accounting information: done
Now create a mount point and mount the created partition temporarily.
sudo mkdir -p /mnt/encrypted
sudo mount /dev/mapper/cryptpart /mnt/encrypted
Verify if the disk has been mounted.
$ lsblk | grep cryptpart
└─cryptpart 253:0 0 10G 0 crypt /mnt/encrypted
Шаг 4. Постоянно монтируйте зашифрованный диск
Многие пользователи Linux знают о редактировании файла fstab, чтобы сделать смонтированные диски постоянными. Но когда дело доходит до этих зашифрованных разделов, в /etc/crypttab есть еще один файл.
Как и файл /etc/fstab, файл crypttab также считывается процессом инициализации при загрузке системы. На основании имеющейся на нем информации он запросит ключ разблокировки или автоматически прочитает его.
Файл crypttab создается со следующей информацией.
Имя устройства — это имя, присвоенное зашифрованному устройству. Для этого руководства мы выбрали cryptpart
UUID зашифрованного устройства — помогает найти раздел с зашифрованными данными.
Метод аутентификации — вы можете выбрать «нет» для парольной фразы или указать путь к ключу.
Параметры монтирования — здесь вы можете указать количество попыток ввода парольной фразы, шифр, метод шифрования и другие параметры.
Определите UUID для раздела LUKS с помощью команды:
$ sudo blkid | grep -i luks
/dev/sda: UUID="95f75ab5-6b1c-49b7-a4e3-088e6bd89fd1" TYPE="crypto_LUKS"
Now create the file as below.
$ sudo vim /etc/crypttab
# Content of the crypttab file
cryptpart UUID=<partition_uuid> none luks
Save the file and proceed as below.
Identify the UUID for the ext4 partition.
$ sudo blkid | grep -i ext4
/dev/vda1: UUID="88c8363f-6c60-4526-b6ac-e8f3609cf71c" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="61f2181b-01"
/dev/mapper/cryptpart: UUID="289493ba-f87b-41c9-803a-c59baf112fff" BLOCK_SIZE="4096" TYPE="ext4"
Modify the fstab file as well.
sudo vim /etc/fstab
Add the De-crypted partition mount point.
##De-crypted device will be mounted here##
UUID=289493ba-f87b-41c9-803a-c59baf112fff /mnt/encrypted ext4 defaults 0 0
Step 5: Verify auto Mount
We will now verify if the device will be mounted automatically on boot. Reboot your system.
sudo reboot
When the system powers on, you will be asked to provide the passphrase.
With the passphrase provided, login to the system and once again verify if the disk has been mounted.
lsblk -f | grep sda -A 2
Sample Output:
Encrypt Ubuntu Debian Disk Partition using Cryptsetup 4
Step 6: Create Keys For Automatic Authentication
At times handling the passphrase on system boot can be tiring and therefore one needs to create an authentication key.
This key can be created as below:
echo "StrongPassw0rd" > volume-key
sudo mv volume-key /boot/
Set the required permissions.
sudo chown root:root /boot/volume-key
sudo chmod 0400 /boot/volume-key
Now add the keys to the LUKS Volume suing the syntax.
sudo cryptsetup luksAddKey <encrypted_device> <path_to_key>
For example:
sudo cryptsetup luksAddKey /dev/sda /boot/volume-key
Provide your passphrase for the key to be added to the volume. Verify if the key has been added.
sudo cryptsetup luksDump /dev/sda
Sample output:
Зашифровать раздел диска Ubuntu Debian с помощью Cryptsetup 6
Шаг 7: Восстановите резервную копию
Вуаля!
На этом этапе вы можете восстановить резервную копию, сделанную на диске перед форматированием, и насладиться удивительными возможностями этого инструмента.
Конец!
Нам удалось зашифровать раздел диска Ubuntu / Debian с помощью Cryptsetup. Теперь вы можете держать зашифрованные файлы в недоступном для злоумышленников месте.