linux – 如何创建一个随机加密的加密交换分区,在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

在这个例子中,交换设备由传统的dev路径引用,即/ dev / sda6

绝对设备路径可能会发生变化,并在启动时重新分配,例如,如果插入了USB驱动器.如果/ dev / sda6恰好是一个与预期不同的分区并且随后被随机交换数据覆盖,用户会非常不满意!

所以解决方案似乎是:使用UUID而不是设备路径(因为UUID不应该更改),将/ dev / sda6替换为/ dev / disk / by-uuid /<无论dev / sda6是什么uuid是> 但是……这是问题所在:
每次cryptsetup在启动时重新创建加密的交换分区,它都会为它生成一个新的UUID!卫生署!

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

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

有谁知道如何在Debian OS上实现Arch Linux所描述的解决方案?
Debian OS上似乎没有文档中提到的init脚本

谢谢!

编辑
可以使用命令使用ecryptfs来实现相同的目的(加密的交换空间):
ecryptfs-设置交换
没有困扰块设备加密的问题.
看看this AskUbuntu query

解决方法

Every time cryptsetup recreates the encrypted swap partition at boot
time it generates a new UUID for it! Doh!

在/ etc / crypttab中,使用/ dev / disk / by-id而不是/ dev / disk / by-UUID来引用交换分区.例如,swap的/ etc / fstab条目可能是

#<file system> <mount point> <type> <options> <dump> <pass>
/dev/mapper/cswap none swap sw 0 0

那么/ etc / crypttab中正确的相应条目就是这样的

# <name> <device> <password> <options>
cswap /dev/disk/by-id/ata-SAMSUNG_SSD_830_Series_S0XYNEAC762041-part5 /dev/urandom swap,cipher=aes-cbc-essiv:sha256,size=256

请注意,上面的设备由/ dev / disk / by-id引用,您可以通过在CLI中键入以下内容来查找驱动器:

ls -lF /dev/disk/by-id

相关文章

Linux中的ARP防火墙主要用于防御ARP欺骗攻击,其效果取决于多...
insmod和modprobe加-f参数导致Invalid module format错误 这...
将ArchLinux安装到U盘 几个月前入门Arch的时候上网搜了不少安...
1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...