如何在 OpenBSD 上设置全盘加密?

Lan*_*nes 19 security encryption openbsd

在 OpenBSDdm-crypt下有没有类似于Linux下设置全盘加密的首选方法?

我正在寻找全盘加密,就好像有人要偷我的笔记本一样,他们可能会访问存储在其中的数据。另一个原因是我并不总是在我的笔记本旁边,所以有人可能会破坏我上网本的完整性。这是让我相信全盘加密对我很重要的两个主要问题。

Gil*_*il' 15

OpenBSD 仅从OpenBSD 5.3 开始支持全盘加密。早期版本需要明文引导分区。我不知道什么时候安装程序被修改为支持直接安装到加密分区(当然引导加载程序仍然未加密,因为必须解密下一位)。

无论如何,加密系统分区几乎没有用¹。所以我建议正常安装系统,然后创建一个加密的文件系统映像并将您的敏感数据(/home,部分/var,也许是一些文件)放在/etc那里。

如果您无论如何都想加密系统分区(因为您有一些特殊用例,例如某些机密软件),并且您最初没有安装加密系统,那么您可以这样做。

启动到您的 OpenBSD 安装并创建一个包含加密文件系统映像的文件。确保选择一个合理的大小,因为以后很难更改(您可以创建额外的图像,但您必须为每个图像分别输入密码)。该vnconfig男子页都有例子(虽然他们错过了几步)。简而言之:

dd if=/dev/urandom of=/ENCRYPTED.img bs=1m count=4096
vnconfig -k svnd0 /ENCRYPTED.img  # type your passphrase
{ echo a a; echo w; echo q; } | disklabel -E /svnd0  # create a single slice
newfs /dev/svnd0a
mount /dev/svnd0a /mnt
mv /home/* /mnt
umount /mnt
umount /dev/svnd0c
Run Code Online (Sandbox Code Playgroud)

将相应的条目添加到/etc/fstab

 /ENCRYPTED.img  /dev/svnd0c  vnd rw,noauto,-k
 /dev/svnd0a     /home        ffs rw,noauto
Run Code Online (Sandbox Code Playgroud)

添加命令以在启动时挂载加密卷和其中的文件系统到/etc/rc.local

echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
Run Code Online (Sandbox Code Playgroud)

通过运行这些命令 ( mount /dev/svnd0c && mount /home)检查一切是否正常工作。

请注意,rc.local它在启动过程的后期执行,因此您不能将标准服务(例如 ssh 或 sendmail)使用的文件放在加密卷上。如果你想要做的是,把这些命令/etc/rc,而不是刚结束mount -a。然后移动您认为敏感的文件系统部分并将它们移动到/home卷中。

mkdir /home/etc /home/var
mv /etc/ssh /home/etc
ln -s ../home/etc/ssh /home/etc
mv /var/mail /var/spool /home/var
ln -s ../home/var/mail ../home/var/spool /var
Run Code Online (Sandbox Code Playgroud)

你也应该加密你的交换,但是 OpenBSD 现在会自动这样做。

获得加密文件系统的较新方法是通过软件 raid 驱动程序 softraid。见softraidbioctl手册页或Lykle德弗里斯的OpenBSD系统加密的NAS HOWTO了解更多信息。最新版本的 OpenBSD 支持从 softraid 卷启动并通过在安装过程中放入 shell 来创建卷来安装到 softraid 卷。

¹ 据我所知,OpenBSD 的卷加密是为了机密性(使用 Blowfish)而不是为了完整性受到保护。保护操作系统的完整性很重要,但无需保密。还有一些方法可以保护操作系统的完整性,但它们超出了本答案的范围。

  • @hhh:OpenBSD 的加密提供机密性。这对您自己的数据很重要,对任何人都可以下载的操作系统文件并不重要。(即卷加密很重要,但不是完整的故事。)完整性是防止有人秘密更改您的数据,或者更糟的是,如果他们可以物理访问您的磁盘,则安装恶意软件 - [邪恶女仆攻击](http://www. schneier.com/blog/archives/2009/10/evil_maid_attac.html)。邪恶女仆的攻击很难防御(我不知道 OpenBSD 提供了什么),但也很难实施。 (4认同)