加密的主分区+加密交换+工作hibernate

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

  • 平原/
  • 加密/home分区
  • 加密交换分区
  • 工作hibernate和恢复

正如这些要求所暗示的那样,这是为了保护我免受潜在的笔记本电脑小偷阅读我的个人数据。 使用/未加密时,它不能防止有人拿走笔记本电脑,安装键盘记录器并将其还给我。

我已经阅读了EnableHibernateWithEncryptedSwap,但是它是为Ubuntu 12.04编写的,我不相信它仍然有效或者它是推荐的方式。

什么是最新的设置?

我设法建立一个加密的家庭和加密交换与工作hibernate。

我使用uswsusp并在很大程度上遵循这篇文章 – 仍适用于Ubuntu 13.10。

  • 在启动时,我会在Ubuntu徽标下面获得两个密码提示(一个用于家庭,一个用于交换)。
  • 使用apt-get install uswsusp ,Ubuntu会自动切换pm-hibernate以使用uswsusp,因此所有GUI工具也都使用它。
  • 从hibernate恢复后,我按预期获得一个密码提示。

我的设置的一些部分:

创建加密分区

 # 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 ,但从我到目前为止所读到的内容来看, xtscbc-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 
  • 我在crypttabfstab使用discard选项为我正在使用的SSD启用TRIM。
  • 我不得不将/etc/initramfs-tools/conf.d/resume从旧的交换UUID调整到新的/dev/mapper/cryptoswap以在update-initramfs -u -k all删除警告。

这仍然与EnableHibernateWithEncryptedSwap非常相似,但看起来我没有必要编辑/usr/share/initramfs-tools/scripts/local-top/cryptroot/usr/share/initramfs-tools/scripts/local-top/cryptroot /etc/acpi/hibernate.sh (如果你有一个提示为什么需要它,请发表评论 – 可能不同之uswsusp于此设置使用了uswsusp ?)。