Product SiteDocumentation Site

80.3. Шифрование существующих данных на блочном устройстве с внешним (отсоединённым) заголовком

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

Предупреждение

Во время процесса шифрования можно потерять данные из-за сбоев питания, оборудования, ядра или по ошибке пользователя. Настоятельно рекомендуется сделать резервную копию всех важных данных.
Шифрование существующих данных на блочном устройстве:
  1. Отмонтировать все файловые системы на устройстве, например:
    # umount /mnt/test
    
  2. Инициализировать шифрование с внешним заголовком:
    # cryptsetup reencrypt --encrypt --init-only --header /home/header /dev/sdb1 sdb1_encrypted
    ПРЕДУПРЕЖДЕНИЕ!
    ========
    Файл заголовка не существует, создать?
    
    Вы уверены? (введите «yes» заглавными буквами): YES
    Введите парольную фразу для /home/header:
    Парольная фраза повторно:
    
    В результате выполнения данной команды устройство будет открыто и доступно через /dev/mapper/sdb1_encrypted для оперативного шифрования.

    Примечание

    Файл /home/header содержит всю критическую метаинформацию (ключевые слоты, параметры шифрования, UUID и т.д.). Он обязателен для доступа к данным в будущем.
  3. Смонтировать временно разблокированное устройство:
    # mount /dev/mapper/sdb1_encrypted /mnt/test
    
  4. Возобновить шифрование данных:
    # cryptsetup reencrypt --resume-only --header /home/header /dev/sdb1
    Введите парольную фразу для /dev/sdb1:
    Автоматически обнаруженное активное устройство dm «sdb1_encrypted» для устройства данных /dev/sdb1.
    Выполнено, время 00м52с,    9 GiB записано, скорость 194,5 MiB/с
    
  5. Проверить, зашифрованы ли существующие данные на блочном устройстве с использованием LUKS2 с отсоединенным заголовком:
    # cryptsetup luksDump /home/header
    
    Должна отобразиться информация о шифровании, ключевых слотах и параметрах.

Примечание

Необходимо сделать резервную копию заголовка:
# cp /home/header /root/luks-header-backup
Потеря заголовка сделает невозможным расшифровку данных.
Закрыть устройство можно, выполнив команды:
# umount /mnt/test
# cryptsetup close sdb1_encrypted
Так как раздел был зашифрован с отдельным заголовком, для доступа к данным необходимо обязательно указывать внешний заголовок с помощью параметра --header:
# cryptsetup open --header /home/header /dev/sdb1 sdb1_encrypted
Введите парольную фразу для /dev/sdb1: