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
。见softraid
和bioctl
手册页或Lykle德弗里斯的OpenBSD系统加密的NAS HOWTO了解更多信息。最新版本的 OpenBSD 支持从 softraid 卷启动并通过在安装过程中放入 shell 来创建卷来安装到 softraid 卷。
¹ 据我所知,OpenBSD 的卷加密是为了机密性(使用 Blowfish)而不是为了完整性受到保护。保护操作系统的完整性很重要,但无需保密。还有一些方法可以保护操作系统的完整性,但它们超出了本答案的范围。
归档时间: |
|
查看次数: |
12752 次 |
最近记录: |