為 SMTP 啟用 Kerberos 驗證

[本主題的目的是要說明 Exchange Server Analyzer 工具所引出的特定問題。您只應將它套用到已執行過 Exchange Server Analyzer 工具且有遇到該特定問題的系統。Exchange Server Analyzer 工具可免費下載,它會從拓撲中的每台伺服器遠端收集組態資料,並自動分析該資料。產生的報告會詳述重要的組態問題、潛在問題及非預設的產品設定。遵循這些建議,您便能達到較佳的效能、延展性、可靠性及執行時間。如需此工具的相關資訊或是要下載最新版本,請參閱 Microsoft Exchange Analyzer (https://go.microsoft.com/fwlink/?linkid=34707)。]  

上次修改主題的時間: 2006-05-12

Microsoft® Exchange Server Analyzer 工具會查詢 Active Directory® 目錄服務,以判定安裝在 Windows™ Server 2003 叢集服務上的 Microsoft Exchange Server 2003 伺服器是否有將伺服器的完整網域名稱 (FQDN),作為 servicePrincipalName 屬性上的 SMTPSVC 資源值。

如果 Exchange Server Analyzer 發現叢集服務上之 SMTPSVC Exchange 資源的 servicePrincipalName 屬性,並未將伺服器的 FQDN 作為其值,便會顯示最佳作法訊息。

最佳作法是在執行 Exchange Server 2003 的 Windows Server 2003 叢集伺服器上,為 Simple Mail Transfer Protocol (SMTP) 服務啟用 Kerberos 驗證。您可以用手動方式為 SMTPSVC Exchange 資源設定新的服務主要名稱 (SPN) 值。

依預設,Windows Server 2003 會使用 NTLM 驗證。Kerberos 通訊協定比 NTLM 更具有彈性與效率,也更加安全。使用 Kerberos 驗證能得到的好處如下:

  • 更快的連線速度。使用 NTLM 驗證時,應用程式伺服器必須連接網域控制站才能驗證每個用戶端。使用 Kerberos 驗證時,伺服器不必尋找網域控制站。伺服器可以檢查用戶端提出的認證來驗證該用戶端。用戶端只要取得特定伺服器的認證一次,便能在整個網路登入工作階段期間重複使用這些認證。
  • 互相驗證。NTLM 可讓伺服器驗證其用戶端的身分。NTLM 不會讓用戶端驗證伺服器的身分,也不會讓某個伺服器驗證另一個伺服器的身分。NTLM 驗證的設計是針對當中的伺服器均假設為真的網路環境。Kerberos 通訊設定並不那樣假設。位於網路連線兩端的雙方可以知道位在另一端的就是它所自稱的對象。
  • 委派驗證。當 Windows 服務代表用戶端存取資源時,它們會模擬用戶端。通常,服務可以存取本機電腦上的資源,為用戶端完成其工作。NTLM 及 Kerberos 都提供了服務必須具備的資訊,以在本機模擬其用戶端。但是,有些分散式應用程式的設計,使得前端服務必須在連接另一台電腦上的後端服務時模擬用戶端。Kerberos 通訊協定具有 Proxy 機制,此機制能讓服務在連接其他服務時模擬其用戶端。NTLM 沒有相等功能可用。

若要解決此問題,請遵循下列步驟,為受影響的屬性新增遺漏的值。

使用 SETSPN.exe 工具,新增有遺漏值的 SPN。

  1. 安裝 Setspn.exe 工具。若要取得 Setspn.exe 工具,請參閱<Windows 2000 Resource Kit Tool :Setspn.exe>(https://go.microsoft.com/fwlink/?LinkId=28103)。

    Windows Server 2003 版的 Setspn.exe 命令列工具可在 Windows Server 2003 CD 所包含的 Windows Server 2003 Support Tools 中取得。若要安裝 Server 2003 Support Tools,請在 Support/Tools 資料夾中連按兩下 Suptools.msi 檔案。

  2. 請遵循 SETSPN.EXE Setspn_d.txt 檔案中的引導,將遺漏的值新增至 Exchange 伺服器的 Active Directory 物件。下列範例示範如何為虛擬 SMTP 伺服器 SPN 新增 FQDN 值:

    • 啟動命令提示字元,然後切換至 Setspn.exe 的安裝目錄。
    • 在命令提示字元下,輸入下列命令:
      **setspn.exe-a SMTPSVC/**mail.yourdomain.com YOURSERVERNAME
      note附註:
      mail.yourdomain.com 取代為 SMTP 虛擬伺服器 FQDN,並將 YOURSERVERNAME 取代為 Exchange 伺服器的名稱。
    • 然後按 Enter 鍵。