在 LVM 上使用 LUKS 时,LVM 缓存是否存在安全漏洞?

che*_*eak 4 lvm luks

我在带有 LVM 的卷组中有两个硬盘驱动器。该卷组中的所有卷都包含 LUKS 容器。如果我将 SSD 作为 LVM 缓存添加到该卷组,缓存设备上的所有数据是否都已加密?

用于确认缓存内容的工具的奖励积分。

bla*_*imi 5

由于您正在缓存 LUKS 容器,因此您的缓存也是加密的,是的。

我正在使用不同的设置,其中我的 pv(实际的和用作缓存的)位于 luks 之上。

没有缓存的未加密 LVM:

[Disk 1  ]
[PV Data ]
[VG      ]
[LV      ]
[Filesyst]
Run Code Online (Sandbox Code Playgroud)

使用 LVM 缓存未加密:

[Disk 1  ] [Disk 2   ]
[PV Data ] [PV Cache ]
[VG                  ]
[LV      ]-----------]
[Filesyst]
Run Code Online (Sandbox Code Playgroud)

你的:

[Disk 1  ] [Disk 2   ]
[PV Data ] [PV Cache ]
[VG                  ]
[LV      ]-----------]
[LUKS    ]
[Filesyst]
Run Code Online (Sandbox Code Playgroud)

矿:

[Disk 1  ] [Disk 2   ]
[LUKS    ] [LUKS     ]
[PV Data ] [PV Cache ]
[VG                  ]
[LV      ]-----------]
[Filesyst]
Run Code Online (Sandbox Code Playgroud)

两种变体都可以很好地加密,我找不到将 LVM 放在 LUKS 之上或其他方式的任何建议,因此我使用了 Fedora 默认设置,该默认设置将 LVM 安装在 LUKS 之上。(如果我没记错的话,Debian 默认有另一个变体)

缺陷、加密数据、未加密缓存:

[Disk 1  ] [Disk 2   ]
[LUKS    ] ? unenc   ?
[PV Data ] ?PV Cache ?
[VG                  ]
[LV      ]-----------]
[Filesyst]
Run Code Online (Sandbox Code Playgroud)

不是真正的奖励积分:您可以尝试在缓存设备上运行 photorec。但是,如果您能找到某些东西,这只能证明缓存存在缺陷,如果您没有找到,则不能证明缓存已加密。这使得它变得更加困难,因为 LVM 缓存不需要保存有序/“碎片整理”的数据。


Art*_*nov 4

如果我将 SSD 作为 LVM 缓存添加到该卷组,缓存设备上的所有数据是否都会加密?

是的,它是加密的,因为 LVM 缓存直接与块一起工作。它不知道底层数据是什么。

确认缓存内容的工具可以获得奖励积分。

启动任何十六进制编辑器(hexedit、dhex 等)并直接打开逻辑卷。加密数据应该看起来像噪音。