Акроним LUKS означает Linux Unified Key Setup, который является широко используемым методом дискового шифрования в ядре Linux и реализуется с помощью пакета cryptsetup.
Команда cryptsetup в командной строке шифрует объемный диск на лету, используя симметричный ключ шифрования, полученный из предоставленной фразы-пароля, которая предоставляется каждый раз при монтировании объемного диска, раздела и даже целого диска (даже USB-накопителя) в иерархии файловой системы и использует шифр aes-cbc-essiv:sha256.

Поскольку LUKS может шифровать целые блочные устройства (жесткие диски, USB-накопители, флеш-диски, разделы, группы томов и т. д.) на системах Linux, настоятельно рекомендуется для защиты съемных носителей данных, жестких дисков ноутбуков или файлов подкачки Linux и не рекомендуется для шифрования на уровне файлов.
NTFS (New Technology File System) – это проприетарная файловая система, разработанная Microsoft.
Ubuntu 14.04 полностью поддерживает шифрование LUKS и также имеет поддержку NTFS для Windows с помощью пакета ntfs-3g.
Чтобы доказать свою точку зрения в этом учебнике, я добавил новый жесткий диск (4-й) на компьютере с Ubuntu 14.04 (система ссылается на только что добавленный HDD как /dev/sdd), который будет разделен на два раздела.
- Один раздел (/dev/sdd1 – первичный) используется для шифрования LUKS.
- Второй раздел (/dev/sdd5 – расширенный) отформатирован в NTFS для доступа к данным как в системах Linux, так и в системах Windows.
Также разделы будут автоматически монтироваться в Ubuntu 14.04 после перезагрузки.
Шаг 1: Создание разделов диска
1. После того как ваш жёсткий диск физически добавлен к вашему устройству, используйте команду ls, чтобы перечислить все /dev/devices (четвёртый диск – /dev/sdd).
# ls /dev/sd*

2. Затем проверьте ваш недавно добавленный жёсткий диск с помощью команды fdisk.
$ sudo fdisk –l /dev/sdd

Поскольку на диск ещё не была записана файловая система, на нём ещё нет действительной таблицы разделов.
3. Следующие шаги разбивают жёсткий диск на два раздела с помощью утилиты диска cfdisk.
$ sudo cfdisk /dev/sdd
4. На следующем экране открывается интерактивный режим cfdisk. Выберите свой жёсткий диск Свободное место и перейдите к опции Новый, используя стрелки влево/вправо.

5. Выберите тип вашего раздела как Основной и нажмите Enter.

6. Запишите желаемый размер раздела в МБ.

7. Создайте этот раздел в Начале свободного места на жёстком диске.

8. Затем перейдите к опции Тип раздела и нажмите Enter.

9. На следующем запросе будет представлен список всех типов файловых систем и их числового кода (Hex-номер). Этот раздел будет зашифрован с помощью Linux LUKS, поэтому выберите код 83 и снова нажмите Enter, чтобы создать раздел.

10. Первый раздел создан, и предложение утилиты cfdisk возвращается к началу. Чтобы создать второй раздел, используемый как NTFS, выберите оставшееся Свободное место, перейдите к опции Новый и нажмите клавишу Enter.

11. На этот раз раздел будет Логический расширенный. Так что перейдите к опции Логический и снова нажмите Enter.

12. Снова введите размер раздела. Для использования оставшегося свободного места в качестве нового раздела оставьте значение по умолчанию и просто нажмите Enter.

13. Снова выберите код типа раздела. Для файловой системы NTFS выберите код тома 86.

14. После проверки и подтверждения разделов выберите Запись, ответьте yes на следующий вопрос интерактивного приглашения, затем Выйти, чтобы выйти из утилиты cfdisk.



Поздравляем! Ваши разделы успешно созданы и теперь готовы к форматированию и использованию.
15. Чтобы еще раз проверить таблицу разделов диска, выполните снова команду fdisk, которая покажет подробную информацию о таблице разделов.
$ sudo fdisk –l /dev/sdd

Шаг 2: Создание файловой системы раздела
Файловая система NTFS
16. Чтобы создать файловую систему NTFS на втором разделе, выполните команду mkfs.
$ sudo mkfs.ntfs /dev/sdd5

17. Чтобы сделать раздел доступным, его необходимо смонтировать в файловой системе на точку монтирования. Смонтируйте второй раздел на четвёртом жёстком диске в точку монтирования /opt с помощью команды mount.
$ sudo mount /dev/sdd5 /opt
18. Затем проверьте, доступен ли раздел и перечислен ли он в файле /etc/mtab, используя команду cat.
$ cat /etc/mtab

19. Чтобы отмонтировать раздел, используйте следующую команду.
$ sudo umount /opt
EXT4 LUKS
20. Убедитесь, что пакет cryptsetup установлен в вашей системе.
$ sudo apt-get install cryptsetup [On Debian Based Systems] # yum install cryptsetup [On RedHat Based Systems]
21. Теперь настало время отформатировать первый раздел на четвертом жестком диске с файловой системой ext4, выполнив следующую команду.
$ sudo luksformat -t ext4 /dev/sdd1
Ответьте заглавной буквой YES на вопрос «Вы уверены?» и три раза введите желаемую фразу-пароль.

Примечание: В зависимости от размера вашего раздела и скорости HDD создание файловой системы может занять некоторое время.
22. Вы также можете проверить статус устройства раздела.
$ sudo cryptsetup luksDump /dev/sdd1

23. LUKS поддерживает максимум 8 добавленных паролей. Чтобы добавить пароль, используйте следующую команду.
$ sudo cryptsetup luksAddKey /dev/sdd1

Чтобы удалить пароль, используйте.
$ sudo cryptsetup luksRemoveKey /dev/sdd1

24. Для активации этого зашифрованного раздела он должен иметь запись имени (быть инициализированным) в каталоге /dev/mapper с помощью пакета cryptsetup.
Для этого требуется следующий синтаксис командной строки:
$ sudo cryptsetup luksOpen /dev/LUKS_partiton device_name
Где “имя_устройства” может быть любым описательным именем, которое вам нравится! (Я назвал его моим crypted_volume). Фактическая команда будет выглядеть следующим образом.
$ sudo cryptsetup luksOpen /dev/sdd1 crypted_volume

25. Затем проверьте, есть ли ваше устройство в списке на /dev/mapper, каталоге, символической ссылке и статусе устройства.
$ ls /dev/mapper $ ls –all /dev/mapper/encrypt_volume

$ sudo cryptsetup –v status encrypt_volume

26. Теперь, чтобы сделать раздел устройства широко доступным, примонтируйте его на вашу систему под точкой монтирования с помощью команды mount.
$ sudo mount /dev/mapper/crypted_volume /mnt

Как видно, раздел примонтирован и доступен для записи данных.
27. Чтобы сделать его недоступным, просто отмонтируйте его с вашей системы и закройте устройство.
$ sudo umount /mnt $ sudo cryptsetup luksClose crypted_volume

Шаг 3: Автоматическое монтирование раздела
Если вы используете фиксированный жесткий диск и вам нужно, чтобы оба раздела автоматически монтировались после перезагрузки системы, вам необходимо выполнить следующие два шага.
28. Сначала отредактируйте файл /etc/crypttab и добавьте следующие данные.
$ sudo nano /etc/crypttab
- Имя цели: Описательное имя для вашего устройства (см. выше пункт 22 на EXT4 LUKS).
- Исходный диск: Раздел жесткого диска, отформатированный для LUKS (см. выше пункт 21 на EXT4 LUKS).
- Файл ключа: Выберите ни один
- Опции: Укажите luks
Финальная строка будет выглядеть следующим образом.
encrypt_volume /dev/sdd1 none luks

29. Затем отредактируйте /etc/fstab и укажите имя вашего устройства, точку монтирования, тип файловой системы и другие параметры.
$ sudo nano /etc/fstab
На последней строке используйте следующий синтаксис.
/dev/mapper/device_name (or UUID) /mount_point filesystem_type options dump pass
И добавьте ваш специфический контент.
/dev/mapper/encrypt_volume /mnt ext4 defaults,errors=remount-ro 0 0

30. Чтобы получить UUID устройства, используйте следующую команду.
$ sudo blkid

31. Чтобы также добавить ранее созданный тип раздела NTFS, используйте тот же синтаксис, что и выше, на новой строке в файле fstab (здесь используется перенаправление добавления файлов в Linux).
$ sudo su - # echo "/dev/sdd5 /opt ntfs defaults 0 0" >> /etc/fstab

32. Чтобы проверить изменения, перезагрузите вашу машину, нажмите Enter после сообщения загрузки “Начало настройки сетевого устройства” и введите пароль вашего устройства.


Как видите, оба раздела диска были автоматически смонтированы в иерархию файловой системы Ubuntu. Как совет, не используйте автоматически зашифрованные тома из файла fstab на физически удаленных серверах, если у вас нет доступа к последовательности перезагрузки для предоставления пароля к зашифрованному тому.
Те же настройки можно применить ко всем типам съемных носителей, таким как USB-флешка, флэш-память, внешний жесткий диск и т. д., для защиты важных, секретных или чувствительных данных в случае прослушивания или кражи.
Source:
https://www.tecmint.com/linux-hard-disk-encryption-using-luks/