帮助中心

立即注册 咨询客服

当前位置:首页 > 帮助中心> 在CentOS 8系统服务器上设置网络绑定磁盘加密(NBDE)

在CentOS 8系统服务器上设置网络绑定磁盘加密(NBDE)

发布时间:2020年05月14日 09:53:43    来源: A5互联

在Linux服务器环境下,完全的磁盘加密是很难可靠地做到的。因此,世界各地的数据中心中的很多服务器都没有加密。如今,这很快成为一种不可接受的做法。Red Hat最近尝试了这个方法,并为我们提供了网络绑定磁盘加密(NBDE)。让我们看看是否能让它发挥作用。

我使用的是VMWare工作站,有两台CentOS8的服务器。一台是我的tang服务器,另一台是我已经配置了全盘加密的客户端。在有全磁盘加密的机器上,我们将运行clevis。为了说明起见,我将把每个盒子的主机名设置为其预期的目的名(例如:tang,或者clevis)。

1、设置Tang服务器。

Tang称自己为基于网络的密码绑定服务器。老实说,您在这里只需要知道tang不仅仅是钥匙的藏匿处。实际上,解锁LUKS的钥匙实际上从未存储在tang中。

让我们从安装,配置和启动tang开始:

让我们快速注意一下我们公布的密钥:

稍后当我们将clevis服务器绑定到此tang服务器时。我们应该看到这个键。

2、设置Clevis客户端

这是我们的客户,该客户已使用LUKS加密。

如您所见,我们的目标分区是nvme0n1p2。让我们再挖掘一下。

请注意密钥插槽0的使用方式。那就是使用密码的插槽。我们要从tang服务器获取公布的密钥,并将其推入插槽。为了处理此问题,我们将使用Clevis。请注意,您可以在紧急情况下使用curl查询tang服务器,并在tang服务器正在广告时抓住该键(curl http://$tang_server/adv)。但是我们不需要那个,因为我们的clevis bind命令可以做到。

3、安装Clevis

安装了Clevis后,我们现在绑定到了Tang服务器。

我们接受了设置tang服务器时看到的签名密钥。然后我们输入了LUKS密码。现在已填充插槽1。

** 重要 **:

如果您的环境使用DHCP,dracut -fv --regenerate-all 则只需要运行以重新生成initrd。

如果您具有静态IP,则有两个选择。您可以使用–kernel-cmdline将其传递给dracut,也可以将配置文件添加到/etc/dracut.conf.d/whatever.conf。使用配置文件将在内核更新后继续存在。因此,让我们使用该方法。

echo 'kernel_cmdline="ip=10.0.0.99::10.0.0.1::255.255.255.0::ens6:none::255.255.255.0::ens3:none:8.8.8.8" ' > /etc/dracut.conf.d/whatever.conf

dracut -fv --regenerate-all

显然,您应该使用网络配置更新这些字段。但是您必须确保更新此配置文件,并在每次更改IP时重新运行dracut。

之所以需要这样做,是因为您的根文件系统已加密。内核必须能够与tang服务器通信,因此它必须能够自行处理网络。

4、/演示。

我没有合理的方式来证明这一点。因此,我继续进行记录,然后将其转换为gif。

我首先显示tangd.socket状态,然后重新启动nbde客户端。然后,我们看到客户端自动解密。

最后,来自tang服务器的日志

5、题外话-删除Tang服务器关联

如果由于某种原因您对此不满意,可以通过以下操作从其中一个插槽中删除密钥:

需要明确的是,除非您要从LUKS插槽中取出钥匙,否则不要这样做。换句话说,您将需要原始密码来解密磁盘。