Office Communicator 登入和探索

上次修改主題的時間: 2009-04-02

Office Communicator 必須根據使用者的 URI (如 jeremy@contoso.com) 和用戶端中所設定的手動設定,來判斷應登入哪個伺服器。如果有提供手動設定,就很清楚要使用哪個伺服器。但是,如果只有提供 URI,就必須進行某種探索作業。

Communicator 探索作業會依設定而有所不同。用戶端在探索要連線至哪個伺服器後,會嘗試使用 TCP 或 TLS over TCP 來進行連線。如果使用 TLS,伺服器會提供憑證讓用戶端驗證。用戶端必須先驗證憑證後,才能繼續作業。用戶端可能會交涉壓縮 (如果使用 TLS over TCP 的話),然後開始 SIP 註冊作業。

接下來,用戶端會傳送 SIP REGISTER 訊息給伺服器,但不提供任何認證。此舉會促使 Office Communications Server 要求 Communicator 用戶端提供使用者認證,並表明它所接受的驗證通訊協定。

Communicator 提供兩種認證的方法。它可以提供使用者登入系統時使用的 Windows 認證,或是提示使用者輸入認證。

Dd637152.note(zh-tw,office.13).gif附註:
您也可以使用 Windows 中的認證管理員來管理認證。如需認證管理員的詳細資訊,請參閱 Microsoft TechNet 文件<Windows XP Resource Kit:了解登入和驗證>中的<儲存的使用者名稱和密碼>一節 (英文),網址為 https://go.microsoft.com/fwlink/?Linkid=133674

在登入作業第一階段驗證即可能就失敗。當電腦並未儲存認證或是桌面認證和 Communicator 使用的帳戶不相符時,驗證就會失敗。而當使用者輸入不正確的 SIP URI、帳戶名稱或密碼,或認證和 SIP URI 不相符時,驗證也會失敗。舉例來說,Jeremy 嘗試使用 URI sip:jeremy@contoso.com 來登入,但他使用的是 CONTOSO\vadim 的使用者帳戶和密碼,而不是帳戶擁有人本身的認證 CONTOSO\jeremy。

了解用戶端自動設定和 DNS 探索

如果組織規劃要使用自動設定,在部署伺服器時就必須建立內部 DNS SRV 記錄,其會將下列其中一項記錄,對應至處理用戶端登入要求之 Enterprise Pool 或 Standard Edition 伺服器的完整網域名稱 (FQDN):

  • _sipinternaltls._tcp.<網域> (用於內部 TLS 連線)
  • _sipinternal._tcp. <網域> (用於內部 TCP 連線,僅限允許使用 TCP 時執行)

當用戶端設定是要使用自動設定,它會採用使用者提供的 SIP URI 來探索應登入的伺服器。Communicator 會使用已發行的 DNS SRV 記錄加上 SIP URI 網域來進行探索。

例如,如果使用者輸入 URI sip:jeremy@contoso.com,Communicator 會使用 contoso.com 探索使用 DNS 的 SIP 伺服器。Communicator 在搜尋適當伺服器時會查詢下列 SRV 記錄:

  • _sipinternaltls._tcp.contoso.com
  • _sipinternal._tcp.contoso.com
  • _sip._tls.contoso.com

如果沒有這些記錄,Communicator 會查詢主機 (A) 記錄:

  • sipinternal.contoso.com
  • sipexternal.contoso.com

第一個查詢會尋找 contoso.com 網域中會提供 TLS over TCP 連接埠給用戶端的內部伺服器。第二個查詢會尋找 contoso.com 網域中會提供 TCP 連接埠給用戶端的內部伺服器。最後,第三個查詢會尋找 contoso.com 網域中會提供 TLS over TCP 連接埠給用戶端的網際網路伺服器。Communicator 絕對不會尋找支援 TCP 的網際網路伺服器,因為在網際網路中使用純文字的 SIP 並不符合安全性考量。換句話說,Communicator 不會知道其所使用的是內部網路或是外部網路。Communicator 會查詢所有 DNS SRV 記錄。不過,它會先查詢 TLS over TCP 連線。Edge Server 強制使用 TLS over TCP 連線 (不允許使用不安全的 TCP 連線)。

最後,如果所有 DNS SRV 記錄都不存在 (不是無效,是指完全不存在),用戶端會回到 sipinternal.<URI 網域>,並嘗試解析該主機名稱。如果主機名稱解析為 IP 位址,Communicator 會根據原則的規定,使用 TLS over TCP、TCP 或同時使用兩者來連線。如果此項作業失敗,Communicator 會嘗試連線 sipexternal.<URI 網域> 一次後便結束作業。

您可設定 Communicator 原則以防止使用 TCP,如此即不會進行第二個查詢。您也可指定 EnableStrictDNSNaming 原則,此原則要求所探索之電腦的嚴格名稱。在此情況下,只有在伺服器名稱符合使用者 SIP URI 的網域部分,或 FQDN 為 sip.<URI 網域> 時,才允許 Communicator 連線至伺服器。如果未啟用此原則,則允許任何格式為 <伺服器名稱>.<URI 網域> 的伺服器名稱。例如,若為 sip:jeremy@contoso.com,則永遠允許主機 sip.contoso.com (無論是否啟用嚴格原則)。如果未啟用規定嚴格名稱的原則,則也允許使用 Server77.contoso.com、sipfed.contoso.com 和 ap.contoso.com。下列伺服器名稱絕對不允許使用,因為不確實符合指定的使用者 URI。因此用戶端不會信任這些伺服器為有效的登入點:sip.eng.contoso.com、sip.contoso.net、sip.com、sip.contoso.com.cpandl.com 等等。

特別是因為 SIP URI 為用戶端唯一會收到的設定,所以必須在主機名稱和 URI 間進行嚴格的驗證。因此用戶端必須非常小心,不能接受 DNS 方面的攔截式攻擊而連線至此攻擊所提供的伺服器,進而讓攻擊者可監看 Communicator 的流量。因為 URI 和主機名稱必須緊密連結才允許登入,Communicator 就能更加確定使用者正在驗證的憑證具有所要登入之網域的授權。

在識別出主機名稱後,Communicator 也會將主機名稱解析為 IP 位址。這通常是 DNS SRT 要求後發生的結果,但是除非已解析出 IP 位址,否則 Communicator 無法進行連線。這在登入期間也會是一個問題。

最新版的 Communicator 可讓使用者以手動方式,同時指定要登入的內部和外部伺服器。Communicator 一定會先嘗試連線至內部伺服器 (如果有的話),然後回到外部伺服器。Communicator 過去僅提供單一手動輸入位置,對行動工作者而言相當不便。有了內部和外部伺服器指定功能,系統管理員即可輕鬆設定和啟用膝上型電腦的設定,使其能使用內部和外部網路。當企業使用者的 URI 網域和其 SIP 企業伺服器的網域不同時,這個新增的功能對該企業也很重要。因為系統管理員只要設定一次 Communicator (例如膝上型電腦),使用者就不需要記住內部或外部伺服器,而且系統管理員不需要針對所有要讓遠端存取使用者連線的網域,發行相關 DNS SRV 記錄。

Office Communicator 用戶端讓使用者不需輸入伺服器名稱,即自動連線至適當的 Office Communications Server。不論用戶端是位在內部網路或外部網路,此功能會將用戶端重新導向,讓它驗證並連線至所屬的 Office Communications Server (若為 Standard Edition) 或主集區 (若為 Enterprise Edition)。此功能有顯著的 DNS 相依性。若要運作順利,必須在內部和外部網路發行適當的 SRV 記錄。

當使用者首次啟動 Office Communicator 用戶端並嘗試連線時,Office Communicator 一定會嘗試連線至與其相同網域的伺服器或主集區,或使用登入位址中的 SIP URI 來連線。例如,如果所使用的登入名稱為 kim.akers@fabrikam.com,Office Communicator 會尋找相同 DNS 命名空間中的主集區或 Office Communications Server,在此就是 fabrikam.com。使用 DNS SRV 記錄可讓此程序變得更簡單,它最終會向用戶端指出正確網域中的主集區或伺服器的 FQDN。不論用戶端是位在內部網路或外部網路,此程序的運作方式都相同。

用戶端會開始查詢 SRV 記錄,它依預設一定會使用 TLS 來進行驗證。如果 TLS 失敗,這時 (也只有這時) 就會恢復使用傳輸控制通訊協定 (TCP)。

  • _sipinternaltls._tcp.fabrikam.com
  • _sipinternal._tcp.fabrikam.com

這前面兩個 DNS 記錄的其中之一應會發行並放在內部 DNS 命名空間中。如此,如果在這之前用戶端取回主機名稱,就能直接連線至主集區或 Office Communications Server。否則,用戶端會繼續其查詢程序,並知道目前不是位在內部網路。

  • _sip._tls.fabrikam.com
  • _sip._tcp.fabrikam.com

如果其中一個查詢成功,用戶端會重新導向至 Access Edge Server 的外部邊緣,接著導向至內部主集區或 Office Communications Server。不過,如果仍失敗,用戶端最後會嘗試直接查詢主機記錄,如下列兩個例子所示。如果這項要進行自動設定的嘗試失敗,Office Communicator 會失敗並要求手動設定。

  • sip.fabrikam.com
  • sipinternal.fabrikam.com