在啟用智慧卡驗證之前,必須先設定 vCenter Server 以申請用戶端憑證。
組態使用連接埠 3128,該連接埠在 vCenter Server 上自動進行設定和開啟。
必要條件
將憑證授權機構 (CA) 憑證複製到 vCenter Server 系統,以用於建立信任用戶端 CA 存放區。此存放區必須包含 CA 核發的用於用戶端憑證的受信任憑證。此處的用戶端是瀏覽器,智慧卡程序會藉由該瀏覽器提示使用者相關資訊。
備註:
vCenter Server 7.0 及更新版本支援 HTTP/2 通訊協定。所有新型瀏覽器和應用程式 (包括
vSphere Client) 都使用 HTTP/2 連線至
vCenter Server。但是,智慧卡驗證需要使用 HTTP/1.1 通訊協定。啟用智慧卡驗證會停用 HTTP/2 的應用程式層通訊協定協商 (ALPN,
https://tools.ietf.org/html/rfc7301),從而有效防止瀏覽器使用 HTTP/2。僅使用 HTTP/2 (不依賴 ALPN) 的應用程式會繼續運作。
若要完成智慧卡驗證,必須允許用戶端存取相應 vCenter Server 上的連接埠 3128/TCP。檢查周邊防火牆,以確保已授與存取權。
透過智慧卡登入期間,連線將重新導向至連接埠 3128。連接埠 3128 僅支援預先設定的雙向驗證連線,並且不用作直接瀏覽器端點。它不會傳回 HSTS 標頭。如果您的弱點掃描程式報告此行為,可以放心忽略。
程序
- 以 root 使用者身分登入 vCenter Server。
- 使用確切路徑和 PEM 名稱 (
/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
) 在 vCenter Server 上建立信任用戶端 CA 存放區。
警告: 必須使用確切路徑和 PEM 名稱 (
/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
)。
- 變更為 /usr/lib/vmware-sso/ 目錄。
- 若要建立信任用戶端 CA 存放區,請執行 openssl 命令,並將受信任的簽署憑證做為輸入。例如,下列命令將從 xyzCompanySmartCardSigningCA.cer 受信任簽署憑證建立 clienttrustCA.pem 檔案。
openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA.cer > /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
可以透過執行
openssl 命令並使用「>>」運算子附加其他憑證,將其他憑證新增至信任用戶端 CA 存放區。例如,下列命令可將
xyzCompanySmartCardSigningCA2.cer 附加到現有的
clienttrustCA.pem 檔案。
openssl x509 -inform PEM -in xyzCompanySmartCardSigningCA2.cer >> /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem
- 若要驗證 clienttrustCA.pem 檔案的內容是否包含簽署智慧卡憑證的信任用戶端 CA 存放區,請執行 keytool 命令。
例如:
keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
- 確認 CA 名稱與智慧卡使用者憑證鏈結相符。
例如,可以執行下列命令。
sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
根憑證和中繼憑證必須具有相符的指紋、名稱、有效日期等。
備註: 您還可以使用
vSphere Client (
)。
- 重新啟動 STS 服務。
service-control --restart sts