Подготовка к использованию зашифрованного раздела диска в Linux с использованием утилиты cryptsetup на примере Debian GNU/Linux 12.5 и CentOS 7.
Установка очень проста.
В CentOS:
# yum install cryptsetup
В Debian:
# apt install cryptsetup
Если раздел диска ещё не создан, его можно создать, например, на дополнительном диске
# cfdisk /dev/sdb
Далее забиваем этот раздел случайными данными
# dd if=/dev/urandom of=/dev/sdb1
После этого создаём зашифрованный раздел
# cryptsetup luksFormat /dev/sdb1
Необходимо будет ввести какую-нибудь парольную фразу
Теперь настроим взаимодействие с зашифрованным разделом
# cryptsetup luksOpen /dev/sdb1 special
здесь необходимо будет ввести парольную фразу
Enter passphrase for /dev/sdb1:
Отформатируем диск в файловую систему ext4
# mkfs.ext4 /dev/mapper/special
Затем создадим точку монтирования и примонтируем к ней раздел
# mkdir /mnt/special/ # mount /dev/mapper/special /mnt/special/
После этого создаём файл /etc/crypttab и занесём строку с указанием файла с парольной фразой
# echo "special /dev/sdb1 /root/passwd_disk" > /etc/crypttab
Для автоматического монтирования диска при загрузке системы добавим строчку в файл /etc/fstab
/dev/mapper/special /mnt/special ext4 defaults 0 0
Далее создадим файл с парольной фразой, назначим ему права доступа только для рута, а также свяжем его с зашифрованным разделом
# touch /root/passwd_disk # echo -n "YourPassPhrase" > /root/passwd_disk # chmod 600 /root/passwd_disk # cryptsetup luksAddKey /dev/sdb1 /root/passwd_disk
Теперь перезагрузим машину
# shutdown -r now
и убедимся, что раздел монтируется автоматически.
Можно также просмотреть состояние устройства
# cryptsetup -v status special
вывод должен быть примерно таким:
/dev/mapper/special is active and is in use. type: LUKS1 cipher: aes-xts-plain64 keysize: 256 bits key location: dm-crypt device: /dev/sdb1 sector size: 512 offset: 4096 sectors size: 125824961 sectors mode: read/write Command successful.
Информация заголовка luks
# cryptsetup luksDump /dev/sdb1
Данная команда выведет примерно такую информацию:
LUKS header information for /dev/sdb1 Version: 1 Cipher name: aes Cipher mode: xts-plain64 Hash spec: sha256 Payload offset: 4096 MK bits: 256 MK digest: 58 63 df 0f c5 62 4c ad 1f 5b 71 7e cc bd fb 8c 04 ad 36 c2 MK salt: af 4b d8 72 8f f6 fc 47 e9 dd 35 ae 5f 38 7d ab 3c e4 e7 0a 86 8d ce 84 e1 bf ef 61 74 47 89 c0 MK iterations: 36449 UUID: 0440a791-81bc-4309-9da8-189a8dae46da Key Slot 0: ENABLED Iterations: 677374 Salt: 25 69 9a 60 98 ff 42 9b 9c 86 1c 1d 26 4c f4 27 25 cd e9 49 2a 54 22 1a 87 e9 9d ea dd ca 5b a8 Key material offset: 8 AF stripes: 4000 Key Slot 1: ENABLED Iterations: 772146 Salt: 54 9c ff f9 94 74 0d 1b af b9 f9 3b 7a 1b 97 c5 2f b5 01 e9 9b 63 e9 7d ab d4 48 96 9a d6 af ed Key material offset: 264 AF stripes: 4000 Key Slot 2: DISABLED Key Slot 3: DISABLED Key Slot 4: DISABLED Key Slot 5: DISABLED Key Slot 6: DISABLED Key Slot 7: DISABLED
Теперь можно пользоваться новым зашифрованным разделом.