如何解决物理主机上的客户端 TLS 证书先有鸡还是先有蛋的问题?

如何解决物理主机上的客户端 TLS 证书先有鸡还是先有蛋的问题?

我不明白在自动安装服务器时如何解决先有鸡还是先有蛋的问题。

我有一系列可以通过 PXE 重建的服务器。重建计算机时,它会从 Apache 服务器加载所需的所有设置(包括稍后使用不同服务时用于验证身份的私有证书)。此 Apache 服务器通过客户端的 IP 地址识别客户端,以便为其提供针对特定服务器的配置或证书,或者拒绝提供服务。

但是,客户端的 IP 地址可能会被伪造。MAC 地址也一样,如果我在某个时候也添加这种验证的话。

为了安全地获取其配置和私有证书,通过 PXE 启动的机器应该已经拥有一个证书,可以在与 Apache 服务器通信时使用。然而,这看起来不太可能,因为从 PXE 启动的机器要么是全新的,要么在安装过程中无论如何都会格式化其磁盘。

我是不是漏掉了什么?如何识别新机器,避免被欺骗的风险?

我应该使用包含私钥的始终连接的 USB 密钥吗?或者还有其他选择吗?

答案1

我们使用领班的启动盘插件为了这个目的。我并不是说这是正确或独特的方法,而是我们成功使用的方法。

每次需要(重新)配置主机时,都会生成一个短暂的令牌,并将其保存在与主机关联的数据库中。此令牌与 ipxe 二进制文件和脚本一起放入 iso 文件中,该脚本仅在提供正确的令牌作为标识符时才从配置主机下载 kicstart 文件。配置主机后,令牌将被删除。在特定时间(可调,我脑海中的默认值为 60 分钟)后,令牌将失效。

这适用于 bios 和 uefi 固件,不需要 pxe,只需要 http(s),因此您只需进行少量修改即可真正进行互联网部署(方便在远程位置部署硬件)。

相关内容