小编Gee*_*eeb的帖子

如何在 Debian 上创建一个随机键控的加密交换分区,将其称为“by-uuid”?

如果您在 GNU/Linux 系统上实现了任何类型的块设备加密,那么也应该加密您的交换分区,因为任何解密的数据都可能随时以明文形式写入交换分区。

查看“crypttab”的 debian 手册页,我看到了一个在启动时创建随机键控交换分区的示例,因此在启动过程中密钥是随机设置的,并且只有系统本身知道:

# Encrypted swap device
cswap /dev/sda6 /dev/urandom cipher=aes-cbc-essiv:sha256,hash=ripemd160,size=256,swap
Run Code Online (Sandbox Code Playgroud)

在此示例中,交换设备由常规开发路径引用,即 /dev/sda6

例如,如果插入了 USB 驱动器,则绝对设备路径可能会更改并在启动时重新分配。如果/dev/sda6碰巧是与预期不同的分区并且随后被随机交换数据覆盖,用户会非常不高兴!!

所以解决方案似乎是:使用 UUID 而不是设备路径(因为 UUID 不应该改变),替换/dev/sda6/dev/disk/by-uuid/<whatever the uuid of dev/sda6 is>

但是……问题来了:每次 cryptsetup 在启动时重新创建加密的交换分区时,它都会为它生成一个新的 UUID!哦!

所以我们需要以某种方式保留这个加密文件系统的 UUID。我认为 cryptsetup 可以通过它的--offset开关来做到这一点,允许保留 LUKS 标头,从而保留 UUID。

我找到了这个网址:https : //wiki.archlinux.org/index.php/System_Encryption_with_LUKS#Using_UUIDs_with_encrypted_swap_partitions

有谁知道如何在 Debian 操作系统上实现为 Arch Linux 描述的解决方案?文档中提到的 init 脚本在 Debian 操作系统上似乎不存在

谢谢!

编辑 可以使用ecryptfs使用以下命令实现相同的目的(加密交换空间): ecryptfs-setup-swap 没有困扰块设备加密的问题。看看这个 AskUbuntu 查询

linux debian encryption swap uuid

10
推荐指数
2
解决办法
1万
查看次数

标签 统计

debian ×1

encryption ×1

linux ×1

swap ×1

uuid ×1