С помощью этой подробной инструкции можно настроить шифрование данных на ВМ с возможностью ввода ключевой фразы при загрузке системы, что обеспечить больший уровень безопасности.
Linx Cloud не несет ответственности за корректную работу стороннего ПО. Данная статья приведена для примера.
Эта инструкция подходит только для незагрузочных (несистемных) дисков, тех, что подключены к машине дополнительно, а не используются для запуска операционной системы.
Пример шифрования диска с данными на CentOS 7. Сам диск /dev/vdb примонтирован в /volumes/disk1 при помощи dm-crypt.
- Устанавливаем нужные утилиты:
yum install -y cryptsetup cryptsetup-reencrypt
- Останавливаем все процессы, использующие данный диск:
1lsof /volumes/disk1
2systemctl stop XXX
3systemctl stop YYY
- Проверяем файловую систему:
1e2fsck -f /dev/vdb
2e2fsck 1.42.9 (28-Dec-2013)
3Pass 1: Checking inodes, blocks, and sizes
4Pass 2: Checking directory structure
5Pass 3: Checking directory connectivity
6Pass 4: Checking reference counts
7Pass 5: Checking group summary information
8/dev/vdb: 88/655360 files (3.4% non-contiguous), 60910/2621440 blocks
- Файловую систему изменяем до минимально возможного размера:
1resize2fs -M /dev/vdb
2
3resize2fs 1.42.9 (28-Dec-2013)
4Resizing the filesystem on /dev/vdb to 24971 (4k) blocks.
5The filesystem on /dev/vdb is now 24971 blocks long.
- Для перешифрования устройства используем утилиту cryptsetup-reencrypt :
1cryptsetup-reencrypt /dev/vdb --new --reduce-device-size 4096S
2Enter new passphrase:
3Verify passphrase:
4Progress: 20.6%, ETA 00:33, 2112 MiB written, speed 245.6 MiB/s
Будет запрошена ключевая фраза для шифрования. Введенное значение следует запомнить.
- Проверяем работу с зашифрованным диском:
1cryptsetup open /dev/vdb vdb_crypt
2Enter passphrase for /dev/vdb:
- Увеличиваем файловую систему до размера диска:
resize2fs /dev/mapper/vdb_crypt
- Изменяем имя устройства для монтирования:
sed 's#/dev/vdb#/dev/mapper/vdb_crypt#' -i /etc/fstab
- Проверяем монтирование файловой системы:
mount /volumes/disk1
- Для автоматического монтирования при загрузке системы добавляем информацию о зашифрованном разделе в /etc/crypttab:
1UUID=$(blkid -s UUID -o value /dev/vdb)
2echo "vdb_crypt UUID=${UUID} none luks,discard" >> /etc/crypttab
При загрузке системы потребуется ключевая фраза для расшифровки диска (passphrase), ввести ее можно с помощью VNC-доступа в консоль ВМ.
Доступ в VNC можно получить через интерфейс панели Linx Cloud Services:
- Раздел «Облачные вычисления» → «Виртуальные машины» → выбрать инстанс и перейти на вкладку «Консоль».
Для корректной работы консоли виртуальной машины через VNC необходимо изменить настройки загрузчика grub, удалив строку «console=ttyS0,115200» из параметров загрузки:
1sed 's#console=ttyS0,115200 ##' /etc/default/grub
2grub2-mkconfig -o /boot/grub2/grub.cfg
- Перезагружаем машину. При загрузке будет запрошена ключевая фраза для расшифровки диска.
После ввода ключевой фразы диск будет примонтирован и с файловой системой можно будет работать, как и до шифрования.