Шифрование раздела c dm-crypt

dm-crypt – это механизм шифрования на уровне ядра, предназначенный для прозрачного шифрования диска. Это означает, что файлы будут доступны сразу, без дополнительного взаимодействия после монтирования.

В данной записи предполагается, что вы уже создали/подготовили раздел или файл для шифрования. Создание и форматирование (файловой системы на разделе) разделов тут разбираться не будут.

Форматирование раздела

Для форматирования раздела в нужный формат используется команда:

сryptsetup luksFormat «Устройство»

Например, Cryptsetup luksFormat /dev/testvg/stripelv, в данном случае будет отформатирован логический том stripelv. При выполнении операции вас предупредят, о потере всех данных на разделе. Надо ответить YES (заглавными буквами), и задать пароль для нашего зашифрованного раздела.

Примечание. Опции в cryptsetup чувствительны к регистру.

Создание ключа

Если вы собираетесь использовать только пароль, то этот пункт можно пропустить.

Сначала надо создать случайный ключ. для этого выполните команду

dd if=/dev/random of=/»Путь до ключа»/crypttab.key bs=1024 count=4

И задайте соответствующие разрешения на этот ключ

сhmod 400 /»Путь до ключа»/crypttab.key

Теперь этот ключ можно использовать для разблокировка хранилища.

Не храните этот ключ на самом защищенном хранилище.

Добавление ключа

Далее надо добавить этот ключ к хранилищу командой

сryptsetup luksAddKey «устройство» /»Путь до ключа»/crypttab.key

Например, сryptsetup luksAddKey /dev/testмп/striprlv /root/crypttab.key

Для выполнения операции, будет запрошен пароль.

Открытие хранилища

Для открытия хранилища используется команда

cryptsetup luksOpen «устройство» «имя нового раздела» –key-file /»Путь до ключа»/crypttab.key

Например, команда cryptsetup luksOpen /dev/testvg/stripelv securevol –key-file /root/crypttab.key разблокирует устройство /dev/testvg/stripelv с помощью ключа crypttab.key и создаст раздел securevol (который надо будет отформатировать и монтировать) в /dev/mapper/. Если вы не создавали ключ, то можете не писать —key-file /root/crypttab.key, и при выполнении команды у вас запросят пароль.

Автоматическое монтирование раздела

Так как раздел зашифрован, то fstab не сможет смонтировать раздел самостоятельно. Для этого в файле /etc/crypttab (если его нет, создайте самостоятельно) укажите следующие параметры:

«Имя расшифрованного раздела» «Имя устройства» «Путь до ключа»

Например securevol /dev/testvg/stripelv /root/crypttab.key

после этого должен появиться раздел /dev/mapper/securevol, который уже можно смонтировать через fstab.

Примечание. Если вы собираетесь включить автомонтирование диска по имени в виде /dev/sda, то желательно использовать UUID диска, т.к. при переключении дисков, их порядок может измениться и их обозначения поменяться. С LVM томами такой проблемы нет.