我是 Linux 的忠实粉丝,喜欢时不时地尝试新的发行版。我通常将主文件夹和根目录放在加密分区顶部的 lvm 中,但这往往会变得很麻烦,因为每个 initramfs 创建过程都比上一个更陌生。
我重视隐私,但我的大部分有价值的信息或个人信息都存储在主文件夹中。此外,我使用 GPT 进行分区,因此即使在 lvm 之外设置多个分区也不难。
所以问题是:根加密和“/”的 lvm-ing 值得吗,尤其是我必须处理所有早期用户空间的麻烦?
答案1
首先,加密根和早期用户空间的麻烦通常已经由您的发行版解决了(据我所知,Fedora、Debian、Ubuntu 和 OpenSUSE 支持开箱即用的加密根)。这意味着您不必关心设置本身。
加密的原因之一/只是为了确保您根本不会泄露任何信息。考虑将临时数据写入的程序/tmp,包含敏感信息(例如用户名/密码)的日志文件/var/日志或包含凭据(例如密码)的配置文件/etc/fstab或者 root 用户的 shell 历史记录中的一些命令。
使用 LVM 代替分区有一个很大的好处,您可以轻松地调整大小/重命名/删除逻辑卷,而无需重新对磁盘本身进行分区,它比使用分区(GPT 或 MBR)更方便
答案2
/etc
、/var
、 并/tmp
浮现在脑海中。所有内容都可能包含敏感内容。所有卷都可以指定为单独的卷,但通常每个卷都与根目录位于同一文件系统上。也许您已将一或多本移至各自的卷中,但您是否已将它们全部移至?
/etc
包含:散列密码;可能有多种类型,例如
/etc/shadow
和/etc/samba/smbpasswd
各种私钥:SSL、SSH、Kerberos...
/var
包含:/var/log
,其中许多内容仅供 root 只读,因为它们可能包含敏感数据;例如,/var/log/httpd/access_log
可能包含 GET 数据,该数据是网站用户未加密的条目,因此可能是敏感的。数据库文件;
/var/lib/mysql
例如,MySQL 通常将其表和索引文件存储在 中
/tmp
包含临时文件,这听起来可能不敏感,但是有很多针对 Unix 软件的攻击涉及竞争条件,因为在进程尝试使用临时文件时能够修改或狙击临时文件。我知道在很多情况下,文件内容仅在短期内敏感(即不是通过重新启动),但我想某些程序可能取决于方式粘性位和MKSTEM(3)也可以临时缓存长期存在的敏感数据。
答案3
另一个原因是防止篡改文件系统。一旦加密,在下次启动时执行任何可能会咬你的事情就会变得更加复杂,例如在文件系统上放置 rootkit(无论是启动 Live CD 还是暂时将 HDD 移动到另一台机器)。您的内核(和 initrd)仍然容易受到攻击,但是可以通过使用以下任一方法来缓解这一问题:安全启动(使用正确签名的启动链)或从安全的可移动设备(例如您始终控制的闪存驱动器或存储卡)。