Exchange Server 2010 更換GCA憑證或第三方憑證後,Outlook 用戶端發生安全性憑證問題
症狀
AD網域內 Outlook 用戶端連線時出現安全性警訊,顯示安全性憑證有問題。發生原因
因申請網站SSL憑證時該認證機關只能以單一域名提出申請,無法依 Microsoft 網站建議將所有 Exchange Server 提供的內外部服務網址及所有相關的網域加入憑證網域別名中。導致公司內外部使用不同網址時,網域內 Outlook 用戶端連線到 Exchange Server 2010 時會發生憑證信任問題。解決方式
將 Exchange Server 2010 內部服務網址修改為跟申請憑證時的網址一致即可。一、在內部DNS新增一筆與申請憑證時相同的 A Record 給內部的 Exchange Server。
二、修改 Exchange Server 各項服務內部網址為與申請憑證時相同的網址。
查詢 Autodiscover 的服務網址: Get-ClientAccessServer |fl
其中出現的 AutoDiscoverServiceInternalUri 跟 Identity 分別是 Autodiscover 服務網址跟CAS主機名稱。
查詢 EWS 的服務網址: Get-WebServicesVirtualDirectory
其中出現的 InternalUrl 就是 EWS 服務的網址。
查詢 OAB 的服務網址: Get-OABVirtualDirectory
其中出現的 InternalUrl 就是 OAB 服務的網址。
接下來我們要使用上面得到的資訊利用 Exchange Management Shell 進行修改,環境說明如下:
- New_Server_FQDN: 已申請憑證的網址
- CAS_Server_Name: CAS主機名稱
1. 修改Autodiscover 的服務網址
Set-ClientAccessServer -Identity CAS_Server_Name -AutodiscoverServiceInternalUri https://New_Server_FQDN/autodiscover/autodiscover.xml
2. 修改 EWS 的服務網址
Set-WebServicesVirtualDirectory -Identity "CAS_Server_Name\EWS (Default Web Site)" -InternalUrl https://New_Server_FQDN/ews/exchange.asmx
3. 修改 OAB 的服務網址
Set-OABVirtualDirectory -Identity "CAS_Server_Name\oab (Default Web Site)" -InternalUrl https://New_Server_FQDN/oab
三、重啟 Autodiscover 應用程式
開啟 IIS 管理員,按伺服器前+號展開並進入應用程式集區,在 MSExchangeAutodiscoverAppPool 上按回收。
此時用戶端 Outlook 重開後就不會再跳出安全性警訊了。
心得與觀察
1. 選擇憑證機關時最好選擇可發 Windows 型憑證的,這樣可以直接帶入內外部服務網址及其他的憑證網域,可以省去後續的麻煩。2. 使用 Outlook 2007 以上加入AD網域的用戶端才會出現此問題,未加入AD網域的用戶端及使用 Outlook 2003 的用戶端不受影響。
後記:
透過技術論壇得到加入網域的電腦會使用不同的 protocol ,所以 Outlook 連線可能會走rpc over http 的協定, 加了 AD 之後, 會改走 MAPI 協定, 這兩者路徑不同, 所核對的 FQDN 名稱也不同。最近我又找到另一篇文章,裡面談到加入網域的 Outlook 用戶端會使用 NTLM 或 Keberos 做驗證,而未加入網域的則是用SSL加密。或許是SPN中的主機FQDN跟獲得的SSL憑證內主機不相符所致,但這只是猜測而已。
參考資料
1. Outlook 2007 security warning: "The name of the security certificate is invalid or does not match the name of the site"2. Recommendation: Enabling Kerberos Authentication for MAPI Clients
留言