![我应该加密哪些分区?](https://linux22.com/image/23821/%E6%88%91%E5%BA%94%E8%AF%A5%E5%8A%A0%E5%AF%86%E5%93%AA%E4%BA%9B%E5%88%86%E5%8C%BA%EF%BC%9F.png)
我的笔记本电脑当前运行的是 Windows 和 Fedora,但我计划很快安装 Arch Linux 作为我唯一的操作系统。当前的设置通过 TrueCrypt 使用整个磁盘加密,但我不确定它对我来说是否不必要。
我想我将使用一个稍微简单的分区方案,例如:/
、/boot
和。/home
swap
我使用笔记本电脑进行日常 PC 使用、编程、在本地网络服务器或虚拟网络服务器上进行测试、音频/视频播放、音频编辑/录制等。
我也想加密我的下一个仅 Arch 设置,但我无法决定是否对整个磁盘进行分区,仅对主分区或其他分区进行分区。我想加密系统主要是为了保护最终丢失/被盗的数据。
我认为 dm-crypt 和 LUKS 将是我最好的选择,但我不确定。
我应该选择什么以及为什么?
答案1
在大多数场景下,以下三种方案之一效果良好。
您只想加密一些特别机密的文件。
使用环境文件系统:
mkdir ~/.encrypted.d ~/encrypted
encfs ~/.encrypted.d ~/encrypted
editor ~/encrypted/confidential-file
优点:访问非机密文件没有开销;您可以拥有不同的层次结构和不同的密码;您可以轻松地将加密文件的整个层次结构复制到另一台计算机;您不需要任何特殊权限即可使用 encfs。
缺点:仅加密明确放置在加密区域中的文件;如果您要加密大量文件,则比磁盘级加密慢一点。
您希望对整个主目录进行加密。
使用加密文件系统。
优点和缺点。简而言之,当您想使用登录密码加密您的主目录时,ecryptfs 特别有效;如果你告诉安装程序加密你的主目录,Ubuntu 就会使用这个方法。缺点之一是通过 ssh 登录您的帐户更加困难,因为如果您使用 ssh 密钥身份验证,则您的公钥必须放置在加密区域之外,并且您需要在 ssh 登录后输入密码。
全盘加密。
使用dm 密码加密除 之外的所有内容/boot
。
优点:所有内容都经过加密,因此您不必担心不小心将文件放在错误的位置;块级加密可提供更好的速度,特别是如果您的处理器具有 AES 硬件加速器(AES-NI在 x86 上)。
缺点:启动时需要提供密码,无法实现无人值守启动;所有内容均已加密,如果您的处理器速度较慢,则速度可能会很慢。
一般注意事项
如果您不进行全盘加密,请记住,数据的某些临时副本可能最终会出现在您的主目录之外。最明显的例子是交换空间,因此如果您要使用加密来防止小偷读取您的数据,请确保对其进行加密(使用 dm-crypt)。由于交换空间在每次启动时都会重新初始化,因此您可以为其使用随机密钥,这样您就可以进行无人值守的启动(但是,这使得休眠变得不可能)。
放在/tmp
tmpfs 下(无论如何这是一个好主意)。看如何(安全)将 /tmp 移动到不同的卷?了解如何迁移/tmp
到 tmpfs。
其他有风险的区域是邮件投递 ( /var/mail
) 和后台打印程序 ( /var/spool/cups
)。
答案2
您绝对应该使用 luks,因为它与 Linux 内核集成并且开箱即用。使用其他解决方案并不值得,特别是因为其中一些解决方案不支持AES-NI
.
有关加密内容的讨论请参阅有什么理由加密/?但根据您的偏执程度和安全需求,仅加密/home
可能就足够了。