更新 ESXi 5.5 u1 及 OpenSSL 漏洞處理

前言

隨著 VMware Horizon 6 的發行,但是 VMware vSphere ESXi 並沒有重新打包新的版本,目前最新版本的「ESXi 5.5.0 update1 (Build Number 1623387)」,仍包含著 OpenSSL 漏洞版本「1.1.1e」,所以安裝好 ESXi 5.5 的第一件事情,便需要更新相關的安全性更新並且處理 OpenSSL 漏洞版本。



實作環境




安裝及設定

步驟 1. ESXi 環境確認

下載並安裝 vSphere ESXi 5.5.0 update1 之後,可以看到目前 Build Number 為「1623387」。


接著透過 Datastore Browser 將安全性更新檔「ESXi550-201406001.zip」進行上傳。


開啟 ESXi 的 SSH 服務,登入後可以使用「vmware -vl」以及「openssl version -a | grep OpenSSL」指令,確認目前的 ESXi 版本號及 Build Number,以及目前 ESXi 使用的 OpenSSL 版本,可以看到目前是受 OpenSSL 漏洞 影響的「OpenSSL 1.0.1e」。




步驟 2. 安裝安全性更新檔

在安裝以前可以先查詢所要安裝 VIB 及 ESXi Host 的驗證等級,因為預設情況下驗證等級至少要相同才可安裝,若不同時可以變更 ESXi Host 主機的驗證等級(請注意驗證等級名稱的大小寫)以進行安裝,若不想更改 ESXi Host 主機的驗證等級,也可以在安裝 VIB 時加上 「--force」 參數強迫進行安裝,但如此一來除了在安裝過程中顯示警告之外,後續在移除 VIB 或某些操作中也會顯示警告訊息,並且如同前面所說明若強迫安裝後發生問題時 VMware 官方將不提供技術支援。

輸入指令「esxcli software sources vib list --depot=」配合安全性更新路徑即可,從結果可知安全性更新檔的驗證等級為「VMwareCertified」。


接著,輸入指令「esxcli software acceptance get」指令,檢查目前 ESXi 的驗證等級,從結果可知安全性更新檔的驗證等級為「PartnerSupported」。


確認完成後,先將 ESXi 主機上所有 VM 關機並且進入維護模式,便可以執行指令「esxcli software vib update --depot=」配合安全性更新路徑即可,從安裝結果可知已經順利安裝完成並且需要重新啟動 ESXi 主機。




步驟 3. 更新後資訊檢查

將 ESXi 主機重新啟動之後,在 Console 畫面便可以看到 Build Number 已經「1623387 -> 1881737 」。


當然,透過 vSphere Client 登入後也可以看到 Build Number 已經為 1881737。此外,有朋友應該覺得奇怪,照理說從 ESXi 5.5 update1 開始操作介面應該變成「正體中文」才對,為何我使用的介面仍然為「英文」。您可以參考 VMware KB 1016403 - Forcing a localized vSphere Client or vSphere Web Client installation to launch in a localized language/English 文章,便可以調整 vSphere Client 或 vSphere Web Client 的操作介面。


開啟 ESXi 的 SSH 服務後,可以看到目前 ESXi 的 OpenSSL 版本已經更新為不受 OpenSSL 漏洞 影響的「OpenSSL 1.0.1h」。




步驟 4. 更換 ESXi 的 SSL 憑證

雖然已經更新 ESXi 主機的 OpenSSL 版本,但 ESXi 主機目前的 SSL 憑證仍是舊的,所以我們可以重新產生 ESXi 的 SSL 憑證。


詳細資訊請參考 VMware KB 2076665 - Resolving OpenSSL Heartbleed for ESXi 5.5 - CVE-2014-0160 文章,以下簡述及作法。首先,將現有的憑證檔案「rui.crt、rui.key」更換名稱,接著輸入「/sbin/generate-certificates」指令產生新的憑證檔案。


接著給予新的「rui.crt、rui.key」憑證檔案具備「Sticky bit」的屬性,完成後請再次重新啟動 ESXi 主機。


重新啟動完成後,可以看到 ESXi 主機已經產生新的 SSL 憑證,並且具備不同的憑證指紋。