Защита данных с LUKS на Debian и Ubuntu

green and black digital device

LUKS (Linux Unified Key Setup) – стандартный формат шифрования блочных устройств в Linux. Через cryptsetup можно зашифровать раздел или весь диск: без пароля или ключевого файла содержимое выглядит как случайные данные. Ниже – базовая схема для Debian и Ubuntu: отдельный data-раздел, не root с шифрованием при установке.

Зачем LUKS

  • шифрование раздела или диска целиком;
  • защита данных при краже носителя или доступе offline;
  • несколько слотов ключей (пароль + keyfile, запасной пароль).

LUKS не заменяет бэкапы и права доступа в работающей системе: пока том открыт и смонтирован, ОС и процессы читают его как обычный диск.

Пакеты

sudo apt update
sudo apt install cryptsetup

Подготовка устройства

Уточните имя диска или раздела. Ошибка в букве устройства уничтожит чужие данные.

lsblk -f
# при необходимости: sudo fdisk -l

Дальше в примерах /dev/sdb1 – условный раздел без нужных данных. luksFormat необратимо затирает содержимое. Отдельный mkfs на «сыром» разделе до LUKS не нужен: файловую систему создают уже на mapper-устройстве после открытия.

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

sudo cryptsetup luksFormat /dev/sdb1

Утилита предупредит о потере данных. Подтверждение – словом YES (часто в верхнем регистре). Задайте длинную passphrase. По умолчанию на современных системах обычно LUKS2 и разумный cipher; при необходимости параметры смотрите в man cryptsetup.

Открытие тома

sudo cryptsetup luksOpen /dev/sdb1 my_encrypted_volume

Имя my_encrypted_volume появится как /dev/mapper/my_encrypted_volume. Это уже расшифрованный блочный слой.

Файловая система и монтирование

sudo mkfs.ext4 /dev/mapper/my_encrypted_volume
sudo mkdir -p /mnt/my_encrypted_data
sudo mount /dev/mapper/my_encrypted_volume /mnt/my_encrypted_data

Рабочая точка – /mnt/my_encrypted_data. Права на каталоги внутри настраивайте как на обычном разделе.

Автооткрытие при загрузке

Строка в /etc/crypttab (имя mapper, устройство, источник ключа, опции):

my_encrypted_volume /dev/sdb1 none luks

none значит: спрашивать passphrase при загрузке. На сервере без консоли это неудобно – тогда keyfile, TPM или ручное открытие после boot. Надёжнее ссылаться на UUID раздела, а не на /dev/sdb1:

sudo blkid /dev/sdb1
# затем: my_encrypted_volume UUID=.... none luks

Монтирование в /etc/fstab:

/dev/mapper/my_encrypted_volume /mnt/my_encrypted_data ext4 defaults 0 2

После правок проверьте порядок: сначала crypttab (появление mapper), затем fstab. Ошибка в fstab может сорвать загрузку – имейте recovery или live-среду.

Закрытие тома

sudo umount /mnt/my_encrypted_data
sudo cryptsetup luksClose my_encrypted_volume

Сначала umount, потом luksClose. Иначе устройство «занято».

Дополнительные ключи и keyfile

Потеря единственного пароля означает потерю данных. Добавьте второй слот (другой пароль) или ключевой файл, который храните отдельно от диска (USB, сейф, офлайн-копия).

Создание keyfile и добавление в LUKS:

sudo dd if=/dev/urandom of=/root/mykeyfile bs=1024 count=4
sudo chmod 600 /root/mykeyfile
sudo cryptsetup luksAddKey /dev/sdb1 /root/mykeyfile

Открытие по файлу:

sudo cryptsetup luksOpen /dev/sdb1 my_encrypted_volume --key-file /root/mykeyfile

Keyfile на том же незашифрованном корне упрощает автомонтирование, но при краже всего диска вместе с keyfile защита слабее. Имеет смысл выносить ключ на отдельный носитель или сочетать с другими мерами.

Практика безопасности

  • длинная уникальная passphrase, не из словарных шаблонов;
  • бэкапы важных данных (шифрованный том не спасает от сбоя диска);
  • обновления cryptsetup и ядра;
  • не хранить единственный ключ только в голове без recovery-слота;
  • для системного раздела удобнее шифрование на этапе установки ОС; эта статья – про отдельный data-volume.

Краткий чеклист

  • cryptsetup, верный /dev/... по lsblk/blkid;
  • luksFormatluksOpenmkfs на mapper → mount;
  • при необходимости crypttab + fstab по UUID;
  • второй ключ или keyfile, бэкапы, аккуратное закрытие тома.

Итог: LUKS на Debian/Ubuntu – штатный путь закрыть раздел от offline-доступа. Главные риски не в синтаксисе, а в неверном устройстве, забытом пароле и отсутствии запасного ключа.

Источники и ссылки


Комментарии загружаются…