Security

如何使用物理主機上的客戶端 TLS 證書解決先有雞還是先有蛋的問題?

  • September 14, 2021

在自動安裝伺服器時,我不明白如何解決先有雞還是先有蛋的問題。

我有一系列可以通過 PXE 重建的伺服器。當一台機器被重建時,它會從一個 Apache 伺服器載入它需要的所有設置——包括它在以後使用不同服務時用來驗證自己的私有證書。該 Apache 伺服器通過 IP 地址辨識客戶端,以便為它們提供用於給定伺服器的配置或證書,或者拒絕提供它。

但是,客戶端的 IP 地址可能會被欺騙。MAC地址也一樣,如果在某個時候我也添加了這種驗證。

為了安全地獲取其配置和私有證書,通過 PXE 引導的機器應該已經有一個證書,它可以在與 Apache 伺服器通信時使用它。但是,這看起來不太可能,因為從 PXE 引導的機器要麼是全新的,要麼會在安裝過程中格式化其磁碟。

我錯過了什麼嗎?如何在沒有欺騙風險的情況下辨識新機器?

我應該使用包含私鑰的始終連接的 USB 密鑰嗎?或者還有其他選擇嗎?

為此,我們使用工頭的bootdisk 外掛。我並不是說這是正確或獨特的方式,而是我們成功使用的方式。

每次需要(重新)配置主機時,都會生成一個短暫的令牌,並將其保存在與主機耦合的數據庫中。這個令牌進入一個帶有 ipxe 二進製文件的 iso 文件和一個腳本,只有當它提供正確的令牌作為標識符時,它才會從配置主機下載 kicstart 文件。配置主機後,令牌將被刪除。在特定(可調,我的頭頂預設為 60 分鐘)之後,令牌無效。

這適用於作為 uefi 韌體的 bios,不需要 pxe,只需 http(s),因此您可以真正進行網際網路部署,只需少量修改(便於在遠端位置部署硬體)。

引用自:https://serverfault.com/questions/1077573