Как сделать резервную копию и восстановить заголовок LUKS в Linux
В этом коротком сообщении в блоге я объясню, как сделать резервную копию и восстановить заголовок LUKS в чрезвычайных ситуациях. Резервное копирование полезно для восстановления после неправильной конфигурации, поврежденных заголовков, забытых кодовых фраз или неизвестных паролей.
Зачем создавать резервные копии и восстанавливать заголовок LUKS в Linux?
LUKS — это стандартный метод для системы на базе Linux для защиты данных и дисков, особенно на мобильных устройствах, таких как ноутбук с Linux. Однако LUKS также создает дополнительные проблемы, такие как:
Неправильная конфигурация LUKS файлов /etc/fstab or /etc/crypttab предотвратит загрузку вашего ноутбука на базе Linux. Эти файлы содержат подсказки по расшифровке при загрузке системы. Файл / etc / crypttab содержит описательную информацию о зашифрованных файловых системах, которая читается только программами LUKS. Системный администратор Linux должен создать и поддерживать этот файл соответствующим образом.
Убедитесь, что/etc/fstab и /etc/crypttab верны и записи совпадают в соответствии с вашей настройкой, используя команду:
cat /etc/fstab /etc/crypttab
Забытый пароль или кодовая фраза может вызвать сбой расшифровки LUKS во время загрузки. В настоящее время нет возможности восстановить парольную фразу LUKS. Иногда системный администратор или пользователь меняет свой пароль LUKS на неизвестное значение. Обратите внимание, что в настоящее время LUKS позволяет использовать восемь кодовых фраз или ключевых слотов для зашифрованных дисков. Системный администратор Linux может использовать эти ключи или парольные фразы, если они созданы для сброса забытого пароля. Однако, если существует резервная копия заголовка LUKS, мы можем восстановить заголовок из резервной копии и использовать ранее работающую кодовую фразу / пароль.
Работа с дисками или томами, зашифрованными LUKS
Давайте посмотрим, как создать резервную копию заголовка LUKS и восстановить ее, если в дальнейшем возникнет необходимость. Чтобы вывести список зашифрованных дисков или томов, введите:
$ sudo dmsetup ls --target crypt
[sudo] password for vivek: md1_crypt (253, 0)
Запустите команду lsblk :
$ lsblk
$ lsblk /dev/md1
Итак, /dev/md1 это программное устройство Linux RAID1, зашифрованное как md1_crypt. Кроме того, LVM используется для создания корневых разделов и разделов подкачки. Другими словами, мой корень и своп полностью зашифрованы и защищены с помощью RAID1. Затем укажите свои /etc/fstab and /etc/etc/crypttab и убедитесь, что они правильно сопоставлены: ваша установка может быть простой без RAID1 или LVM. Следовательно, вам необходимо узнать точную информацию.:
$ cat /etc/fstab
$ cat /etc/etc/crypttab
Чтобы восстановить данные из зашифрованных файлов / томов, сделайте резервную копию следующих файлов
- /etc/fstab файл
- /etc/crypttab файл
- Заголовок LUKS
Шаг 1 — дублирование заголовка LUKS
Запустите команду, чтобы узнать информацию о зашифрованных дисках или томе
$ sudo cryptsetup luksDump /dev/DEVICE
$ sudo cryptsetup luksDump /dev/sdb2
$ sudo cryptsetup luksDump /dev/md1
LUKS header information Version: 2 Epoch: 3 Metadata area: 16384 [bytes] Keyslots area: 16744448 [bytes] UUID: b5f93bb5-ba76-41fe-a996-ab5b69947f61 Label: (no label) Subsystem: (no subsystem) Flags: (no flags) Data segments: 0: crypt offset: 16777216 [bytes] length: (whole device) cipher: aes-xts-plain64 sector: 512 [bytes] Keyslots: 0: luks2 Key: 512 bits Priority: normal Cipher: aes-xts-plain64 Cipher key: 512 bits PBKDF: argon2i Time cost: 4 Memory: 673681 Threads: 4 Salt: 1e 68 17 ca 2c c5 b5 fa 2b 8b 59 6a 73 ca 1c 20 f7 99 06 63 4e fa 49 3d 12 71 ac 6a bb 41 ec 58 AF stripes: 4000 AF hash: sha256 Area offset:32768 [bytes] Area length:258048 [bytes] Digest ID: 0 Tokens: Digests: 0: pbkdf2 Hash: sha256 Iterations: 145635 Salt: 95 2c 81 91 8c 1e ad 69 4d 51 18 13 4c 36 c0 25 c5 5c 9d 16 c3 0f 3f 79 fa 84 ad 4b 65 49 17 ec Digest: 79 8a 05 d0 31 ba 7a ec fe f2 b1 da 3f d8 17 e1 eb f8 2c b1 a7 7e ed 26 59 9e 7a 02 b3 95 0c 03 |
Шаг 2 — Резервное копирование заголовка LUKS
Сделайте резервную копию заголовка LUKS для использования в будущем:
$ sudo cryptsetup luksHeaderBackup /dev/DEVICE \
--header-backup-file /path/to/backupfile
$ sudo cryptsetup luksHeaderBackup /dev/sdb2 \
--header-backup-file /nas/vivek/laptop.dell.m6700.luks.bin
$ sudo cryptsetup luksHeaderBackup /dev/md1 \
--header-backup-file /root/laptop.thinkpad.luks.bin
Покажите информацию о файле резервной копии с именем /root/laptop.thinkpad.luks.bin, выполните следующую команду файла /stat команда /cryptsetup команда::
$ sudo file /root/laptop.thinkpad.luks.bin
$ sudo stat /root/laptop.thinkpad.luks.bin
$ sudo cryptsetup luksDump /root/laptop.thinkpad.luks.bin
Убедитесь, что вы храните файл laptop.thinkpad.luks.bin надежно в автономном режиме. Я использую NAS-сервер и USB-накопитель. Убедитесь, что вы храните файл резервной копии с именем /root/laptop.thinkpad.luks.bin в надежном автономном режиме. Я использую домашний NAS-сервер и USB-накопитель. Этот файл должен оставаться вне устройства; в противном случае вы не сможете его восстановить.
Шаг 3 — Восстановление заголовка LUKS при необходимости
Теперь допустим, что случилось нечто ужасное. Все, что вам нужно сделать, это загрузить свою систему / ноутбук с загрузочного диска и восстановить старый заголовок LUKS из файла резервной копии laptop.thinkpad.luks.bin следующим образом:
# cryptsetup luksHeaderRestore /dev/DEVICE --header-backup-file /path/to/backup_header_file
## Assuming that you mounted /nas/ using NFS ##
# cryptsetup luksHeaderRestore /dev/md1 --header-backup-file /nas/vivek/laptop.thinkpad.luks.bin
WARNING! ======== Device /dev/md1 already contains LUKS2 header. Replacing header will destroy existing keyslots. Are you sure? (Type uppercase yes): YES
Шаг 4 — Проверьте это
Выполните следующую команду, чтобы открыть зашифрованный диск и смонтировать его (необходимо указать старый пароль): Перезагрузите систему Linux
# cryptsetup luksOpen /dev/DEVICE name
# cryptsetup luksOpen /dev/md1 test
# mkdir /test
# mount /dev/mapper/test_root /test
# df -H
# mount
# reboot
Вывод
Вы узнали о различных файлах и процедурах резервного копирования и восстановления заголовков LUKS в случае неправильной конфигурации или неизвестного, забытого пароля в системе на базе Linux. Каждая установка уникальна и неповторима. Я надеюсь, что это руководство предоставит вам достаточно материала для успешного резервного копирования и восстановления защищенной файловой системы при необходимости