Linux:LUKS 和多个硬盘

use*_*166 13 linux security raid encryption luks

我在 RAID-1 系统加密设备(LUKS 上的 LVM)上安装了一个 Debian Linux 系统(amd64),并且将有一个 RAID-6 的 >=4 个磁盘,我将在其中放置我的数据(LUKS 和 LVM)。

我认为基本的想法是解锁系统加密分区(在本地启动或通过 ssh 启动)并将密钥文件存储在 /etc/crypttab 中以用于 RAID-6 加密分区。这会带来安全风险吗?我的意思是......如果任何人都可以在本地/远程进入我的系统,那么这是非常无用的,而且我认为在容易受到“rooting”(例如 SSH)影响的服务器上运行的服务很多。是否有替代方法(除了通过 SSH 解锁分区之外,这可能是一个问题,因为例如备份操作甚至在数据分区安装之前就开始了)。

在另一台机器上,我将使用带有 LUKS+greyhole(无 RAID-6)的多个磁盘进行备份,通过输入 10 次相同的密码来解锁 10 个磁盘将是一个真正的痛苦......

jof*_*fel 8

您可以使用/lib/cryptsetup/scripts/decrypt_derived在您crypttab的自动将一个磁盘中的密钥用于另一个磁盘。

decrypt_derived 脚本是 Debian 的 cryptsetup 软件包的一部分。

将密钥从 sda6crypt 添加到 sda5 的小示例:

/lib/cryptsetup/scripts/decrypt_derived sda6crypt > /path/to/mykeyfile
cryptsetup luksAddKey /dev/sda5 /path/to/mykeyfile
ls -la /dev/disk/by-uuid/ | grep sda5
echo "sda5crypt UUID=<uuid> sda6crypt luks,keyscript=/lib/cryptsetup/scripts/decrypt_derived" >> /etc/crypttab
shred -u /path/to/mykeyfile # remove the keyfile
Run Code Online (Sandbox Code Playgroud)

由于现在很难真正删除文件,因此请确保 /path/to/mykeyfile 位于加密驱动器上(sda6crypt在我的示例中是一个很好的解决方案)。

通常,您可以通过使用用户空间文件系统加密来添加额外的安全层,例如通过encfs.