在啟用智慧卡驗證之前,必須先設定 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 標頭。如果您的弱點掃描程式報告此行為,可以放心忽略。

程序

  1. 以 root 使用者身分登入 vCenter Server
  2. 使用確切路徑和 PEM 名稱 (/usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem) 在 vCenter Server 上建立信任用戶端 CA 存放區。
    警告: 必須使用確切路徑和 PEM 名稱 ( /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem)。
    1. 變更為 /usr/lib/vmware-sso/ 目錄。
      cd /usr/lib/vmware-sso/
    2. 若要建立信任用戶端 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
  3. 若要驗證 clienttrustCA.pem 檔案的內容是否包含簽署智慧卡憑證的信任用戶端 CA 存放區,請執行 keytool 命令。
    例如:
    keytool -printcert -file /usr/lib/vmware-sso/vmware-sts/conf/clienttrustCA.pem | grep -i "owner\|sha1\|issuer:\|valid"
  4. 確認 CA 名稱與智慧卡使用者憑證鏈結相符。
    例如,可以執行下列命令。
    sso-config.sh -get_authn_policy -t vsphere.local | grep trusted
    根憑證和中繼憑證必須具有相符的指紋、名稱、有效日期等。
    備註: 您還可以使用 vSphere Client ( 管理 > Single Sign On > 組態 > 身分識別提供者 > 智慧卡驗證 > 智慧卡驗證設定 > 受信任的 CA 憑證 > 新增)。
  5. 重新啟動 STS 服務。
    service-control --restart sts