前言
隨著 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」。開啟 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」。
確認完成後,先將 ESXi 主機上所有 VM 關機並且進入維護模式,便可以執行指令「esxcli software vib update --depot=」配合安全性更新路徑即可,從安裝結果可知已經順利安裝完成並且需要重新啟動 ESXi 主機。
當然,透過 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 的操作介面。
詳細資訊請參考 VMware KB 2076665 - Resolving OpenSSL Heartbleed for ESXi 5.5 - CVE-2014-0160 文章,以下簡述及作法。首先,將現有的憑證檔案「rui.crt、rui.key」更換名稱,接著輸入「/sbin/generate-certificates」指令產生新的憑證檔案。
參考
- 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