Коротко о главном
Шифрование диска защищает данные при потере ноутбука или краже диска из сервера. В Linux стандартом остаётся LUKS поверх dm-crypt: он шифрует блоки целиком, работает с любыми файловыми системами и поддерживается установщиками большинства дистрибутивов.
Без шифрования любой, кто получил физический доступ к диску, прочитает данные, обойдя пароли ОС. LUKS закрывает этот сценарий, но требует дисциплины: потерянный заголовок или пароль означает потерю данных.
Этот материал — быстрый старт по Шифрование LUKS. За 15 минут вы получите рабочую конфигурацию и поймёте, куда смотреть дальше.
Установка
В Debian, Ubuntu и Linux Mint используется пакетный менеджер APT:
sudo apt install cryptsetup
В Fedora и RHEL-совместимых системах пакет ставится через DNF:
sudo dnf install cryptsetup
В Arch Linux и производных пакет доступен в официальных репозиториях:
sudo pacman -S cryptsetup
Минимальная настройка
1. Сделайте резервную копию
Шифрование нового раздела уничтожает данные. Для существующего раздела используйте отдельную процедуру и обязательно имейте копию.
lsblk -o NAME,SIZE,FSTYPE
sudo cryptsetup benchmark
2. Создайте контейнер LUKS2
Укажите надёжную парольную фразу. LUKS2 поддерживает Argon2 и лучше защищает от подбора.
sudo cryptsetup luksFormat --type luks2 /dev/sdb1
sudo cryptsetup luksDump /dev/sdb1 | head
3. Откройте и создайте файловую систему
После открытия появляется устройство в /dev/mapper. Форматируйте именно его, а не исходный раздел.
sudo cryptsetup open /dev/sdb1 cryptdata
sudo mkfs.ext4 /dev/mapper/cryptdata
sudo mount /dev/mapper/cryptdata /mnt
4. Сохраните заголовок
Копия заголовка позволяет восстановить доступ при повреждении. Храните её отдельно и защищайте: она содержит ключевые слоты.
sudo cryptsetup luksHeaderBackup /dev/sdb1 --header-backup-file /root/luks-header.img
sudo chmod 600 /root/luks-header.img
Минимальный конфиг
Начните с минимального рабочего варианта. Не копируйте большой конфиг целиком: добавляйте параметры по одному и проверяйте результат после каждого изменения.
# /etc/crypttab
cryptdata UUID=xxxx none luks,discard
Шпаргалка по командам
- Сделайте резервную копию: lsblk -o NAME,SIZE,FSTYPE
- Создайте контейнер LUKS2: sudo cryptsetup luksFormat —type luks2 /dev/sdb1
- Откройте и создайте файловую систему: sudo cryptsetup open /dev/sdb1 cryptdata
- Сохраните заголовок: sudo cryptsetup luksHeaderBackup /dev/sdb1 —header-backup-file /root/luks-header.img
- Настройте автоматическое открытие: sudo blkid /dev/sdb1
Практические советы
Эти рекомендации проверены на повседневных задачах. Начните с тех, которые закрывают вашу текущую боль, а не со всего списка сразу.
Совет 1. Храните резервную копию заголовка вне шифруемого диска.
Храните резервную копию заголовка вне шифруемого диска.
Совет 2. Не используйте один и тот же пароль для LUKS и учётной записи.
Не используйте один и тот же пароль для LUKS и учётной записи.
Совет 3. Проверяйте restore заголовка на тестовом устройстве.
Проверяйте restore заголовка на тестовом устройстве.
Совет 4. discard включает TRIM на SSD, но может раскрывать факт удаления данных
discard включает TRIM на SSD, но может раскрывать факт удаления данных.
Что дальше
Быстрый старт не означает «настроить навсегда». Когда базовый сценарий заработает, вернитесь к конфигурации и проверьте, что она переживёт перезагрузку: файлы на месте, служба включена в автозагрузку, путь к данным не зависит от текущего каталога.
Дальше имеет смысл разобраться с резервной копией и журналами Шифрование LUKS. Это не самая заметная часть работы, но именно она превращает эксперимент в инструмент, которым можно пользоваться каждый день.
Чек-лист
- Команды из шпаргалки выполняются без ошибок после перезагрузки.
- Пароли и токены не хранятся в истории команд и конфигурации в открытом виде.
- Понятно, где смотреть логи и что считать признаком проблемы.
- Есть копия конфигурации, которую можно восстановить.
Короткие ответы на частые вопросы
Нужно ли запускать всё от root?
Нет. Права root нужны для установки пакетов и изменения системных файлов, но сама программа и её данные должны принадлежать отдельному пользователю. Постоянная работа под root превращает любую ошибку в критическую.
Что делать, если после перезагрузки ничего не работает?
Сначала проверьте, включена ли служба в автозагрузку и не изменился ли путь к конфигурации. Посмотрите журнал текущей загрузки: он почти всегда указывает на отсутствующий файл, неверные права или занятый порт.
Как обновлять без сюрпризов?
Читайте примечания к версии, делайте резервную копию конфигурации и проверяйте обновление на тестовом стенде. Не обновляйтесь в пятницу вечером перед выходными: время на откат должно быть частью плана.
Итог
Этого достаточно, чтобы начать. Дальше углубляйтесь по мере задач: документация Шифрование LUKS станет понятнее, когда появится реальный сценарий использования.