如何設定網域安全性的相互 TLS

 

適用版本: Exchange Server 2007 SP3, Exchange Server 2007 SP2, Exchange Server 2007 SP1, Exchange Server 2007

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

本主題說明如何使用 Exchange 管理命令介面設定網域安全性的相互傳輸層安全性 (TLS),這是 Microsoft Exchange Server 2007 和 Microsoft Office Outlook 2007 中的功能集,相較於 S/MIME 及其他郵件層安全性解決方案,提供相當低成本的替代方案。

為了舉例說明,本主題說明虛構公司 Contoso 的 Exchange 系統管理員如何設定 Exchange 2007 環境,以便和合作夥伴 Woodgrove Bank 交換安全網域電子郵件。在這個例子中,Contoso 想要確定傳送到和接收自 Woodgrove Bank 的所有電子郵件都以相互 TLS 進行保護。此外,Contoso 也想要設定網域安全性功能,在無法使用相互 TLS 的情況下,拒絕往返 Woodgrove Bank 的所有郵件。

Contoso 具有可產生憑證的內部公開金鑰基礎結構 (PKI)。PKI 的根憑證已由主要協力廠商憑證授權單位 (CA) 簽署。Woodgrove Bank 使用相同的協力廠商 CA 來產生憑證。因此,Contoso 和 Woodgrove Bank 彼此信任對方的根 CA。

為了設定相互 TLS,Contoso 的 Exchange 系統管理員執行下列程序:

  1. 產生 TLS 憑證的憑證要求。

  2. 將憑證匯入 Edge Transport Server。

  3. 設定輸出網域安全性。

  4. 設定輸入網域安全性。

  5. 測試郵件流程。

開始之前

相互 TLS 的組態需要下列項目:

  • 使用 Set-TransportConfig 指令程式和 New-SendConnector 指令程式 (如果尚未設定傳送連接器) 存取內部 Exchange 2007 伺服器。

  • 存取執行 ExchangeCertificate 指令程式的 Edge Transport Server 電腦。

一般來說,在網域安全功能中不是以 ExchangeCertificate 指令程式所進行的組態變更,應該在組織內變更,並以 Microsoft Exchange EdgeSync 服務對 Edge Transport Server 進行同步處理。

使用 ExchangeCertificate 指令程式來匯入和設定 TLS 憑證時,必須在您設定的 Edge Transport Server 上執行此指令程式。若要在已安裝 Edge Transport server role 的電腦上執行 ExchangeCertificate 指令程式,則必須使用該電腦之本機 Administrators 群組成員的帳戶進行登入。

若要執行 Set-TransportConfig 指令程式,您使用的帳戶必須已委派 Exchange 組織系統管理員角色。

若要執行 New-SendConnector 指令程式,您使用的帳戶必須已委派 Exchange Server 系統管理員角色和該電腦上的本機 Administrators 群組。

如需管理 Exchange 2007 所需之權限、委派角色及權利的相關資訊,請參閱權限考量

本主題假設您已閱讀且了解建立 TLS 的憑證或憑證要求

網域安全性要求完整部署 Microsoft Exchange EdgeSync 服務。

您必須設定電腦和 PKI 環境,讓憑證驗證和憑證撤銷清單檢查正常運作,才能在 Edge Transport Server 上順利執行相互 TLS。如需相關資訊,請參閱如何針對網域安全性啟用 Edge Transport Server 的 PKI

產生 TLS 憑證的憑證要求

本主題稍早提過,Contoso 具有附屬於協力廠商 CA 的內部 PKI。在這個例子中,從屬關係是因為 Contoso 在公司基礎結構中部署的 CA,包含公開協力廠商 CA 已簽署的根憑證。公開協力廠商 CA 預設是 Microsoft Windows 憑證儲存區的其中一個信任的根憑證。因此,在信任的根儲存區含有相同協力廠商 CA 且連接到 Contoso 的任何用戶端,皆可驗證 Contoso 出示的憑證。

Contoso 有兩個 Edge Transport Server 需要 TLS 憑證:mail1.contoso.com 和 mail2.mail.contoso.com。因此,Contoso 電子郵件系統管理員必須產生兩個憑證要求,每個伺服器各一個憑證要求。

下列程序顯示系統管理員用來產生 base64 編碼 PKCS#10 憑證要求的命令。Contoso 系統管理員必須執行此命令兩次:一次是為 CN=mail1.contoso.com,另一次是為 CN=mail2.mail.contoso.com。

note附註:
所產生憑證的主體名稱中,一般名稱 (CN) 分別是 mail1.contoso.com 和 mail2.mail.contoso.com。主體替代名稱包含 "mail.contoso.com",這是 Contoso 設定的其中一個公認網域的網域全名 (FQDN)。

建立 TLS 憑證要求

  • 執行下列命令:

    New-ExchangeCertificate -GenerateRequest -FriendlyName "Internet certificate" -Path c:\certificates\request.p7c -SubjectName "DC=com,DC=Contoso,CN=mail1.contoso.com"  -DomainName mail.contoso.com
    

如需詳細語法及參數的資訊,請參閱 New-ExchangeCertificate

important重要事項:
您所建立的憑證或憑證要求的特定詳細資料,取決於許多變數。如果您是產生要求,請確定與要發給您憑證的 CA 或 PKI 系統管理員密切合作。如需如何建立 TLS 的憑證要求的相關資訊,請參閱建立 TLS 的憑證或憑證要求

傳輸憑證及相關金鑰

當您從 PKI 或 CA 提供者收到憑證時,請將所發出的憑證轉換為 PFX (PKCS#12) 檔案,以便您可以將它備份為嚴重損壞應變的一部分。PFX 檔案包含憑證及相關金鑰。在某些情況下,您可能想要傳輸憑證及金鑰,以便將它們移至其他電腦。例如,如果您有多部 Edge Transport Server,預期它們傳送與接收安全網域的電子郵件,您就可以建立針對所有伺服器運作的單一憑證。在此情況下,必須對每一部 Edge Transport Server 上的 TLS 匯入憑證,並啟用憑證。

只要您保有一份安全封存的 PFX 檔案複本,就可以永遠匯入並啟用憑證。PFX 檔案包含私密金鑰,所以您必須實際保護該檔案,可以將檔案保存在儲存媒體並放在安全位置。

您必須瞭解 Import-ExchangeCertificate 指令程式永遠都會將從 PFX 匯入的私密金鑰標示為不可匯出。這是經過設計的功能。

使用 Microsoft Management Console (MMC) 中的憑證管理員嵌入式管理單元,匯入 PFX 檔案時,您可以指定私密金鑰匯出功能及強式金鑰保護。

important重要事項:
不要在針對 TLS 使用的憑證上啟用強式金鑰保護。每次存取私密金鑰,強式金鑰保護就會提示使用者。在網域安全性中,「使用者」是 Edge Transport Server 上的 SMTP 服務。

將憑證匯入 Edge Transport Server

系統管理員在產生憑證要求之後,接著會使用要求來產生伺服器的憑證。產生的憑證必須以單一憑證或憑證鏈結的方式發行,並複製到適當的 Edge Transport Server。

important重要事項:
若要匯入憑證信箱,您必須使用 Import-ExchangeCertificate 指令程式。如需相關資訊,請參閱Import-ExchangeCertificate
important重要事項:
不要使用 MMC 中的憑證管理員嵌入式管理單元,在 Exchange 伺服器上匯入 TLS 的憑證。在 Exchange 伺服器上使用憑證管理員嵌入式管理單元匯入憑證,不會將此程序中建立的要求繫結到發出的憑證。因此,TLS 可能失敗。您可以使用憑證管理員嵌入式管理單元,將儲存為 PFX 檔案的憑證及金鑰匯入本機電腦儲存區。在匯入憑證之後,您可以執行 Enable-ExchangeCertificate 指令程式,來啟用 TLS 的憑證。

將憑證匯入 Edge Transport Server 時,您也必須啟用簡易郵件傳送通訊協定 (SMTP) 服務的憑證。Contoso 系統管理員在每個 Edge Transport Server 上執行下列命令,對每個憑證各執行一次。

在 Edge Transport Server 上匯入和啟用網域安全性的 TLS 憑證

  • 執行下列命令:

    Import-ExchangeCertificate -Path c:\certificates\import.pfx | Enable-ExchangeCertificate -Services SMTP
    

此命令以管線傳輸 Enable-ExchangeCertificate 指令程式來匯入和啟用 TLS 憑證。

您也可以在匯入憑證之後再啟用憑證。若要匯入憑證,請執行下列命令:

Import-ExchangeCertificate -Path c:\certificates\import.pfx 

然後,將指紋複製至 Windows 剪貼簿。若要顯示您剛匯入的憑證的指紋,請執行下列命令:

Get-ExchangeCertificate |FL

將 [指紋] 欄位中的資料複製至 Windows 剪貼簿。

最後,若要啟用憑證,請執行下列命令:

Enable-ExchangeCertificate -Thumbprint AB493A0C9A6C0327162FE04EF74609CB8FB7FE24 -Services SMTP

設定輸出網域安全性

您必須執行三個步驟以設定輸出網域安全性:

  1. 執行 Set-TransportConfig 指令程式,以指定您要傳送安全網域電子郵件的網域。

  2. 執行 Set-SendConnector 指令程式以設定傳送連接器的 DomainSecureEnabled 內容,此連接器會將郵件傳送至您要傳送安全網域電子郵件的網域。

  3. 執行 Set-SendConnector 指令程式以驗證下列各項:

    • 傳送連接器 (將郵件傳送至您要傳送安全網域電子郵件的網域) 使用網域名稱系統 (DNS) 來傳送郵件。

    • FQDN 是否設定成符合為網域安全性使用支憑證的主體名稱或主體替代名稱。

因為在這三個步驟中的變更具有整體效果,您必須在內部 Exchange 伺服器上進行變更。您所進行的組態變更將透過 Microsoft Exchange EdgeSync 服務複寫到 Edge Transport Server。

在傳輸組態中指定寄件者網域

指定您要傳送安全網域電子郵件的網域相當簡單。Contoso 系統管理員在內部 Exchange 2007 伺服器上執行下列命令:

Set-TransportConfig -TLSSendDomainSecureList woodgrovebank.com

如需相關資訊,請參閱 Set-TransportConfig

note附註:
TLSSendDomainSecureList 參數需要多重值網域名稱清單。Set-TransportConfig 命令將 TLSSendDomainSecureList 的整個值取代為在指令程式中提供的新值。因此,如果您要加入新的網域,您提供的值必須包含現有的清單和新的網域。

設定傳送連接器

Contoso 將使用預設的 DNS 路由傳送連接器,將安全網域電子郵件傳送給合作夥伴。因為預設的 DNS 路由傳送連接器就是預設的網際網路傳送連接器,所以使用 DNS 來傳送郵件,不使用智慧主機。FQDN 已設定為 mail.contoso.com。因為 Contoso 系統管理員建立的憑證將 New-ExchangeCertificateDomainName 參數設定為 mail.contoso.com,傳送連接器不必其他組態就可使用憑證。

如果已設定子網域進行測試,您可能必須更新傳送連接器的 FQDN,以符合您已建立的憑證 (例如,subdomain.mail.contoso.com)。另一方面,如果已在 [主旨名稱] 或 [主旨替代名稱] 欄位建立包含子網域的憑證,您就不用更新傳送連接器的 FQDN。

因此,Contoso 系統管理員在傳送連接器中唯一要設定的組態為 DomainSecureEnabled 參數。若要這樣進行,Contoso 系統管理員必須在內部 Exchange 2007 伺服器上對「網際網路」傳送連接器執行下列命令:

Set-SendConnector Internet -DomainSecureEnabled:$True

如需相關資訊,請參閱 Set-SendConnector

您也可以使用 Exchange 管理主控台在傳送連接器上啟用安全網域電子郵件。

使用 Exchange 管理主控台來設定網域安全性的傳送連接器

  1. 在 Hub Transport Server 上,開啟 Exchange 管理主控台,按一下 [組織組態],然後按一下 [集線傳輸],然後在結果窗格中按一下 [傳送連接器] 索引標籤。

  2. 選取傳送連接器 (將郵件傳送至您要傳送安全網域電子郵件的網域),然後在執行窗格中按一下 [內容]。

  3. 在 [網路] 索引標籤上,選取 [啟用網域安全性 (相互驗證 TLS)],按一下 [套用],然後按一下 [確定]。

設定輸入網域安全性

您必須執行兩個步驟來啟用輸入網域安全性:

  1. 執行 Set-TransportConfig 指令程式,以指定您要接收安全網域電子郵件的網域。

  2. 在 Edge Transport Server 上,使用 Exchange 管理命令介面或 Exchange 管理主控台,在您要接收安全網域電子郵件的接收連接器上啟用網域安全性。因為網域安全性需要相互 TLS 驗證,所以接收連接器上也必須啟用 TLS。

在傳輸組態中指定收件者網域

指定您要接收安全網域電子郵件的網域相當簡單。若要指定網域,Contoso 系統管理員必須在內部 Exchange 2007 伺服器上執行下列命令:

Set-TransportConfig -TLSReceiveDomainSecureList woodgrovebank.com

如需相關資訊,請參閱 Set-TransportConfig

note附註:
TLSReceiveDomainSecureList 參數需要多重值網域名稱清單。Set-TransportConfig 命令將 TLSReceiveDomainSecureList 的整個值取代為 Set-TransportConfig 指令程式所提供的新值。因此,如果您要加入新的網域,您提供的值必須包含現有的清單和新的網域。

設定接收連接器

您必須在每個 Edge Transport Server 上 (從您接收網域安全電子郵件的網域接收郵件) 設定接收連接器。Contoso 環境設定為在兩個 Edge Transport Server 上各有一個網際網路接收連接器 (使用 Inet 識別碼)。因此,在郵件傳送到或接收自 Woodgrove Bank 的情況下,若要啟用 TLS,Contoso 系統管理員在兩個 Edge Transport Server 上必須確定預設的網際網路接收連接器都啟用 TLS。

使用 Exchange 管理命令介面設定網域安全性的接收連接器

  • 在 Edge Transport Server 上,請執行下列命令:

    Set-ReceiveConnector Inet -DomainSecureEnabled:$True -AuthMechanism TLS
    

如需詳細語法及參數的資訊,請參閱 Set-ReceiveConnector

使用 Exchange 管理主控台設定網域安全性的接收連接器

  1. 在 Edge Transport Server 上,開啟 Exchange 管理主控台,按一下 [邊際傳輸],然後在結果窗格中按一下 [接收連接器] 索引標籤。

  2. 選取接收連接器 (從您接收安全網域電子郵件的網域接收郵件),然後在執行窗格中按一下 [內容]。

  3. 在 [驗證] 索引標籤上,選取 [傳輸層安全性 (TLS)] 和 [啟用網域安全性 (相互驗證 TLS)],然後按一下 [確定]。

請注意,驗證機制指定為 TLS 不會在所有輸入連線上強制執行 TLS。

來自 Woodgrove Bank 的連線上將強制執行 TLS,原因如下:

  • Set-TransportConfig 指令程式的 TLSReceiveDomainSecureList 參數上指定 Woodgrove Bank。

  • 在接收連接器上,DomainSecureEnabled 參數設定為 $True

Set-TransportConfig 指令程式的 TLSReceiveDomainSecureList 參數上未列出的其他寄件者,只有在傳送系統支援 TLS 時才會使用 TLS。

note附註:
在接收連接器上啟用網域安全性的副作用在於 TLS 交涉期間會要求用戶端憑證。如果用戶端傳送的網域不在安全網域清單中,用戶端將不必提交憑證。

測試安全網域郵件流程

設定安全網域電子郵件之後,您可以檢閱效能記錄和通訊協定記錄來測試連線。在 Outlook 2007 中,安全網域電子郵件流程路徑上成功驗證的郵件會顯示為「網域安全」訊息。

效能計數器

網域安全性功能在 [MSExchange Secure Mail Transport] 之下有下列效能計數器集:

  • 已接收安全網域的郵件

  • 已傳送安全網域的郵件

  • 安全網域輸出工作階段失敗

您可以使用這些效能計數器來建立安全網域郵件流程的新計數器記錄檔,以監視傳送和接收的郵件數目,以及監視失敗的相互 TLS 工作階段。如需如何建立和設定計數器記錄的相關資訊,請參閱 [效能記錄及警示] MMC 嵌入式管理單元包含的說明檔。

通訊協定記錄

您可以檢閱傳送和接收通訊協定記錄,以判斷 TLS 交涉是否成功。成功的 TLS 交涉會產生類似下列範例的記錄。

若要檢視詳細的通訊協定記錄,您必須在連接器上將通訊協定記錄等級設為 Verbose,您的組織會使用這些連接器,來傳送及接收安全的網域的電子郵件。

使用 Exchange 管理命令介面設定詳細通訊協定記錄的接收連接器

  • 在 Edge Transport Server 上,請執行下列命令:

    Set-ReceiveConnector Inet -ProtocolLoggingLevel Verbose
    

    其中 Inet 是啟用安全網域之電子郵件的接收連接器名稱。

使用 Exchange 管理命令介面設定詳細通訊協定記錄的傳送連接器

  • 在 Edge Transport Server 上,請執行下列命令:

    Set-SendConnector Internet -ProtocolLoggingLevel Verbose
    

    其中 Internet 是啟用安全網域之電子郵件的傳送連接器名稱。

傳送記錄的範例

<220 edgedns3 ESMTP Microsoft ESMTP MAIL Service, Version: 8.0.647.0; Tue, 29 Aug 2006 04:22:00 -0700 (PDT)
>EHLO edgea36.dns.contoso.com
<250-edgedns3 Hello woodgrove.com [192.168.0.2], pleased to meet you
<250-ENHANCEDSTATUSCODES
<250-PIPELINING
<250-EXPN
<250-VERB
<250-8BITMIME
<250-SIZE
<250-DSN
<250-ETRN
<250-STARTTLS
<250-DELIVERBY
<250 HELP
>STARTTLS
<220 2.0.0 Ready to start TLS
*Sending certificate
*CN=edgea36, Certificate subject
*CN=edgea36, Certificate issuer name
*CA2EDF2487C6F09B4E413FD3812A7F89, Certificate serial number
*E8DA062786FD097DD8D79FF10C583CC23AD64F6C, Certificate thumbprint
*edgea36;edgea36.dns.contoso.com, Certificate alternate names
*Received certificate
*CN=smi.extest.contoso.com, OU=Contoso, O=Corp, L=Spokane, S=WA, C=US, Certificate subject
*CN=ExCertDom EntSub Issuing CA v1.0, DC=ExCertDom, DC=ExTest, DC=Contoso, DC=Com, Certificate issuer name
*446DD186000A00002819, Certificate serial number
*DC27B5F8657F84B15B5004BE63CE482721871582, Certificate thumbprint
*smi.extest.contoso.com, Certificate alternate names
>EHLO edgea36.dns.contoso.com
<250-edgedns3 Hello woodgrove.com [192.168.0.2], pleased to meet you
<250-ENHANCEDSTATUSCODES
<250-PIPELINING
<250-EXPN
<250-VERB
<250-8BITMIME
<250-SIZE
<250-DSN
<250-ETRN
<250-DELIVERBY
<250 HELP
*08C895F533E837EC;2006-08-28T22:37:53.323Z;1, sending message
>MAIL FROM:<user@example.com> SIZE=614
>RCPT TO:<root@smi.extest.contoso.com>
<250 2.1.0 <user@example.com>... Sender ok
<250 2.1.5 <root@smi.extest.contoso.com>... Recipient ok
>DATA
<354 Enter mail, end with "." on a line by itself
<250 2.0.0 k7TBM0BZ000043 Message accepted for delivery
>QUIT
<221 2.0.0 edgedns3 closing connection

接收記錄的範例

>220 edgea36 Microsoft ESMTP MAIL Service, Version: 8.0.647.0 ready at Mon, 28 Aug 2006 15:37:53 -0700
<EHLO edgedns3
>250-edgea36.dns.contoso.com Hello [192.168.0.1]
>250-SIZE 15728640
>250-PIPELINING
>250-DSN
>250-ENHANCEDSTATUSCODES
>250-STARTTLS
>250-AUTH
>250-8BITMIME
>250-BINARYMIME
>250 CHUNKING
<STARTTLS
>220 2.0.0 SMTP server ready
*Sending certificate
*CN=edgea36, Certificate subject
*CN=edgea36, Certificate issuer name
*CA2EDF2487C6F09B4E413FD3812A7F89, Certificate serial number
*E8DA062786FD097DD8D79FF10C583CC23AD64F6C, Certificate thumbprint
*edgea36;edgea36.dns.contoso.com, Certificate alternate names
*Received certificate
*CN=smi.extest.contoso.com, OU=Contoso, O=Corp, L=Spokane, S=WA, C=US, Certificate subject
*CN=ExCertDom EntSub Issuing CA v1.0, DC=ExCertDom, DC=ExTest, DC=Contoso, DC=Com, Certificate issuer name
*446DD186000A00002819, Certificate serial number
*DC27B5F8657F84B15B5004BE63CE482721871582, Certificate thumbprint
*smi.extest.contoso.com, Certificate alternate names
<EHLO edgedns3
>250-edgea36.dns.contoso.com Hello [192.168.0.1]
>250-SIZE 15728640
>250-PIPELINING
>250-DSN
>250-ENHANCEDSTATUSCODES
>250-AUTH
>250-8BITMIME
>250-BINARYMIME
>250 CHUNKING
<MAIL From:<user@smi.extest.contoso.com> SIZE=16
*08C895F533E837EC;2006-08-28T22:37:53.323Z;1, receiving message
>250 2.1.0 user@smi.extest.contoso.com Sender OK
<RCPT To:<user@woodgrove.com>
>250 2.1.5 user@woodgrove.com Recipient OK
<DATA
>354 Start mail input; end with <CRLF>.<CRLF>
>250 2.6.0 <200608281121.k7SBHYi0004586@edgedns3> Queued mail for delivery
<QUIT
>221 2.0.0 Service closing transmission channel

如需如何檢視通訊協定記錄的相關資訊,請參閱如何設定通訊協定記錄

如需如何在 Exchange 2007 中管理網域安全性的相關資訊,請參閱管理網域安全性

如需如何設定公開金鑰基礎結構的詳細資訊,請參閱實作 Microsoft Windows Server 2003 公開金鑰基礎結構的最佳作法 (英文)。