LUKS2 и Argon2id: современное шифрование дисков в Linux
LUKS2 и Argon2id: современное шифрование дисков в Linux
Введение
Шифрование дисков — фундамент безопасности инфраструктуры. В Linux стандартом является LUKS (Linux Unified Key Setup). С выходом LUKS2 и переходом на алгоритм хеширования Argon2id, защита ключей стала на порядок устойчивее к перебору на GPU. В этой статье мы разберем, чем LUKS2 отличается от LUKS1, как работает Argon2id и как правильно развернуть современное шифрование.
LUKS1 vs LUKS2
LUKS2 — это не просто новая версия, а переработанная архитектура.
| Характеристика | LUKS1 | LUKS2 |
|---|---|---|
| Формат метаданных | Бинарный | JSON (читаемый, восстанавливаемый) |
| Слоты ключей | До 8 | До 32 (теоретически) |
| PBKDF | PBKDF2 | Argon2i/Argon2id (по умолчанию) |
| Устойчивость к GPU | Низкая | Высокая (Argon2id memory-hard) |
| Восстановление | Сложное | Простое (JSON header) |
Главное преимущество LUKS2 — использование Argon2id. Это memory-hard функция, которая заставляет атакующего тратить не только процессорное время, но и гигабайты оперативной памяти на каждую попытку подбора пароля, что делает атаки на видеокартах экономически невыгодными.
Практическая часть: настройка LUKS2
Современные дистрибутивы (Ubuntu 22.04+, RHEL 9+, Debian 12+) по умолчанию создают LUKS2.
1. Проверка версии
sudo cryptsetup --version
# Должно быть 2.3.0+ для полной поддержки LUKS2 features
2. Форматирование с явным указанием типа
# Создаем LUKS2 с Argon2id
sudo cryptsetup luksFormat --type luks2 --pbkdf argon2id /dev/sdb
Система запросит подтверждение (YES) и пароль. Рекомендуется использовать парольные фразы длиной от 20 символов.
3. Открытие тома
sudo cryptsetup open /dev/sdb secure_data
# Появится /dev/mapper/secure_data
4. Создание ФС и монтирование
sudo mkfs.ext4 /dev/mapper/secure_data
sudo mkdir /mnt/secure
sudo mount /dev/mapper/secure_data /mnt/secure
5. Автоматизация (fstab + crypttab)
/etc/crypttab:
secure_data /dev/sdb none luks,discard
/etc/fstab:
/dev/mapper/secure_data /mnt/secure ext4 defaults 0 2
Администрирование ключей
LUKS2 позволяет гибко управлять доступом.
Добавление второго фактора (ключ-файл)
# Генерация ключа
dd if=/dev/urandom of=/root/keyfile bs=4096 count=1
chmod 600 /root/keyfile
# Добавление в слот
sudo cryptsetup luksAddKey /dev/sdb /root/keyfile
Проверка статуса и параметров PBKDF
sudo cryptsetup luksDump /dev/sdb
# Обратите внимание на строку: PBKDF: argon2id, Time: ..., Memory: ..., Threads: ...
LUKS2 в сложных схемах (RAID + LVM)
В enterprise-средах LUKS2 встраивается в цепочку:
Hardware RAID -> LUKS2 -> LVM -> FS
Это обеспечивает:
- Отказоустойчивость (RAID)
- Защиту данных при краже дисков (LUKS2)
- Гибкость томов (LVM)
Важно: Шифруется блочное устройство после сборки RAID, но до создания LVM.
Безопасность и подводные камни
- Header Backup: В LUKS2 заголовок больше и сложнее. Его потеря = потеря данных. Делайте бэкап:
sudo cryptsetup luksHeaderBackup /dev/sdb --header-backup-file /root/luks2_header.bak - Hibernate: При гибернации ключ остается в RAM. Для защиты используйте
systemdс очисткой ключей или полное выключение. - Performance: Argon2id потребляет RAM. На системах с < 1 ГБ оперативки время разблокировки может быть долгим. Параметры можно тюнить через
--pbkdf-memory.
Заключение
Переход на LUKS2 с Argon2id — это не рекомендация, а стандарт для 2026 года. Это обеспечивает актуальную защиту от современных методов перебора паролей и предоставляет удобный JSON-формат метаданных для администрирования.
Теги
#LUKS #LUKS2 #Argon2id #шифрование #безопасность #Linux #dm-crypt #fde