Security
如何使用物理主機上的客戶端 TLS 證書解決先有雞還是先有蛋的問題?
在自動安裝伺服器時,我不明白如何解決先有雞還是先有蛋的問題。
我有一系列可以通過 PXE 重建的伺服器。當一台機器被重建時,它會從一個 Apache 伺服器載入它需要的所有設置——包括它在以後使用不同服務時用來驗證自己的私有證書。該 Apache 伺服器通過 IP 地址辨識客戶端,以便為它們提供用於給定伺服器的配置或證書,或者拒絕提供它。
但是,客戶端的 IP 地址可能會被欺騙。MAC地址也一樣,如果在某個時候我也添加了這種驗證。
為了安全地獲取其配置和私有證書,通過 PXE 引導的機器應該已經有一個證書,它可以在與 Apache 伺服器通信時使用它。但是,這看起來不太可能,因為從 PXE 引導的機器要麼是全新的,要麼會在安裝過程中格式化其磁碟。
我錯過了什麼嗎?如何在沒有欺騙風險的情況下辨識新機器?
我應該使用包含私鑰的始終連接的 USB 密鑰嗎?或者還有其他選擇嗎?
為此,我們使用工頭的bootdisk 外掛。我並不是說這是正確或獨特的方式,而是我們成功使用的方式。
每次需要(重新)配置主機時,都會生成一個短暫的令牌,並將其保存在與主機耦合的數據庫中。這個令牌進入一個帶有 ipxe 二進製文件的 iso 文件和一個腳本,只有當它提供正確的令牌作為標識符時,它才會從配置主機下載 kicstart 文件。配置主機後,令牌將被刪除。在特定(可調,我的頭頂預設為 60 分鐘)之後,令牌無效。
這適用於作為 uefi 韌體的 bios,不需要 pxe,只需 http(s),因此您可以真正進行網際網路部署,只需少量修改(便於在遠端位置部署硬體)。