Разумно, что если в вашей системе GNU / Linux реализовано какое-либо шифрование блочных устройств, нужно также зашифровать свой раздел подкачки, поскольку любые расшифрованные данные могут быть в любой момент записаны в виде открытого текста.
Просматривая справочную страницу debian для "crypttab", я вижу пример создания раздела подкачки со случайным ключом при загрузке, поэтому ключ устанавливается случайным образом в процессе загрузки и известен только самой системе:
# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
В этом примере на сменное устройство ссылается обычный путь разработки, т.е. /dev/sda6
Абсолютные пути к устройствам могут быть изменены и переназначены при загрузке, например, если подключен USB-накопитель. Пользователь будет очень недоволен, если /dev/sda6
окажется, что раздел отличается от ожидаемого, и впоследствии он был перезаписан случайными данными свопинга !!
Таким образом, решение может выглядеть следующим образом: использовать UUID вместо пути к устройству (так как UUID не должен изменяться), заменяя /dev/sda6
на/dev/disk/by-uuid/<whatever the uuid of dev/sda6 is>
НО ... вот в чем проблема: каждый раз, когда cryptsetup воссоздает зашифрованный раздел подкачки во время загрузки, он генерирует для него новый UUID! Doh!
Поэтому нам нужно как-то сохранить UUID этой зашифрованной файловой системы. Я думаю, что cryptsetup может сделать это с помощью своего --offset
переключателя, что позволяет сохранить заголовок LUKS и, следовательно, UUID.
Я нашел этот URL: https://wiki.archlinux.org/index.php/System_Encryption_with_LUKS#Using_UUIDs_with_encrypted_swap_partitions
Кто-нибудь знает, как реализовать решение, описанное для Arch Linux на ОС Debian? Сценарии инициализации, упомянутые в документе, похоже, не существуют в ОС Debian.
Спасибо!
РЕДАКТИРОВАТЬ
Можно использовать ecryptfs для достижения тех же целей (зашифрованного пространства подкачки) с помощью команды:
ecryptfs-setup-swap
без проблем, которые препятствуют шифрованию блочного устройства. Посмотрите на этот вопрос AskUbuntu
ecryptfs-setup-swap
это просто помощник, который настраиваетdm-crypt
/crypttab
для вас. Какecryptfs
и драйвер на уровне файлов, он не обрабатывает целые разделы, поэтому он переходит на этоdm-crypt
. Этот метод может показаться вам более удобным, но в конечном итоге вы не добьетесь ничего другого. Во всяком случае, причуды этого метода (включая UUID), вероятно, запутали меня больше, чем если бы я сам сделал это из первых принципов ... хотя я узнал больше.