Безопасность
Шифрование LUKS
Полнодисковое шифрование в SAIKYO OS
О LUKS
LUKS (Linux Unified Key Setup) — стандарт шифрования дисков в Linux. SAIKYO OS поддерживает полнодисковое шифрование при установке и шифрование отдельных разделов/устройств.
Шифрование при установке
При установке SAIKYO OS вы можете выбрать опцию "Зашифровать диск" в разделе разметки. Система создаст зашифрованный раздел с LVM внутри.
Управление LUKS
Информация о зашифрованном устройстве
# Проверить, является ли устройство LUKS
sudo cryptsetup isLuks /dev/sda2 && echo "LUKS"
# Информация о LUKS заголовке
sudo cryptsetup luksDump /dev/sda2Открытие и закрытие
# Открыть зашифрованный раздел
sudo cryptsetup luksOpen /dev/sda2 my_encrypted
# Устройство доступно как /dev/mapper/my_encrypted
# Закрыть
sudo cryptsetup luksClose my_encryptedУправление ключами
LUKS поддерживает до 8 слотов ключей (паролей).
# Добавить новый пароль
sudo cryptsetup luksAddKey /dev/sda2
# Добавить ключ-файл
sudo cryptsetup luksAddKey /dev/sda2 /path/to/keyfile
# Удалить пароль (по слоту)
sudo cryptsetup luksKillSlot /dev/sda2 1
# Изменить пароль
sudo cryptsetup luksChangeKey /dev/sda2Создание зашифрованного раздела
# ВНИМАНИЕ: Это уничтожит все данные на разделе!
# Создать LUKS контейнер
sudo cryptsetup luksFormat /dev/sdb1
# Открыть
sudo cryptsetup luksOpen /dev/sdb1 encrypted_data
# Создать файловую систему
sudo mkfs.ext4 /dev/mapper/encrypted_data
# Смонтировать
sudo mount /dev/mapper/encrypted_data /mnt/encryptedАвтоматическое монтирование
С ключ-файлом
# Создать ключ-файл
sudo dd if=/dev/urandom of=/root/.luks-keyfile bs=512 count=4
sudo chmod 400 /root/.luks-keyfile
# Добавить ключ-файл в LUKS
sudo cryptsetup luksAddKey /dev/sdb1 /root/.luks-keyfile
# /etc/crypttab
encrypted_data /dev/sdb1 /root/.luks-keyfile luks
# /etc/fstab
/dev/mapper/encrypted_data /mnt/encrypted ext4 defaults 0 2Резервное копирование заголовка
⚠️ Важно: Всегда делайте резервную копию LUKS заголовка! При его повреждении данные будут потеряны навсегда.
# Создать резервную копию заголовка
sudo cryptsetup luksHeaderBackup /dev/sda2 --header-backup-file luks-header.backup
# Восстановить заголовок
sudo cryptsetup luksHeaderRestore /dev/sda2 --header-backup-file luks-header.backupПроизводительность
# Проверить поддержку AES-NI
grep -m1 aes /proc/cpuinfo
# Тест производительности шифрования
cryptsetup benchmarkШифрование swap
# /etc/crypttab
cryptswap /dev/sda3 /dev/urandom swap,cipher=aes-xts-plain64,size=256
# /etc/fstab
/dev/mapper/cryptswap none swap sw 0 0