Безопасность

Шифрование 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