在 OpenBSD 下是否有类似于 Linux 下设置全盘加密的首选方法dm-crypt
?
我正在寻找全盘加密,就好像有人偷了我的笔记本,他们可能会访问其中存储的数据。另一个原因是我并不总是在笔记本旁边,因此有人可能会损害我上网本的完整性。这是两个主要问题,使我相信全盘加密对我来说很重要。
答案1
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
添加相应的条目到/etc/fstab
:
/ENCRYPTED.img /dev/svnd0c vnd rw,noauto,-k
/dev/svnd0a /home ffs rw,noauto
添加命令以在启动时挂载加密卷及其中的文件系统/etc/rc.local
:
echo "Mounting encrypted volumes:"
mount /dev/svnd0c
fsck -p /dev/svnd0a
mount /home
通过运行这些命令 ( ) 检查一切是否正常工作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
您还应该加密您的交换区,但 OpenBSD 现在会自动执行此操作。
获取加密文件系统的新方法是通过软件raid驱动程序 softraid
。请参阅softraid
和bioctl
手册页或Lykle de Vries 的 OpenBSD 加密 NAS HOWTO了解更多信息。最新版本的 OpenBSD 支持从 softraid 卷启动安装通过在安装过程中进入 shell 来创建卷,将其添加到 Softraid 卷。
¹ 据我所知,OpenBSD 的卷加密受到保密性保护(对于 Blowfish),而不是为了正直。保护操作系统的完整性很重要,但没有必要保密。也有一些方法可以保护操作系统的完整性,但它们超出了本答案的范围。
答案2
软突袭OBSD 设计者的目的是使用 CRYPTO 规则来支持全盘加密。还有另一种使用 SVND 的方法,但现已弃用。
答案3
http://geekyschmidt.com/2011/01/19/configuring-openbsd-softraid-fo-encryption基本上是 Softraid 全盘加密的图形化操作方法。当然,永远不要盲目遵循指南并确保所有 bioctl 设置都是正确的。