在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插槽中取出钥匙,否则不要这样做。换句话说,您将需要原始密码来解密磁盘。
成都联想服务器代理【公司名称】成都鸿盛广达科技有限公司
【代理级别】成都联想服务器总代理
【销售经理】成都鸿盛广达科技有限公司
【联系方式】座机:028-85952921 手机:13981931555
【公司地址】成都市武侯区人民南路四段一号时代数码广场A座17楼