我已启用“暂停到交换”。由于我已启用全盘加密(标准 luks 和 lvm 布局),因此交换分区受到保护。但是,恢复后交换分区不受保护。敏感数据可能会保留很长时间(因为我的系统内存充足,几乎不进行交换)。
sswap
我可以使用(secure_deletion 工具包中的安全交换擦除器)擦除交换区域。但这个过程很繁琐。
我刚刚读到
https://www.kernel.org/doc/html/latest/power/swsusp.html
(跳到这个‘加密暂停图像’有什么用?)
我想知道如何才能实现这一点吗?
我使用的是 Ubuntu 20.04(但我很灵活,如果能解决这个问题,我可以切换到任何版本)。
从上面的链接复制并粘贴
首先:[加密挂起映像] 不是 dm-crypt 加密交换的替代品。它无法在挂起时保护您的计算机。相反,它可以防止挂起后泄露敏感数据。
想象一下:当应用程序运行时,您会暂停,而该应用程序会将敏感数据保存在内存中。应用程序本身会阻止数据被交换出去。但是,暂停必须将这些数据写入交换,以便稍后恢复。如果没有暂停加密,您的敏感数据将以纯文本形式存储在磁盘上。这意味着在恢复后,所有可以直接访问用于暂停的交换设备的应用程序都可以访问您的敏感数据。如果在恢复后不需要交换,这些数据几乎可以永远保留在磁盘上。因此,您的系统可能会在几周后崩溃,您认为已加密和受保护的敏感数据会从交换设备中被检索和窃取。为了防止这种情况,您应该使用“加密暂停映像”。
在挂起期间会创建一个临时密钥,并使用该密钥对写入磁盘的数据进行加密。在恢复期间,当数据被读回内存时,临时密钥将被销毁,这意味着在挂起期间写入磁盘的所有数据都将无法访问,因此它们以后不会被窃取。您唯一需要注意的是,在常规启动期间尽早为用于挂起的交换分区调用“mkswap”。这声明来自挂起失败或恢复失败或中止的任何临时密钥都将从交换设备中删除。
根据经验,在系统关闭或暂停时使用加密交换来保护数据。此外,使用加密暂停映像可防止恢复后敏感数据被盗。
答案1
阅读上面您发布的文本中的警告 - TL&DR 是您可能不想这样做。相反,使用 LUKS 始终加密您的交换。有多种方法可以实现这一点,最简单的方法可能是将您的根+交换放在 LVM 物理卷上,而该物理卷本身是 LUKS 加密的。