Блог "Дети ОИТа"
/поиск

LUKS и LVM: практическое руководство по полнодисковому шифрованию на Linux

Подробное руководство по настройке полнодискового шифрования в Linux с использованием LUKS и LVM. От архитектуры до автоматизации разблокировки через TPM.

LUKS и LVM: практическое руководство по полнодисковому шифрованию на Linux

Введение

Полнодисковое шифрование (Full Disk Encryption, FDE) — это фундаментальный элемент защиты данных на серверах и рабочих станциях. В экосистеме Linux стандартом де-факто для этой задачи является связка LUKS (Linux Unified Key Setup) и LVM (Logical Volume Manager). LUKS обеспечивает криптографическую защиту, а LVM — гибкость управления разделами поверх зашифрованного контейнера.

Архитектура решения

Типовая схема выглядит так:

Физический диск → Раздел (например, /dev/sda2) → LUKS-контейнер → Физический том LVM → Группа томов → Логические тома (/, /home, swap)

Такая структура позволяет:

  • Шифровать весь диск единым ключом или паролем.
  • Гибко изменять размеры логических томов без пересоздания разделов.
  • Добавлять новые диски в группу томов на лету.

Пошаговая реализация

1. Подготовка диска

Создаём раздел, который будет зашифрован:

parted /dev/sda --script mkpart primary 1MiB 100%

2. Инициализация LUKS

cryptsetup luksFormat /dev/sda1

Система запросит подтверждение (YES заглавными) и пароль. Используем стойкий пароль, соответствующий корпоративной политике.

3. Открытие контейнера

cryptsetup open /dev/sda1 cryptlvm

После этого появится устройство /dev/mapper/cryptlvm.

4. Настройка LVM

pvcreate /dev/mapper/cryptlvm
vgcreate vg_system /dev/mapper/cryptlvm
lvcreate -L 32G -n swap vg_system
lvcreate -L 50G -n root vg_system
lvcreate -l 100%FREE -n home vg_system

5. Создание файловых систем

mkswap /dev/mapper/vg_system-swap
mkfs.ext4 /dev/mapper/vg_system-root
mkfs.ext4 /dev/mapper/vg_system-home

6. Монтирование и установка

mount /dev/mapper/vg_system-root /mnt
mkdir /mnt/home
mount /dev/mapper/vg_system-home /mnt/home
swapon /dev/mapper/vg_system-swap

Далее следует стандартная установка ОС, после которой необходимо настроить /etc/crypttab и /etc/fstab.

7. Автоматизация разблокировки (опционально)

Для серверов без физического доступа настраивается разблокировка по TPM 2.0 или через сетевой ключ (Clevis/Tang):

clevis bind luks -d /dev/sda1 tang '{"url":"http://tang-server:7500"}'

Ключевые аспекты безопасности

  • Header backup: Обязательно сделайте резервную копию заголовка LUKS: cryptsetup luksHeaderBackup /dev/sda1 --header-backup-file /root/luks-header-backup.img. Потеря заголовка = потеря данных.
  • Ключи-слоты: LUKS поддерживает до 8 ключей. Используйте один для пользователя, второй — для аварийного восстановления.
  • Integrity: Для защиты от несанкционированного изменения данных используйте режим --type luks2 --integrity hmac-sha256.

Диагностика

Проверка статуса:

cryptsetup status cryptlvm
lsblk -f

Заключение

Связка LUKS+LVM — это зрелое, производительное и гибкое решение для защиты данных в Linux. Правильная настройка на этапе установки избавляет от множества проблем в эксплуатации и соответствует требованиям регуляторов по защите персональных данных.