您可能會在 Google Cloud Directory Sync (GCDS) 記錄檔中看到以下憑證相關錯誤:
- sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
- ldap_simple_bind_s() failed: Strong Authentication Required
請按照下列步驟修正這些錯誤。
本頁內容
修正憑證相關錯誤
Microsoft Windows 的操作步驟
更新 vmoption 檔案
- 關閉「設定管理員」。
- 在 GCDS 安裝目錄中,開啟 sync-cmd.vmoptions 和 config-manager.vmoptions 檔案。
安裝目錄通常是 C:\Program Files\Google Cloud Directory Sync。
- 編輯上述檔案,在其中新增下列資訊:
-Djavax.net.ssl.trustStoreProvider=SunMSCAPI
-Djavax.net.ssl.trustStoreType=Windows-ROOT
-Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl
-Dcom.sun.jndi.ldap.connect.pool.authentication=none simple - 重新啟動「設定管理員」,然後前往「LDAP 設定」頁面。
- 為「連線類型」指定 LDAP+SSL。
- 在「通訊埠」部分,選擇下列任一選項:
- 如果原先使用 389,請指定 636
- 如果原先使用 3268,請指定 3269。
- 按一下「測試連線」。
- 如果收到以下錯誤:
- 憑證錯誤:在執行 GCDS 的電腦上,確認使用的是 Windows 信任的憑證。接著,繼續按照本頁下方的「步驟 2:匯入伺服器憑證」操作。
- 憑證撤銷檢查錯誤:請按照「GCDS 如何檢查憑證撤銷清單」中的步驟操作。
- 其他錯誤 (例如網路錯誤):請參閱「排解 GCDS 常見問題」。
匯入伺服器憑證
您也可以透過下列步驟,為使用自行簽署憑證的 LDAP 伺服器或 HTTP Proxy 匯入憑證。
- 登入網域控制器並開啟命令提示字元。
- 如要匯出網域控制器憑證,請輸入下列指令:
certutil -store My DomainController dccert.cer
- 將 dccert.cer 檔案複製到安裝 GCDS 的伺服器。
- 以管理員身分開啟命令提示字元。
- 如要開啟 GCDS Java Runtime Environment (JRE) 安裝資料夾,請輸入下列指令:
cd "c:\Program Files\Google Cloud Directory Sync\jre"
如果您在 64 位元版本的 Windows 上執行 32 位元版本的 GCDS,請使用 cd "c:\Program Files (x86)\Google Cloud Directory Sync\jre"
- 如要匯入網域控制器的憑證,請輸入下列指令:
bin\keytool -keystore lib\security\cacerts -storepass changeit -import -file c:\dccert.cer -alias mydc
如要匯入多個憑證,請使用 mydc 以外的其他別名重複執行上述步驟。
- 輸入 Yes 即可信任該憑證。
- 關閉「設定管理員」。
- 在 GCDS 安裝目錄中,使用文字編輯器開啟 sync-cmd.vmoptions 和 config-manager.vmoptions 檔案。
- 將下列資訊分別從上述檔案中移除:
-Djavax.net.ssl.trustStoreProvider=SunMSCAPI
-Djavax.net.ssl.trustStoreType=Windows-ROOT移除上述資訊後,GCDS 就會使用儲存在 lib/security/cacerts 的憑證,而非 Windows 系統中的憑證。
- 開啟設定管理員,然後前往「LDAP 設定」頁面,並按一下「測試連線」。
- 如果系統仍然顯示憑證相關錯誤訊息,您可能必須匯入貴機構的憑證授權單位 (CA) 憑證,而不是網域控制站的憑證。如要執行此操作,請重複上述步驟,但改為匯出及匯入 CA 憑證。
Linux 適用的步驟
您也可以透過下列步驟,為使用自行簽署憑證的 LDAP 伺服器或 HTTP Proxy 匯入憑證。
- 登入網域控制器並開啟命令提示字元。
- 如要找出網域憑證,請輸入下列指令:
certutil -store My DomainController dccert.cer
- 將 dccert.cer 檔案複製到安裝 GCDS 的伺服器。
- 如要開啟 GCDS Java Runtime Environment (JRE) 安裝資料夾,請開啟命令提示字元並輸入下列指令:
cd ~/GoogleCloudDirSync/jre
- 如要匯入網域控制器的憑證,請輸入下列指令:
bin/keytool -keystore lib/security/cacerts -storepass changeit -import -file ~/dccert.cer -alias mydc
如要匯入多個憑證,請使用 mydc 以外的其他別名重複執行上述步驟。
- 輸入 Yes 即可信任該憑證。
- 關閉「設定管理員」。
- 在 GCDS 安裝目錄中,使用文字編輯器開啟 sync-cmd.vmoptions 和 config-manager.vmoptions 檔案。
安裝目錄通常是 ~/GoogleCloudDirSync。
- 將下列資訊分別從上述檔案中移除:
-Djavax.net.ssl.trustStoreProvider=SunMSCAPI
-Djavax.net.ssl.trustStoreType=Windows-ROOT移除上述資訊後,GCDS 就會使用儲存在 lib/security/cacerts 的憑證,而非 Windows 系統中的憑證。
- 開啟設定管理員,然後前往「LDAP 設定」頁面,並按一下「測試連線」。
- 如果系統仍然顯示憑證相關錯誤訊息,您可能必須匯入貴機構的憑證授權單位 (CA) 憑證,而不是網域控制站的憑證。如要執行此操作,請重複上述步驟,但改為匯出及匯入 CA 憑證。
GCDS 如何檢查憑證撤銷清單
GCDS 連線至 Google API (透過 HTTPS) 與 LDAP over SSL 時,需驗證安全資料傳輸層 (SSL) 憑證,方法是透過 HTTP 從憑證授權單位擷取憑證撤銷清單 (CRL)。有時驗證會失敗,這通常是因為 Proxy 或防火牆封鎖了 HTTP 要求。
請確認 GCDS 伺服器可透過 HTTP (通訊埠 80) 存取下列網址:
- http://crl.pki.goog
- http://crls.pki.goog
- http://c.pki.goog
如要進一步瞭解目前的 CRL,請參閱「CRL 檢查」。如果您使用自己的 LDAP over SSL 憑證,日後可能需要其他網址。
如果您不允許使用者存取 CRL,可以關閉 CRL 檢查功能:
在 GCDS 安裝目錄中,使用文字編輯器開啟
<code class="notranslate">sync-cmd.vmoptions</code>和<code class="notranslate">config-manager.vmoptions</code>檔案。安裝目錄通常是
<code class="notranslate">C:\Program Files\Google Cloud Directory Sync</code>(Windows) 或<code class="notranslate">~/GoogleCloudDirSync</code>(Linux)。在檔案中加入下列幾行內容:
-Dcom.sun.net.ssl.checkRevocation=false -Dcom.sun.security.enableCRLDP=false
改用 LDAP + SSL 後同步處理速度變慢
如果您改用了 LDAP + SSL,但同步處理速度變慢,請按照下列步驟操作:
- 關閉設定管理員。
在 GCDS 安裝目錄中,使用文字編輯器開啟
<code class="notranslate">sync-cmd.vmoptions</code>和<code class="notranslate">config-manager.vmoptions</code>檔案。安裝目錄通常是
<code class="notranslate">C:\Program Files\Google Cloud Directory Sync</code>(Windows) 或<code class="notranslate">~/GoogleCloudDirSync</code>(Linux)。編輯上述檔案,在其中新增下列資訊:
-Dcom.sun.jndi.ldap.connect.pool.protocol=plain ssl -Dcom.sun.jndi.ldap.connect.pool.authentication=none simple
儲存檔案並重新嘗試同步處理。
在 Microsoft ADV190023 更新後確認驗證作業正常
如果您使用 Microsoft Active Directory 時已開啟通道繫結和 LDAP 簽署功能,就必須採取額外步驟,確保 GCDS 透過 SSL 使用 LDAP 進行驗證,否則 GCDS 將無法連線至 Active Directory,您的同步處理作業也會失敗。即使您先前已使用標準 LDAP 驗證機制執行同步處理作業,仍須完成這些步驟;如要進一步瞭解 Microsoft 安全通報 ADV190023,請參閱 Microsoft 說明文件。
如果您已成功使用 LDAP over SSL 進行驗證,則無須採取任何步驟。
步驟 1:在 Active Directory 中啟用傳輸層安全標準 (TLS)
傳輸層安全標準 (TLS) 和安全資料傳輸層 (SSL) 這兩個詞經常是互通的。
如要在 Active Directory 中啟用傳輸層安全標準 (TLS),請參閱下列 Microsoft 文章:
步驟 2:確認使用可信任的憑證
為您的網域控制站簽署憑證的憑證授權單位 (CA) 必須受到 GCDS 信任,而 GCDS 信任大多數知名的網際網路 CA (例如 Verisign、Comodo 和 Let's Encrypt)。如果您使用的是這些 CA,即可略過這個步驟。
如果您使用的 CA 未獲得信任,或者您使用的是自己的根 CA,請按照修正憑證相關錯誤中的步驟操作。步驟 3:設定 Configuration Manager
- 開啟「設定管理員」,然後前往「LDAP Configuration」(LDAP 設定) 頁面。
- 在「連線類型」設定中,指定「LDAP + SSL」連線類型。
- 在「Port」(通訊埠) 設定中,指定「636」(如果原先使用 389) 或是「3269」(如果原先使用 3268)。
- 按一下「測試連線」。
Google、Google Workspace 和其他相關符號及標誌均為 Google LLC 的商標,所有其他公司和產品名稱則是與個別公司關聯的商標。