選擇輸出匿名 TLS 憑證

 

適用版本: Exchange Server 2010 SP2, Exchange Server 2010 SP3

上次修改主題的時間: 2009-12-07

本主題說明 Microsoft Exchange Server 2010 中輸出匿名傳輸層安全性 (TLS) 憑證的選取程序。輸出匿名 TLS 憑證的選取會在以下案例中發生:

  • 驗證 Edge Transport Server 和 Hub Transport Server 之間的 SMTP 工作階段

  • Hub Transport Server 之間的 SMTP 工作階段,目的在於只以公開金鑰加密

對於 Hub Transport Server 之間的通訊,會使用匿名 TLS 和憑證的公開金鑰來加密工作階段。在建立 SMTP 工作階段時,接收伺服器會初始化憑證選擇程序,以決定在 TLS 交涉時要使用的憑證。接收伺服器也會執行憑證選擇程序。如需該程序的相關資訊,請參閱輸入匿名 TLS 憑證的選擇

從 Edge Transport Server 或 Hub Transport Server 傳送

在傳送伺服器上執行輸出匿名 TLS 憑證選取的所有步驟。下圖顯示此程序的步驟。

選擇輸出匿名 TLS 憑證

選擇輸出匿名 TLS 憑證

  1. 從 Hub Transport Server 或 Edge Transport Server 建立 SMTP 工作階段時,Microsoft Exchange 會呼叫程序來載入憑證。

    注意事項附註:
    在最初載入憑證期間,Edge Transport server role 和 Hub Transport server role 的輸出憑證選擇程序並不相同。下圖顯示每一個伺服器角色的起始點。
  2. 憑證載入程序視 SMTP 工作階段是從 Hub Transport Server 或從 Edge Transport Server 初始化而定。

    在 Hub Transport Server 上     會執行下列檢查:

    1. 檢查工作階段連接的傳送連接器,查看是否有針對 ExchangeServer 設定 SmartHostAuthMechanism 內容。您可以使用 Set-SendConnector 指令程式,在傳送連接器上設定 SmartHostAuthMechanism 內容。您也可以在特定傳送連接器的 [設定智慧主機驗證設定] 頁面上,選取 [Exchange Server 驗證],將 SmartHostAuthMechanism 內容設為 ExchangeServer。若要開啟 [設定智慧主機驗證設定] 頁面,請在傳送連接器內容頁面的 [網路] 索引標籤上按一下 [變更]。

    2. 檢查郵件的 DeliveryType 內容,以判斷值是否設為 SmtpRelayWithinAdSitetoEdge。您可以使用格式清單引數 (| Format-List) 執行 Get-Queue 指令程式,以檢視 DeliveryType 內容。

      下列兩個條件必須同時滿足。如果未啟用 ExchangeServer 作為驗證機制,或 DeliveryType 內容未設為 SmtpRelayWithinAdSitetoEdge,則傳送 Hub Transport Server 不會使用匿名 TSL,並且不會載入任何憑證。如果兩個條件都滿足,則憑證選擇程序會繼續執行步驟 3。

    在 Edge Transport Server 上     會執行下列檢查:

    1. 檢查工作階段連接的傳送連接器,查看是否有針對 ExchangeServer 設定 SmartHostAuthMechanism 內容。如同本主題先前所述,您可以使用 Set-SendConnector 指令程式,在傳送連接器上設定 SmartHostAuthMechanism 內容。您也可以在特定傳送連接器的 [設定智慧主機驗證設定] 頁面上,選取 [Exchange Server 驗證],將 SmartHostAuthMechanism 內容設為 ExchangeServer。若要開啟 [設定智慧主機驗證設定] 頁面,請在傳送連接器內容頁面的 [網路] 索引標籤上按一下 [變更]。

    2. 檢查工作階段連接的傳送連接器,以判斷 SmartHost 位址空間內容是否包含 "- -"。

      下列兩個條件必須同時滿足。如果未啟用 ExchangeServer 作為驗證機制,或位址空間不含 "- -",則傳送 Edge Transport Server 不會使用匿名 TLS,並且不會載入任何憑證。如果兩個條件都滿足,則憑證選擇程序會繼續執行步驟 3。

  3. Microsoft Exchange 會查詢 Active Directory,以擷取伺服器上憑證的指紋。伺服器物件上的 msExchServerInternalTLSCert 屬性會儲存憑證指紋。

    如果無法讀取 msExchServerInternalTLSCert 屬性,或值為 null,則 Microsoft Exchange 不會在 SMTP 工作階段中通告 X-ANONYMOUSTLS,並且不會載入任何憑證。

    注意事項附註:
    在 Microsoft Exchange Transport 服務啟動期間,而非在 SMTP 工作階段期間,如果無法讀取 msExchServerInternalTLSCert 屬性,或值為 null,則會在應用程式記錄檔中記錄事件識別碼 12012。
  4. 如果找到指紋,憑證選擇程序會搜尋本機電腦憑證儲存區,找出符合指紋的憑證。如果找不到憑證,則伺服器不會通告 X-ANONYMOUSTLS,也不會載入憑證,且會在應用程式記錄檔中記錄事件識別碼 12013。

  5. 從憑證儲存區載入憑證之後,會檢查憑證是否已過期。憑證的 Valid to 欄位會與目前的日期和時間進行比較。如果憑證已過期,則會在應用程式記錄檔中記錄事件識別碼 12015。在此情況下,憑證選擇程序不會失敗,仍會繼續進行其餘檢查。

  6. 檢查憑證是否為本機電腦憑證儲存區中的最近一個憑證。進行此項檢查時,會建置潛在憑證網域的網域清單。網域清單的依據是下列電腦組態:

    • 網域全名 (FQDN),例如 mail.contoso.com

    • 主機名稱,例如 EdgeServer01

    • 實體 FQDN,例如 EdgeServer01.contoso.com

    • 實體主機名稱,例如 EdgeServer01

      注意事項附註:
      如果伺服器正在執行 Microsoft Windows 負載平衡,則會檢查以下登錄機碼,而不是 DnsFullyQualifiedDomainName 設定:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID}\ClusterName
  7. 在建置網域清單之後,憑證選擇程序會執行搜尋,以在憑證儲存區中找出具有相符 FQDN 的所有憑證。憑證選取程序會以清單的形式列出所有合格的憑證。合格的憑證必須符合下列準則:

    • 憑證是 X.509 第 3 版或更新版本的憑證。

    • 憑證具備關聯的私密金鑰。

    • 「主旨」或「主旨替代名稱」欄位包含在步驟 6 中擷取的 FQDN。

    • 已針對安全通訊端層 (SSL)/TLS 用途啟用憑證。尤其,已使用 Enable-ExchangeCertificate 指令程式,對此憑證啟用 SMTP 服務。

  8. 從合格憑證中,根據下列順序選擇最佳憑證:

    1. 依最近的 Valid from 日期排序合格憑證。Valid from 是憑證上的第 1 版欄位。

    2. 使用此清單中找到的第一個有效的公開金鑰基礎結構 (PKI) 憑證。

    3. 如果找不到有效的 PKI 憑證,則會使用第一個自行簽署憑證。

  9. 決定最佳憑證之後,接著會進行另一項檢查,以判斷其指紋是否符合 msExchServerInternalTLSCert 屬性中儲存的憑證。如果憑證相符,則會針對 X-ANONYMOUSTLS 使用此憑證。如果不相符,則會在應用程式記錄檔中記錄事件識別碼 1037。但這不會導致 X-ANONYMOUSTLS 失敗。

 © 2010 Microsoft Corporation. 著作權所有,並保留一切權利。