$ sudo clevis luks pass -d /dev/vda2 -s 1
本节描述了几种潜在的灾难情况以及应对每种情况的程序。随着发现或推测可能出现的情况,此处将添加其他情况。
使用 Tang 服务器解密其磁盘分区的集群节点丢失_并非_灾难。机器是被盗、硬件故障还是其他丢失情况并不重要:磁盘已加密,并被视为无法恢复。
但是,如果发生盗窃,谨慎地轮换 Tang 服务器的密钥并对所有剩余节点重新加密将是谨慎的做法,以确保即使窃贼随后获得对 Tang 服务器的访问权限,磁盘仍然无法恢复。
要从这种情况中恢复,请重新安装或更换节点。
单个节点的网络连接丢失将导致其无法无人值守地启动。
如果您正在规划可能导致网络连接丢失的工作,您可以显示现场技术人员手动使用的密码短语,然后旋转密钥以使其失效
在网络不可用之前,使用以下命令显示设备/dev/vda2
的第一个槽-s 1
中使用的密码
$ sudo clevis luks pass -d /dev/vda2 -s 1
使用以下命令使该值无效并重新生成新的随机启动时密码短语
$ sudo clevis luks regen -d /dev/vda2 -s 1
如果网络中断是意外的并且节点重新启动,请考虑以下情况
如果任何节点仍在联机,请确保在恢复网络连接之前不要重新启动它们。这对于单节点集群不适用。
节点将保持脱机状态,直到恢复网络连接或在控制台中手动输入预先建立的密码短语。在特殊情况下,网络管理员可能会重新配置网络段以重新建立访问,但这与 NBDE 的意图相违背,NBDE 的意图是缺乏网络访问意味着缺乏启动能力。
节点缺乏网络访问可能会合理地影响该节点的功能及其启动能力。即使节点通过人工干预启动,缺乏网络访问也会使其实际上毫无用处。
现场技术人员还可以使用一种比较复杂且劳动强度较大的方法来恢复网络。
现场技术人员从硬盘中提取 Clevis 头。根据 BIOS 锁定情况,这可能需要拆下磁盘并将其安装在实验室机器中。
现场技术人员将 Clevis 头传输给具有合法访问 Tang 网络权限的同事,然后该同事执行解密。
由于必须限制对 Tang 网络的访问,因此技术人员无法通过 VPN 或其他远程连接访问该网络。同样,技术人员无法通过远程服务器修补到此网络以自动解密磁盘。
技术人员重新安装磁盘并手动输入同事提供的明文密码短语。
即使没有直接访问 Tang 服务器,机器也能成功启动。请注意,必须小心地将密钥材料从安装站点传输到另一个具有网络访问权限的站点。
恢复网络连接后,技术人员会轮换加密密钥。
如果您无法手动恢复网络连接,请考虑以下步骤。请注意,如果还有其他恢复网络连接的方法可用,则不建议使用这些步骤。
此方法只能由高度信任的技术人员执行。
将Tang服务器的关键材料带到远程站点被视为违反了关键材料规定,所有服务器都必须重新加密钥并重新加密。
此方法仅应在极端情况下使用,或作为概念验证恢复方法来证明其可行性。
同样极端但理论上可行的方法是:使用不间断电源 (UPS) 为有问题的服务器供电,将服务器运输到具有网络连接的位置以引导并解密磁盘,然后在电池供电的情况下将服务器恢复到原始位置以继续运行。
如果您想使用备用手动密码,则必须在故障情况发生之前创建它。
正如与独立Tang安装相比,使用TPM和Tang的攻击场景变得更加复杂一样,如果采用相同的方法,紧急灾难恢复过程也会变得更加复杂。
网络段丢失,使Tang服务器暂时不可用,后果如下:
OpenShift Container Platform节点继续正常启动,前提是其他服务器可用。
新的节点无法建立其加密密钥,直到网络段恢复为止。在这种情况下,请确保与远程地理位置连接,以实现高可用性和冗余。这是因为,当您安装新节点或重新为现有节点加密钥时,您在该操作中引用的所有Tang服务器都必须可用。
对于庞大的异构网络(例如,每个客户端都连接到最近的三个客户端的五个地理区域),值得研究混合模型。
在这种情况下,新的客户端能够使用可访问的服务器子集建立其加密密钥。例如,在一组tang1
、tang2
和tang3
服务器中,如果tang2
不可访问,客户端仍然可以与tang1
和tang3
建立其加密密钥,并在稍后时间与完整集合重新建立连接。这可能需要人工干预或更复杂的自动化才能实现。