加密主分区 + 加密交换 + 工作休眠

加密主分区 + 加密交换 + 工作休眠

我想在 Ubuntu 13.10 上设置磁盘加密,这样我就有

  • 清楚的/
  • 加密/home分区
  • 加密交换分区
  • 工作休眠和恢复

正如这些要求所暗示的,这是为了防止潜在的笔记本电脑窃贼读取我的个人数据。由于/未加密,它无法防止有人拿走笔记本电脑,安装键盘记录器并将其归还给我。

我读过了启用HibernateWithEncryptedSwap但它是为 Ubuntu 12.04 编写的,我不确定它是否仍然有效或者是否是推荐的方式。

什么是最新的设置?

答案1

我设法建立了一个加密主页和加密交换并运行休眠模式。

我使用uswsusp并大量遵循本文- 仍然适用于 Ubuntu 13.10。

  • 在启动时,我在 Ubuntu 徽标下收到两个密码提示(一个用于 home,一个用于 swap)。
  • 有了apt-get install uswsusp,Ubuntu 自动切换pm-hibernate为使用 uswsusp,因此所有 GUI 工具也使用它。
  • 从休眠状态恢复时,我按预期收到一个密码提示。

我的设置的一些部分:

创建加密分区

# For /home
sudo cryptsetup --cipher aes-xts-plain --key-size 256 --hash sha512 --use-random --verify-passphrase luksFormat /dev/sdb2
# For swap
sudo cryptsetup --cipher aes-xts-plain --key-size 256 --hash sha512 --use-random --verify-passphrase luksFormat /dev/sdb3
  • 我使用 是aes-xts-plain因为它是最快的cryptsetup benchmark(仅适用于 cryptsetup >= 1.6)。许多指南使用aes-cbc-essiv,但从我目前阅读的内容来看,xts可以像 一样有效防止水印cbc-essiv。如果您使用的分区 >= 2TB,则应使用aes-xts-plain64而不是-plain。有关这些选项和选择的更多信息,请参见这里

  • 创建这些分区后,您当然必须在其上创建相应的文件系统,例如使用mkswap /dev/mapper/cryptoposwapmkfs.ext4 /dev/mapper/cryptohome

在/etc/crypttab中

cryptohome   /dev/disk/by-uuid/8cef7fd1-cceb-4a4a-9902-cb9a5805643c   none   luks,discard
cryptoswap   /dev/disk/by-uuid/a99c196d-55df-460f-a162-00c4ea6d46e6   none   luks,discard

/etc/fstab

UUID=a4a2187d-a2d2-4a4c-9746-be511c151296  /       ext4   errors=remount-ro  0  1
/dev/mapper/cryptoswap                     none    swap   sw,discard         0  0
/dev/mapper/cryptohome                     /home   ext4   discard            0  2
  • 我使用discard两者中的选项crypttabfstab为正在使用的 SSD 启用 TRIM。
  • 我不得不/etc/initramfs-tools/conf.d/resume将旧的交换 UUID 调整为新的,/dev/mapper/cryptoswap以摆脱警告update-initramfs -u -k all

这仍然非常类似于启用HibernateWithEncryptedSwap,但看起来我不需要编辑/usr/share/initramfs-tools/scripts/local-top/cryptroot/etc/acpi/hibernate.sh(如果您知道为什么需要编辑,请发表评论 - 也许区别在于此设置使用了uswsusp?)。

相关内容