加密的主分区+加密交换+工作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
,但从我到目前为止所读到的内容来看,xts
与cbc-essiv
一样可以防止水印。 如果使用分区> = 2TB,则应使用aes-xts-plain64
而不是-plain
。 有关这些选项和选项的更多信息,请访问此处 。 -
创建这些分区后,您当然必须在它们上创建相应的文件系统,例如使用
mkswap /dev/mapper/cryptoposwap
和mkfs.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
- 我在
crypttab
和fstab
使用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
?)。