hostprofi.ru
Подобрать хостинг
Термин·буква D

dm-crypt

краткое определение

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

dm-crypt — подсистема шифрования дисков в ядре Linux, использующая Device Mapper (dm) для прозрачного шифрования блочных устройств. LUKS (Linux Unified Key Setup) — стандартный формат заголовка для dm-crypt с поддержкой нескольких ключей и парольных фраз.

Как работает

dm-crypt создаёт виртуальное блочное устройство, которое автоматически шифрует данные при записи и расшифровывает при чтении. Алгоритм по умолчанию — AES-256-XTS. Ключ шифрования деривируется из парольной фразы через функцию PBKDF2 или Argon2. Без ключа данные на диске — набор случайных байт.

LUKS-заголовок хранит метаданные шифрования в начале раздела: алгоритм, соль, параметры KDF. Поддерживается до 32 слотов ключей — несколько пользователей могут расшифровывать один том своими фразами.

Создание зашифрованного раздела

# Инициализировать LUKS на разделе
cryptsetup luksFormat /dev/sdb1

# Открыть зашифрованный раздел
cryptsetup luksOpen /dev/sdb1 my_encrypted

# Создать файловую систему
mkfs.ext4 /dev/mapper/my_encrypted

# Монтировать
mount /dev/mapper/my_encrypted /mnt/data

# Закрыть (размонтировать и удалить ключ из памяти)
umount /mnt/data
cryptsetup luksClose my_encrypted

История

dm-crypt появился в ядре Linux 2.6.4 в 2004 году. LUKS-спецификацию разработал Clemens Fruhwirth в 2004-2005 годах как замену нестандартным форматам шифрования. LUKS2 выпущен в 2018 году с поддержкой Argon2 (защита от GPU-атак), стойкими заголовками и улучшенным управлением ключами. Ubuntu и Fedora предлагают шифрование всего диска через LUKS при установке.

Применение для хостинга

На VPS dm-crypt используется для шифрования дополнительных дисков с чувствительными данными: резервные копии с персональными данными, базы данных клиентов. Автомонтирование при старте через /etc/crypttab + ключевой файл, хранящийся в защищённом месте (HSM или Vault).

На что обращать внимание

Шифрование всего диска на VPS менее эффективно, чем на физическом сервере: гипервизор имеет доступ к памяти ВМ, где ключ находится в открытом виде при работе. Для полной защиты нужен контроль над физическим железом или технология шифрованной памяти (AMD SEV, Intel TDX). Потери производительности от dm-crypt — 5-15% на современных CPU с AES-NI ускорением.

LUKS2 и современные возможности

LUKS2 (2018) добавил существенные улучшения: Argon2id — GPU-устойчивая функция деривации ключа вместо PBKDF2. Аргументы памяти и итераций настраиваются: cryptsetup luksFormat --pbkdf argon2id --pbkdf-memory 65536. Overhead для атакующего с GPU увеличивается в сотни раз. Detached header — хранение LUKS-заголовка отдельно от зашифрованного тома: без заголовка тип шифрования неизвестен, том выглядит как случайные данные.

Несколько ключевых слотов: добавить новую парольную фразу cryptsetup luksAddKey /dev/sdb1, удалить старую cryptsetup luksRemoveKey /dev/sdb1. Ротация ключей без перешифрования тома — важно для shared-серверов при увольнении сотрудника.

VeraCrypt как альтернатива

VeraCrypt (наследник TrueCrypt) поддерживает кросс-платформенные зашифрованные контейнеры: один файл-контейнер монтируется на Linux (VPS), macOS и Windows. Функция правдоподобного отрицания (plausible deniability): два слоя шифрования с разными паролями — внешний контейнер выглядит как обычный зашифрованный том, внутренний скрыт.

На что обращать внимание

Потеря LUKS-парольной фразы означает безвозвратную потерю данных — нет механизма восстановления. Делайте резервную копию LUKS-заголовка: cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file header.img. Повреждение первых секторов диска уничтожает заголовок — бекап спасёт данные. Шифрование не защищает от утечки данных через запущенные сервисы — смонтированный зашифрованный том доступен для чтения любому процессу с правами доступа.

Другие термины