前言
隨著 VMware Horizon 6 的發行,但是 VMware vSphere ESXi 並沒有重新打包新的版本,目前最新版本的「ESXi 5.5.0 update1 (Build Number 1623387)」,仍包含著 OpenSSL 漏洞版本「1.1.1e」,所以安裝好 ESXi 5.5 的第一件事情,便需要更新相關的安全性更新並且處理 OpenSSL 漏洞版本。實作環境
- VMware vSphere ESXi 5.5 update1 (Build Number 1623387)
- 安全性更新檔 ESXi550-201406001.zip
安裝及設定
步驟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 憑證,並且具備不同的憑證指紋。
參考
- OpenSSL: OpenSSL vulnerabilities
- VMware Communities - Heartbleed vulnerability OpenSSL
- VMware KB 2076665 - Resolving OpenSSL Heartbleed for ESXi 5.5 - CVE-2014-0160
- VMware KB 2077359 - VMware ESXi 5.5, Patch Release ESXi550-201406001
- VMware KB 2076225 - Response to OpenSSL security issue CVE-2014-0160/CVE-2014-0346 a.k.a: "Heartbleed"
- 維基百科 - Heartbleed
- VMware KB 1016403 - Forcing a localized vSphere Client or vSphere Web Client installation to launch in a localized language/English
- VMware Security Patches Download