Установка и работа с программой Cryptsetup
Содержание
- 1 Установка и работа с утилитой Cryptsetup в AlterOS 2025
- 1.1 Общие сведения о Cryptsetup
- 1.2 Установка утилиты Cryptsetup
- 1.3 Работа с программой Cryptsetup
- 1.3.1 Шифрование диска
- 1.3.2 Открытие зашифрованного диска
- 1.3.3 Просмотр информации о состоянии устройства
- 1.3.4 Монтирование диска
- 1.3.5 Отключение раздела
- 1.3.6 Резервное копирование LUKS-заголовка
- 1.3.7 Восстановление резервной копии LUKS-заголовка
- 1.3.8 Изменение пароля зашифрованного диска
- 1.3.9 Добавление дополнительного пароля
- 1.3.10 Изменение пароля
- 1.3.11 Удаление пароля
Установка и работа с утилитой Cryptsetup в AlterOS 2025
Cryptsetup — это утилита с открытым исходным кодом, используемая для удобной настройки шифрования диска на основе модуля ядра dm-crypt.
Общие сведения о Cryptsetup
Поддерживаемые форматы шифрования
-
plain -
LUKS2(используется по умолчанию при установке системы) -
loop-AES -
TrueCrypt -
BitLocker -
FileVault2
Поддерживаемые алгоритмы шифрования
-
aes-xts-plain64(используется по умолчанию при установке системы) -
aes-cbc-essiv:sha256 -
aes-cbc-plain64 -
serpent-xts-plain64 -
twofish-xts-plain64 -
camellia-xts-plain64 -
cast5-cbc-essiv:sha256
Описание опций cryptsetup
Управление LUKS-контейнерами
-
luksFormat— создание нового LUKS-контейнера -
luksDump— вывод информации о LUKS-заголовке -
luksAddKey— добавление нового пароля(ключа) -
luksRemoveKey— удаление пароля(ключа) из слота -
luksChangeKey— изменение существующего пароля(ключа) -
luksHeaderBackup— резервное копирование заголовка LUKS -
luksHeaderRestore— восстановление заголовка LUKS из резервной копии -
luksKillSlot— удаление пароля(ключа) из указанного слота -
luksUUID— вывод UUID LUKS-устройства
Работа с зашифрованными устройствами
-
open— открытие зашифрованного устройства (создание mapping-устройства) -
close— закрытие mapping-устройства -
status— информация о состоянии mapping-устройства -
resize— изменение размера активного mapping-устройства
Дополнительные операции
-
benchmark— тестирование скорости алгоритмов шифрования -
erase— безопасное стирание данных на устройстве -
isLuks— проверка, является ли устройство LUKS-контейнером -
repair— попытка восстановления повреждённого LUKS-заголовка
Режимы приостановки (suspend/resume)
luksSuspend– временная приостановка шифрования (требует пароль для возобновления). Например можно использовать чтобы перед переходом в спящий режим, система выполняет cryptsetup suspend, чтобы сделать том недоступным. После пробуждения пользователь вводит пароль снова.
luksResume– возобновление работы после suspend.
Требования к паролю
Минимальная длина: 8 символов.
Максимальная длина: 512 символов.
Допустимые символы: Любые, включая пробелы, специальные символы и символы Unicode.
Дополнительно пароль проверяется по словарю cracklib
Термины и определения
LUKS2
LUKS (Linux Unified Key Setup-on-disk-format) предоставляет набор инструментов, упрощающих управление зашифрованными устройствами. С помощью LUKS можно шифровать блочные устройства. LUKS2 (Linux Unified Key Setup, версия 2) — современный стандарт шифрования дисков в Linux, пришедший на смену LUKS1.
aes-xts-plain64
AES-XTS-PLAIN64 — стандартный алгоритм шифрования в LUKS2, сочетающий высокую производительность и безопасность. Он использует режим XTS, оптимизированный для блочных устройств, что обеспечивает эффективное шифрование без снижения скорости работы диска. Алгоритм поддерживает аппаратное ускорение (AES-NI) и рекомендован NIST для защиты данных. В LUKS2 выбран по умолчанию как наиболее надежный и современный вариант для шифрования дисков любого размера.
LUKS-контейнер
LUKS-контейнер представляет собой зашифрованное хранилище, состоящее из трех основных компонентов: стандартизированного заголовка (header), слотов ключей (key slots) и области данных.
LUKS-заголовок
LUKS-заголовок(LUKS Header) — это служебная область в начале LUKS-контейнера, содержащая метаданные, необходимые для работы с зашифрованными данными. Он стандартизирован (формат LUKS1/LUKS2) и включает криптографические параметры, информацию о слотах ключей и контрольные суммы. Если заголовок повредится (например, из-за сбоя записи), данные на диске станут нечитаемыми, даже если пароль правильный. Резервная копия заголовка позволяет восстановить доступ к данным.
key-slot
Key-slot — это "ячейка" в LUKS-контейнере, хранящая зашифрованную версию мастер-ключа. Пользовательские пароли/ключевые файлы нужны только для дешифровки key-slot, а не самих данных.
cracklib
cracklib — это библиотека, предназначенная для проверки "надежности" паролей. Она используется многими программами и PAM-модулями, чтобы не допустить слишком простые или уязвимые пароли.
Установка утилиты Cryptsetup
sudo dnf install cryptsetup
Работа с программой Cryptsetup
Шифрование диска
Пример шифрования диска с рекомендуемыми параметрами. Где /dev/sdc подключенный жесткий диск с файловой системой в формате ext4.
sudo cryptsetup -y -v \ --type luks2 \ --cipher aes-xts-plain64 \ --key-size 512 \ --hash sha512 \ --iter-time 5000 \ --pbkdf argon2id \ luksFormat /dev/sdc
- -y — защита от опечаток в пароле.
- -v — подробный вывод (можно убрать, если не нужен).
- luks2 — современный метод шифрования.
- aes-xts-plain64 — рекомендуемый алгоритм шифрования для дисков.
- argon2id — защита от перебора пароля. Функция специально замедляет подбор паролей, чтобы сделать атаки перебором неэффективными.
В результате шифрования появится сообщение "Данные на /dev/sdc будут перезаписаны без возможности восстановления." и "Существующая подпись суперблока "ext4" на устройстве /dev/sdc будет затерта." Следует обратить на это внимание, так как диск будет полностью перезаписан и информация на нем утеряна.
Открытие зашифрованного диска
После создания диска его нужно «открыть» и ввести пароль диска, чтобы получить доступ к содержимому.
sudo cryptsetup open /dev/sdc encrypted_sdc
- dev/sdc — название вашего зашифрованного диска.
- encrypted_sdc — созданное произвольное имя, под которым диск будет доступен в /dev/mapper/
Чтобы проверить введите команду lsblk
Просмотр информации о состоянии устройства
Выполните команду "cryptsetup status" для просмотра информации о зашифрованном диске:
sudo cryptsetup status encrypted_sdc
Монтирование диска
Для монтирования диска можно воспользоваться командой:
sudo mount /dev/mapper/encrypted_sdc /mnt
Проверить монтирование можно командой:
df -h | grep encrypted
Отключение раздела
Если после выполнения определенных операций зашифрованный раздел иди диск больше не нужен его можно отключить.
1. Размонтировать раздел или диск
sudo umount /mnt
2. Закрыть устройство
sudo cryptsetup close encrypted_sdc
Резервное копирование LUKS-заголовка
1. Открываем диск и вводим пароль
sudo cryptsetup open /dev/sdc encrypted_sdc
2. Выполняем резервную копию
sudo cryptsetup luksHeaderBackup /dev/sdc --header-backup-file ~/luks_sdc_backup.img
- /dev/sdc — ваш зашифрованный диск
- ~/luks_sdc_backup.img — созданный произвольный путь для сохранения бэкапа
Восстановление резервной копии LUKS-заголовка
sudo cryptsetup luksHeaderRestore /dev/sdc --header-backup-file ~/luks_sdc_backup.img
Изменение пароля зашифрованного диска
1. Делаем резервную копию
2. Изменяем пароль вводим старый и два раза новый.
sudo cryptsetup luksChangeKey /dev/sdc
3. Закрываем и открываем диск чтобы проверить работу нового пароля, после чего можно снова примонтировать диск.
Добавление дополнительного пароля
В целях защиты от потери единственного пароля и для разграничения доступа может потребоваться создать еще один пароль.
1.Чтобы его добавить дополнительный пароль выполните команду:
sudo cryptsetup luksAddKey /dev/sdc
2.Просмотреть текущее количество паролей можно командой:
sudo cryptsetup luksDump /dev/sdc
В выводе можно увидеть опцию "Keyslots" которая отображает существующие слоты с паролями, добавленный дополнительный пароль будет в ячейке --key-slot 1 .
3. Проверка ввода пароля для определенного слота:
sudo cryptsetup open --test-passphrase /dev/sdc --key-slot 1
Изменение пароля
Чтобы изменить пароль в определенном слоте выполните следующие действия.
1. Откройте диск(если он был закрыт) с паролем нужного слота(в примере это слот номер 1).
sudo cryptsetup open /dev/sdc encrypted_sdc --key-slot 1
2. Введите команду для изменения пароля
sudo cryptsetup luksChangeKey /dev/sdc
Удаление пароля
Для удаления пароля выполните команду:
sudo cryptsetup luksRemoveKey /dev/sdc
Будет запрашиваться ввод пароля, какой вы введете тот и удалится из слота.



