完全隐藏主文件夹 - ecryptfs 是正确的选择吗?

完全隐藏主文件夹 - ecryptfs 是正确的选择吗?

在我的Debian 测试-系统,我想完全隐藏主文件夹。这意味着,我不仅希望对数据进行加密,而且还希望排除从加密数据中确定任何(或大多数)信息。

例如,文件名也应该加密。但作为数据保护专家,也许其他文件/文件夹属性也需要加密以授予隐私。

我考虑过加密文件系统来实现这一点(包ecryptfs-utils

然而,这是满足我的需求的正确选择吗?

我也非常感谢关于在 Debian 中实现加密主文件夹的分步说明的链接!

[编辑] 我进行了全新安装,因此无需迁移以前未加密的主文件夹。

答案1

Ecryptfs 将每个加密文件存储在一个文件中(下面的文件位于加密文件系统术语)。尽管文件名已加密,但较低层文件的目录结构与有效负载文件的目录结构相同。较低层文件的元数据(特别是修改时间)也揭示了有效负载文件的元数据。下部文件的大小略大于有效负载的大小(Ecryptfs 元数据的开销是固定的)1。

如果您正在存储自己的工作,攻击者已经大致知道您拥有什么类型的数据(“我已经知道这是源代码树,并且我知道这些是电子表格,我想知道的是!”) ,这些都不是问题。但是,如果您存储的目录树可以通过其布局(目录结构、大致大小、日期)来识别,那么 Ecryptfs 不是适合您的工具。

在块设备级别使用加密。 Linux 提供了这个dm 密码。您可以加密整个磁盘(引导加载程序的一小部分区域除外),也可以加密/home某个其他分区。如果您不加密整个磁盘,请记住机密信息可能最终会出现在其他地方,尤其是交换空间(如果您在任何地方有任何加密数据,则应该加密交换空间)。请注意,如果您选择全磁盘加密,您的计算机将无法在无人看管的情况下启动,您必须在键盘上输入密码。

由于整个块设备都被加密,窃取磁盘的攻击者无法检测到文件内容和元数据的位置。除了加密区域开头的标头之外,内容与随机噪声无法区分。攻击者可以通过查看加密数据的多个快照并研究各个扇区如何随时间演变而获得一些信息,但即使这样也很难发现任何有趣的东西,并且如果您在之后停止修改数据,则这不适用攻击者已看到密文(如磁盘被盗的情况)。

许多发行版都提供了在安装时创建 dmcrypt 卷或加密整个磁盘的可能性。您可能必须选择“高级”或“服务器”安装映像,而不是“桌面”或“基本”映像。

操作 dm-crypt 卷的工具是cryptsetup。要创建 dmcrypt 卷,/dev/sdz9请创建一个分区,然后运行cryptsetup luksFormat /dev/sdz9​​.您需要将音量添加到/etc/crypttab;用于cryptsetup luksOpen现场激活音量,或cryptmount -a设置完成后/etc/crypttab。 Dm-crypt 只是一个密码层,因此您需要在加密卷上创建一个文件系统。

将 Backtrack 5 r2 安装到随 ubuntu 安装的运行 LUKS 安装程序中有一个关于完全手动设置 dm-crypt 的教程。

1实验上,在默认设置下,较低的文件大小是有效负载文件大小,四舍五入为 4kB 的倍数,加上 8kB 开销。

答案2

至于教程,搜索引擎似乎可以工作,例如这个howtoforge.com似乎给出了合理的提示。

一般来说,您可能需要重新考虑到底是什么你最终要努力实现的目标。虽然 eCryptfs 将(在某种程度上)保证机密性,但您应该注意以下几点:

  • 要对其他用户隐藏主目录的内容,仅仅chmod go=- $HOME应该足够了。如果确实有必要,您可以使用 justchmod go-rw $HOME让他们进入目录。 AFAIU eCryptfs 在这方面做得不多,因为它在访问控制方面依赖于底层文件系统。

  • root(不一定只是 root)通常可以在大多数系统上执行几乎所有操作,因此任何加密都无法保护用户免受恶意管理员甚至成功攻击者的侵害。

如果您想要实现的是防盗保护,加密分区/驱动器上的常规文件系统可能是更好的解决方案 - 它更容易设置,整个文件系统只有一个密码,并且完全透明。无论如何,您应该加密您的交换(因为这就是您的明文密码/证书可能最终所在的地方)。您还应该加密休眠数据(如果您使用挂起到磁盘),因为这是敏感数据出现的另一个地方。然而,这可能有点棘手。

相关内容