為獲得增強的安全性,您可以為 Horizon Cloud Connector 虛擬應用裝置設定自訂的 CA 簽署憑證。

必要條件

  • 驗證完整憑證鏈結採用 PEM 格式。
  • 請確定 PEM 檔是以私密金鑰產生,而非以複雜密碼產生。
  • 驗證核發的憑證中包含 FQDN 與主體別名。

程序

  1. 開啟已部署 Horizon Cloud Connector 虛擬應用裝置的 SSH 工作階段。
  2. 複製位在目錄 /root/server.crt 中的 CA 簽署憑證。
  3. 複製位在目錄 /root/server.key 中的 CA 簽署金鑰。
  4. 備份現有憑證。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) 請使用下列命令:
      cp /opt/container-data/certs/hze-nginx/server.crt /opt/container-data/certs/hze-nginx/server.crt.orig
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      cp /etc/nginx/ssl/server.crt /etc/nginx/ssl/server.crt.orig
  5. 備份現有金鑰。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) 請使用下列命令:
      cp /opt/container-data/certs/hze-nginx/server.key /opt/container-data/certs/hze-nginx/server.key.orig
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      cp /etc/nginx/ssl/server.key /etc/nginx/ssl/server.key.orig
  6. 複製現有的 nginx conf 檔案。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) 請使用下列命令:
      cp /opt/container-data/conf/hze-nginx/nginx.conf /opt/container-data/conf/hze-nginx/nginx.conf.orig
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      cp /etc/nginx/nginx.conf /etc/nginx/nginx.conf.orig
  7. 將 CA 憑證複製到虛擬應用裝置版本的適當目錄中。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) 請使用下列命令:
      cp /root/server.crt /opt/container-data/certs/hze-nginx/server.crt
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      cp /root/server.crt /etc/nginx/ssl/server.crt
  8. 將 CA 憑證金鑰檔案複製到虛擬應用裝置版本的適當目錄中。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) 請使用下列命令:
      cp /root/server.key /opt/container-data/certs/hze-nginx/server.key
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      cp /root/server.key /etc/nginx/ssl/server.key
  9. 驗證憑證和金鑰檔案的擁有者和權限。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) 請使用下列命令:
      chown -R hze-nginx:hze-nginx /opt/container-data/certs/hze-nginx 
      chmod 644 /opt/container-data/certs/hze-nginx/server.crt 
      chmod 600 /opt/container-data/certs/hze-nginx/server.key
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      chown -R root:root /etc/nginx/ssl
      chmod -R 600 /etc/nginx/ssl
  10. 驗證憑證中核發的 FQDN 符合 nginx 組態檔中伺服器接聽 443 區塊中的伺服器名稱指令。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) nginx 組態檔位於 /opt/container-data/conf/hze-nginx/nginx.conf
    • (Horizon Cloud Connector 的 1.3 版或更早版本) nginx 組態檔位於 /etc/nginx/nginx.conf
  11. 驗證並重新啟動 nginx
    • (Horizon Cloud Connector 的 2.0 版或更新版本) 請使用下列命令:
      kubectl rollout restart daemonset hze-nginx -n hze-system
    • (Horizon Cloud Connector 1.4 版至 1.10 版) 請使用以下命令:
      docker exec -i hze-nginx sudo nginx -t 
      systemctl restart hze-nginx
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      nginx -t
      systemctl restart nginx
  12. 在歡迎使用畫面中更新 SSL 指紋。
    • (Horizon Cloud Connector 的 2.0 版或更新版本) 請使用下列命令:
      /opt/vmware/bin/configure-welcome-screen.py
      /usr/bin/killall --quiet vami_login
    • (Horizon Cloud Connector 1.4 版至 1.10 版) 請使用以下命令:
      docker exec -i hze-core sudo /opt/vmware/bin/configure-welcome-screen.py 
      /usr/bin/killall --quiet vami_login
  13. 在網頁瀏覽器中重新載入 Horizon Cloud Connector 使用者介面 URL,測試新的憑證。
  14. (選擇性) 如果憑證可正常運作,請移除備份檔案。
    • (Horizon Cloud Connector 的 1.4 版或更新版本) 請使用下列命令:
      rm /opt/container-data/certs/hze-nginx/server.crt.orig 
      rm /opt/container-data/certs/hze-nginx/server.key.orig 
      rm /opt/container-data/conf/hze-nginx/nginx.conf.orig
    • (Horizon Cloud Connector 的 1.3 版或更早版本) 請使用下列命令:
      rm /etc/nginx/ssl/server.crt.orig
      rm /etc/nginx/ssl/server.key.orig
      rm /etc/nginx/nginx.conf.orig
  15. 移除根目錄中複製的 CA 憑證和金鑰檔案。
    使用下列命令:
    rm /root/server.crt
     rm /root/server.key