如果我只加密主目录,信息泄露到文件系统未加密部分的常见方法有哪些?除了像这样明显的问题
- 交换空间
- 文件在
/tmp
有没有常见的Linux 程序泄露信息(几乎肯定是正常安装的一部分)?
例如locate
:它会将所有文件名泄漏到/var/lib/mlocate/mlocate.db
甚至是文件的一部分最小的Debian 或 Arch Linux 安装。
答案1
除了主目录之外,还有三个具有可写数据的目录层次结构:/etc
、/tmp
和/var
。
/etc
包含系统配置文件,其中大多数通常不敏感。但那里可能存在敏感数据,例如 WiFi 密码。/tmp
可能包含敏感数据;几乎任何程序都可能将临时文件放在那里。通过将其设为内存中文件系统 (tmpfs
) 可以轻松解决此问题。这样,如果它的内容最终出现在磁盘上,它将处于交换中,如果您关心加密任何内容,则必须对其进行加密。/var
有很多子目录。尤其:/var/tmp
就像/tmp
,但它应该在磁盘上。很少有程序在那里写入,但是当它被使用时,通常是针对大文件。很难预测谁会需要它,因此应该对其进行加密。/var/mail
(或/var/spool/mail
)最终可能包含敏感数据,也可能不包含。这取决于您如何使用本地邮件以及来自 cron 作业的错误消息是否可能包含敏感数据。/var/spool/cups
或/var/spool/lp
(或其他一些变体)在打印期间包含临时文件。如果您打印过机密文档,也应该对其进行加密。- 中的其他目录
/var/spool
可能包含敏感数据,例如外发电子邮件。 - 敏感信息可能最终出现在系统登录中
/var/log
。 - 正如您所指出的,如果您有敏感文件名,它们可能最终会出现在该主题的
/var/cache/locate
或/var/lib/mlocate
或变体中。
如果您想安心,只需加密除 之外的所有内容/boot
。如今,大多数计算机的功能都足够强大,CPU 上的加密成本可以忽略不计,并且大多数发行版都可以轻松支持全盘加密。