通訊

Microsoft 內部的 Exchange Edge Transport Server:第二篇

Kay Unkroth

 

摘要:

  • 使用 Edge Transport 記錄與追蹤
  • 使用指令碼進行反垃圾郵件設定
  • 測試典型垃圾郵件案例

下載本文程式碼: Edge2007_11.exe (161KB)

網際網路上的垃圾郵件和其他惡意資料氾濫,要怎麼確保為組織中的使用者提供安全可靠的傳訊服務?正如上個月我在本專欄系列的第一篇所述,其中一個方法是將

Exchange Server 2007 Edge Transport Server 和 Forefront Security for Exchange Server 部署在介於網際網路與生產環境之間的周邊網路。

本篇是這個雙部曲專欄的下篇,在此我會說明如何使用 Exchange Server 2007 的標準代理程式的記錄和追蹤功能來分析 Edge Transport 代理程式使用狀況。我也將使用自訂方法,從傳輸管線傾印所有事件物件到 XML 檔案。接著,我會講解如何將反垃圾郵件設定應用在 Edge Transport 測試實驗室,這也是 Microsoft 在自身企業生產環境中所採用的設定方式。最後在文末我會提出一些真實且有趣的測試案例,示範 Edge Transport 代理程式如何回應各種垃圾郵件狀況。

如需 Edge Transport 測試實驗室安裝作業與一般 Edge Transport 架構的詳細資訊,請參閱 2007 年 10 月號《TechNet Magazine》中本系列專欄的第一篇文章,網址是 technetmagazine.com/issues/2007/10/Edge

我使用了大量的指令碼及批次檔將最重要的組態工作自動化,這些指令碼可以從本文隨附的程式碼下載中取得 (請至:technetmagazine.com/code07.aspx)。另外,如需有關 Edge Transport 代理程式的 Microsoft IT 組態的詳細背景資訊,我推薦專為 Microsoft IT 百寶箱所撰寫的<Microsoft® Exchange Server 2007 Edge Transport 和傳訊保護>技術白皮書。這份 IT 百寶箱白皮書可從以下網址下載:microsoft.com/technet/itshowcase/content/edgetransport.mspx

記錄和追蹤

Exchange Server 2007 包含幾項記錄和追蹤功能,其中包括通訊協定記錄、代理程式記錄和管線追蹤,這些功能可輔助傳輸代理程式問題的診斷及疑難排解。雖然在本文中我並未實際針對傳輸代理程式進行疑難排解,但是這些記錄和追蹤資訊對於檢驗 Edge Transport 代理程式的運作情況很十分實用。

要追蹤 SMTP 傳送與接收活動的相關資訊,您應啟用傳送與接收連接器的通訊協定記錄功能。利用在本專欄系列的第一篇中設定的測試環境 (見 [圖 1]),我在 New-SendConnector 與 New-ReceiveConnector Cmdlet 中進行下列設定來啟用通訊協定記錄:

[圖 1] 測試環境

[圖 1]** 測試環境 **

–ProtocolLoggingLevel: Verbose

您會發現,在預設情況下,產生的 SMTP 記錄檔會放入 %ProgramFiles%\Microsoft\Exchange Server\TransportRoles\Logs\ProtocolLog 底下的子資料夾。

要分析 SMTP 交談,通訊協定記錄是很好用的功能,但是反垃圾郵件代理程式不一定會妨礙 SMTP 工作階段。譬如說,內容篩選器可能只會對輸入郵件加上包含垃圾郵件信賴等級 (SCL) 值的戳記。只要 SCL 分級低於特定閾值 (預設為 7),內容篩選器便不會讓 Edge Transport 作業拒絕該郵件。如此一來,SMTP 交談便可以順利進行。

要分析反垃圾郵件代理程式 (連線篩選、內容篩選、Edge 規則、收件者篩選、寄件者篩選和寄件者識別碼) 是如何在通過傳輸管線的郵件上運作,必須查看代理程式記錄而非通訊協定記錄。根據 EdgeTransport.exe.config 檔案中的 AgentLogEnabled 參數,代理程式記錄通常是啟用狀態。在預設情況下,代理程式記錄位於 %ProgramFiles%\Microsoft\Exchange Server\TransportRoles\Logs\AgentLog 資料夾中。您可以使用記事本來開啟這些記錄,不過 Get-AgentLog 在 Exchange 管理命令介面中顯示的代理程式記錄資訊更直接易懂。

管線追蹤是另一項實用的功能,可用來針對特定寄件者,擷取當郵件通過傳輸管線時的訊息快照集。這個概念相對來說比較單純;Edge Transport 作業會在叫用登錄 OnEndOfHeaders、OnEndofData、OnSubmittedMessage 及 OnRoutedMessage 事件的 SMTP 接收及路由代理程式的前後建立各封郵件的快照集。藉由比較這些郵件快照集,就可以看出各個代理程式如何修改每個郵件。當然,在測試環境中啟用這項重要的功能是不容分說的。

以下的 Set-TransportServer Cmdlet 用法會啟動測試使用者的管線追蹤。正如您的預期,PipelineTracingEnable 參數設為 $true 可啟用管線追蹤。測試使用者的電子郵件地址設定在 PipelineTracingSenderAddress 參數中:

Set-TransportServer –Identity EDGE01 
–PipelineTracingEnabled $true 
-PipelineTracingSenderAddress Contoso.User@contoso.com

啟用管線追蹤後,您就會在 %ProgramFiles%\Microsoft\Exchange Server\TransportRoles\Logs\PipelineTracing\MessageSnapshots 資料夾中看見指定寄件者 (在本範例中為 Contoso.User@contoso.com) 每封個郵件的郵件快照集檔案 。這是預設資料夾。每個郵件的快照集檔案都分別放在一個子目錄中,而且子目錄是按指派給該郵件的 GUID 來命名。請注意,您可以在名為 Original.eml 的檔案中找到原始郵件,並在開頭為 SmtpReceive 或 Routing (視遇到的事件或安裝的代理程式而定) 的 .eml 檔案中找到郵件副本。要分析 SMTP 接收事件 OnEndofData 及 OnEndOfHeaders 登錄的反垃圾郵件代理程式的處理情形,請檢視 SmtpReceive*.eml 檔案。要分析防毒軟體以及路由事件 OnSubmittedMessage 及 OnRoutedMessage 登錄的其他代理程式的處理情形,則應分析 Routing*.eml 檔案。

自訂管線傾印

Exchange Server 2007 的標準代理程式記錄和追蹤功能可以滿足所有疑難排解需求,不過這些標準功能並未涵蓋所有傳輸事件。舉例來說,管線追蹤無法擷取有關 OnConnectEvent、OnEhloCommand、OnMailCommand、OnRcptCommand、OnDataCommand 等類似的傳輸事件相關資訊,因為傳送主機尚未傳輸任何可以寫入 %ProgramFiles%\Microsoft\Exchange Server\TransportRoles\Logs\PipelineTracing 資料夾的郵件。 若要擷取有關這些事件的詳細資訊,您必須實作自訂代理程式,以便將事件資料傾印到檔案系統中的檔案內。

正如我前一篇文章所述,建立自訂代理程式並不複雜,所以我忍不住建置了 SMTP 接收代理程式和路由代理程式,把傳輸管線的所有事件物件一股腦傾印到 XML 檔案中。在本文提供的下載中,您可以找到對應的 Microsoft Visual Studio® 2005 專案,名為 PipelineXMLDump。其中有兩個重要檔案,一個是實作代理程式工廠和代理程式的 DumpAgents.cs,另一個是實作協助程式類別,透過 System.Re- flection 方法將事件來源欄位和事件引數物件寫入 XML 檔案的 XMLDump.cs。如果您編譯原始程式碼並將產生的 PipelineXMLDump.dll 檔案複製到 Edge Transport 測試伺服器上名為 C:\PipelineXMLDump 的資料夾中,就可以使用 RegisterPipelineXMLDump.ps1 與 EnableDumpAgents.ps1 兩個指令碼來登錄和啟用自訂代理程式。這兩個指令碼包含在下載內容的 PipelineXMLDump 專案資料夾中。當然,我的自訂代理程式僅供說明,尚未經過充分測試,因此絕對不可安裝在生產環境中。您必須自行承擔使用這些代理程式的風險。

DumpAgents.cs 向您示範如何實作傳輸管線支援的所有 SMTP 接收和路由事件處理常式。如果您想要實作自己的自訂代理程式,這是一個不錯的起點。我的傾印代理程式會將 XML 檔案寫入 %ProgramFiles%\Microsoft\Exchange Server\TransportRoles\Logs\PipelineXMLDump 底下的子資料夾中,這個子資料夾會呼應 SMTP 工作階段識別項 (SMTP 接收代理程式) 或郵件識別項 (路由代理程式)。[圖 2] 顯示傳送到 OnConnectEvent 處理常式中的 SMTP 接收代理程式的事件引數資訊範例。此範例顯示接受連入連線要求的本機 IP 端點 (IP 位址與連接埠)。

[圖 2] OnConnect 事件期間傾印的引數資訊

[圖 2]** OnConnect 事件期間傾印的引數資訊 **(按影像可放大)

準備測試執行

有關記錄、追蹤和傾印的理論已經談得夠多了。讓我們準備進行幾個測試,來看看反垃圾郵件代理程式的運作情形。下面是簡短的流程描述,在您的測試環境中,這個流程會盡可能對映 Microsoft IT 組態。如前所述,<Microsoft Exchange Server 2007 Edge Transport 和傳訊保護>技術白皮書中提供相關的背景資訊。

一開始先執行附帶下載中的 EDGE01_disable_agents.ps1 指令碼來停用位址修正輸入、附件篩選和位址修正輸出等代理程式。位址修正沒有必要,因為收件者使用的內部與外部電子郵件地址都一樣。我不使用附件篩選代理程式是有原因的,因為 Forefront Security 提供了替代的附件篩選功能。

測試環境並未連線到網際網路,因此很難測試連線篩選代理程式。為了解決這個問題,您可以透過執行 INTERNET01_create_IP_block_list.bat 檔案在網際網路主機上建立 IP 封鎖清單。請確認您已經安裝 Windows® 支援工具,因為其中包含有 DNS 命令列工具 (dnscmd.exe)。否則,您就必須花時間使用 DNS 主控台來手動建立 DNS 記錄。

現在您可以執行 EDGE01_add_block_list_provider.ps1 指令碼來設定連線篩選代理程式。此指令碼會加入 ip-bl.consolidatedmessenger.com 的 IP 封鎖清單提供者。這是 Consolidated Messenger 的 IP 封鎖清單,而先前描述的 INTERNET01_create_IP_block_list.bat 檔案執行作業已經在測試環境中建立此 IP 封鎖清單。Microsoft IT 也使用本機 IP 封鎖清單和 IP 允許清單,不過這些功能不需要手動設定。要注意的是,Microsoft IT 並未使用 IP 允許清單提供者。

接下來,執行 EDGE01_recipient_filter.ps1 指令碼來設定收件者篩選代理程式,封鎖收件者不存在的郵件,以及封鎖傳送到僅供內部或輸出使用的信箱與全域通訊群組清單的郵件。

寄件者篩選代理程式也需要更新組態。Microsoft IT 使用寄件者篩選這個防範措施,對抗來自特定寄件者地址的郵件癱瘓攻擊,並封鎖判定與業務無關的特定清單伺服器與相似來源。Microsoft IT 更利用寄件者篩選機制來封鎖寄件者資訊無效或遺失的郵件。讓我們在 Edge Transport Server 上執行 EDGE01_sender_filter.ps1 指令碼,將這個組態套用到測試環境中。

如果想要對照 Microsoft IT 組態,您還需要在 DNS 中設定寄件者原則架構 (SPF) 記錄。若要產生 SPF 記錄,證明您的 Edge Transport Server 已授權您的網域 (adventure-works.com) 所寄出的郵件,您可以使用下列網址提供的 Microsoft 寄件者識別碼架構 SPF 記錄精靈 (Microsoft Sender ID Framework SPF Record Wizard):microsoft.com/mscorp/safety/content/technologies/senderid/wizard。試用看看並指定現有的網際網路網域名稱。在測試環境中,您可以執行網際網路主機上的 INTERNET01_create_SPF_record.bat 檔案。

就這麼簡單!不用再設定其他參數,因為大多數代理程式的預設設定都適用。要快速瀏覽 Edge 規則、寄件者識別碼、通訊協定分析和內容篩選代理程式最重要的預設設定,請在 Edge Transport Server 上執行 EDGE01_check_defaults.ps1 指令碼。

運用 Edge Transport 代理程式

現在,讓我們將 Edge Transport 代理程式應用在幾個實際的傳訊案例中。為了傳送測試郵件到 Edge Transport Server,我使用 Windows Server 2003 和 Outlook® Express 內含的 SMTP 與 POP3 服務當做訊息用戶端並保留大部分的預設設定,不過請記得啟用記錄功能。

但是這裡得先警告讀者:如果您的測試環境與生產系統或網際網路有任何連線,千萬不要遵循本節內容執行任何步驟或指令碼。您必須自行承擔測試的風險。

我要測試的第一個代理程式是連線篩選代理程式。它理當第一個接受測試,因為連線篩選代理程式是 Edge Transport Server 上最辛勞的代理程式。在 Microsoft,連線篩選代理程式封鎖 88% 提交的網際網路郵件。以一般工作日來說,130 萬次提交嘗試中只有 15 萬是來自合法寄件者。

那麼,就讓我們以 Fabrikam.User@Fabrikam.com 的名義傳送電子郵件到 Administrator@adventure-works.com。如果一切順利,系統管理員應該不會收到此郵件。相反地,Fabrikam.User 應該會收到傳遞狀態通知 (DSN),說明傳遞至收件者的作業已經失敗。Fabri- kam.User 檢查電子郵件地址正確無誤,重新傳送相同的郵件,而 Fabrikam.User 又再次收到 DSN。然後 Fabrikam.User 連絡支援工程師並報告此問題。Fabrikam.User 不是第一個遇到此問題的人。事實上,沒有任何 Fabrikam 員工可以再與 Adventure Works 通訊。情況不對勁,這個問題很緊急。您想要趕快解決這個問題,於是查看了 %systemroot%\system32\Logfiles\SMTPSVC1 資料夾中有關 INTERNET01 的 SMTP 記錄,正如 [圖 3] 中顯示的紅色文字,問題就在那兒!

Figure 3 SMTP 記錄讓問題現形

... 220 mail.adventure-works.com Microsoft ESMTP MAIL Service ready at Thu, 
31 May 2007 12:21:33 -0700,
... EHLO, -, INTERNET01,
... 250-mail.adventure-works.com Hello [192.168.1.100],
... MAIL, -, FROM:<Fabrikam.User@fabrikam.com> SIZE=840,
... 250 2.1.0 Sender OK,
... RCPT, -, TO:<Administrator@adventure-works.com>,
... 550 5.7.1 E-mail rejected because your IP address is listed by 
ip-bl.consolidatedmessenger.com. Please visit 
http://www.consolidatedmessenger.com/ip-bl for more information. 
If you still need assistance, contact cmipbl@adventure-works.com.,
... RSET, -, -,
... 250 2.0.0 Resetting,
... QUIT, -, -,
... 221 2.0.0 Service closing transmission channel,

從 550 錯誤回應得知,Consolidated Messenger 將您的網際網路主機的 IP 位址列在 IP 封鎖清單中。這也是情有可原。您連絡 Consolidated Messenger,希望從清單中移除。結果卻發現,登上 Consolidated Messenger 封鎖清單比從清單移除簡單多了。完整的移除作業需要花上數天甚至數週的時間。

您需要更快取得協助,因此經由電子郵件地址 cmipbl@adventure-works.com 連絡 Adventure Works。您以 Fabrikam.Admin@Fabrikam.com 的身分傳送電子郵件,說明目前的情況並要求解除封鎖您的主機的網際網路 IP 位址 (在本例中為 192.168.1.100)。在確認您的身分之後,Adventure Works 使用下列命令同意以臨時例外狀況的方式處理並藉此解除封鎖位址,此臨時例外狀況會在 30 後自動到期:

Add-IPAllowListEntry -IPAddress 192.168.1.100 
-ExpirationTime (get-date).AddDays(30)

三十天的時間應該足夠您與 Consolidated Messenger 周旋,Adventure Works 也不需要花時間手動維護例外狀況了。藉由提供自動到期的例外狀況,Adventure Works 能夠盡量減輕系統管理員在維護 IP 允許清單方面的工作量。

安全寄件者

接下來,我們要測試內容篩選的安全寄件者認知,這個有趣的新功能可以提高垃圾郵件篩選的精準度。EdgeSync 從內部環境以雜湊及加密的形式將安全寄件者資訊傳播至 Edge Transport Server。內容篩選代理程式在篩選過程中使用此資訊來做出明智的抉擇。您只需要將安全寄件者資訊 (也就是安全寄件者清單、安全收件者清單、封鎖的寄件者清單及外部連絡人) 放入 Active Directory® 中就行了,方法是使用 Update-SafeList Cmdlet,接著使用 Start-EdgeSynchronization Cmdlet 來複寫資訊到 Edge Transport Server。Microsoft IT 會在非尖峰時段定期執行 Update-SafeList Cmdlet 排程。不過在我們的測試環境中,只要手動執行相對應的指令碼 (HUB-MBX-01_update_safelist.ps1) 就足夠了。

首先,在 Edge Transport Server 上執行 EDGE01_clean_up.ps1 指令碼來移除先前建立的 IP 允許清單項目,藉此整理測試環境。這是必要步驟,因為內容篩選代理程式不會處理來自此清單中的來源的郵件。下一步是執行網際網路主機上的 INTERNET01_clean_up.bat 檔案,從 Consolidated Messenger 封鎖清單移除 100.1.168.192.ip-bl.consolidatedmessenger.com 的 IP 封鎖清單項目。如同前面所述,要是不這麼做,模擬的網際網路主機就無法傳送郵件。

最後,傳送一封內容篩選代理程式幾乎可以確定是垃圾郵件的郵件。這裡有點棘手,因為內容篩選代理程式使用預設的 SCL 拒絕閾值來傳遞大部分的郵件給使用者,以降低誤判的機率。不過經過幾次測試,我發現某個郵件版本會讓 SCL 分級提升為拒絕等級。若要以 Contoso.User@Contoso.com 的身分傳送郵件,請在網際網路主機上執行 INTERNET01_contoso_msg.vbs 指令碼。

我的指令碼使用匿名 SMTP 連線來提交郵件到 INTERNET01 上的 SMTP 服務。若要讓它產生效果,您需要將 SMTP 服務設為轉接匿名使用者的郵件。在 IIS 管理員中,開啟預設 SMTP 虛擬伺服器的屬性。在 [存取] 索引標籤上,按一下 [轉送] 按鈕,接著選取 [下列清單以外的所有項目]。稍後我會說明這項設定的含意。

當您執行指令碼以傳送郵件時,Contoso.User 應該會收到說明傳遞失敗的 DSN:診斷代碼:smtp;550 5.7.1 由於內容限制,因此郵件遭拒。在網際網路主機的 SMTP 記錄中也可以看到這個回應內容,如果您在 Edge Transport Server 上執行命令 Get-AgentLog | Select-Object -Last 1 來顯示代理程式記錄的最後一個項目,應該就會看到郵件遭拒的原因是它的 SCL 分級為 7,如 [圖 4] 所示。

[圖 4] 由於內容限制,因此郵件被封鎖

[圖 4]** 由於內容限制,因此郵件被封鎖 **(按影像可放大)

不過,Contoso.User 並非濫發垃圾郵件者。在此案例中,郵件無法成功發送很可惜,不過 Contoso.User 通常可以與 Adventure Works 的收件者通訊。因此 Contoso.User 以另一封電子郵件通知系統管理員,告知其原始郵件被錯誤地封鎖。系統管理員知道 Contoso.User,而且為了確保垃圾郵件篩選未來不會再封鎖其郵件,因此系統管理員將 Contoso.User 新增到安全寄件者清單中。若要在 Office Outlook 2007 中執行這項作業,請在收到的 Contoso.User 郵件上按滑鼠右鍵,指向 [垃圾郵件],然後按一下 [新增寄件者至安全的寄件者清單]。

Update-SafeList Cmdlet 會依照例行的間隔執行,以重新整理 Active Directory 中的安全清單資訊,而在下一次 Edge 同步處理之後,Contoso.User 便可以與系統管理員通訊,而不會發生誤判的情形。若要模擬這個程序,請執行 HUB-MBX-01_update_safelist.ps1 指令碼。

現在執行 INTERNET01_contoso_msg.vbs 指令碼來再次傳送 Contoso.User 郵件。然後使用命令 Get-AgentLog | Select-Object -Last 1 來查看 Edge Transport Server 上的代理程式記錄,在 ReasonData 底下您會看到現在已經略過了內容篩選,因此不會再誤判 Contoso.User 了!

垃圾郵件攻擊

我們現在來大鬧一場當做測試執行的結尾。相信您一定已經注意到,在上一個測試中,我將網際網路主機設定為開放式轉送,這樣會對濫發垃圾郵件者敞開大門。現在來看一下,要是 Spam.Sender@cohovineyards.com 發現此組態漏洞,趁機濫用主機傳送幾千封垃圾郵件到 Adventure Works,這時會發生什麼事。INTERNET01_spam_msg.vbs 指令碼只提交一個垃圾郵件,但是您可以編輯指令碼並變更 max_loop 值來產生更多垃圾郵件。

為了模擬垃圾郵件攻擊,我提交了 1,000 封郵件到我那台有安全漏洞的主機,以便轉送到 Edge Transport Server。SMTP 服務將每次輸出連線的郵件數量限制為 20,因此在 Edge Transport 上的通訊協定分析代理程式受夠並拒絕接收之前,SMTP 服務花了一些時間轉送出充足的垃圾郵件。

通訊協定分析代理程式會根據 SMTP 通訊協定分析和來自 Microsoft Update 的 IP 信譽更新來自動維護 IP 封鎖清單項目,藉此協助內容篩選代理程式。此時,SMTP 通訊協定分析攔截到垃圾郵件訊息。通訊協定分析代理程式追蹤每封郵件的 SCL 分級以計算出 SCL 平均值,並利用這個平均值來決定寄件者信譽等級 (SRL)。模擬垃圾郵件活動的過程中,隨著越來越多非法郵件抵達,網際網路主機的 SRL 會一直增加,直到超過 SRL 封鎖閾值為止。結果,主機在 24 小時後被加入 IP 封鎖清單,再也不會收到來自這個主機的垃圾郵件了!這是自動執行的作業,不需要任何系統管理員介入。

[圖 5] 顯示產生的 IP 封鎖清單項目以及郵件處理的相對變更。封鎖主機之前,Edge Transport Server 會先在 OnEndOfData 事件中拒絕每封垃圾郵件,因為這是根據 SCL 閾值而針對每封郵寄採取行動的內容篩選代理程式 (請參考 [圖 4])。郵件已提交但失敗。封鎖我的主機之後,連線篩選代理程式便會在 OnMailCommand 事件期間拒絕此連線。郵件就無法再送出。在郵件提交前中斷與濫發垃圾郵件者的連線可節省網路頻寬和處理資源。

[圖 5] 停止攻擊的網際網路主機

[圖 5]** 停止攻擊的網際網路主機 **(按影像可放大)

其他測試

當然,還有許多其他代理程式功能與案例可以測試。譬如說,以 Blocked.User@Contoso.com 或 Blocked.User@Fabrikam.com 傳送郵件來測試寄件者篩選。您可以傳送郵件到 Blocked.User@adventure-works.com 來測試收件者篩選。您也可以使用 Telnet 來模擬不同垃圾郵件防堵間隔的目錄蒐集攻擊。Microsoft IT 在網際網路面向接收連接器上使用預設間隔為五秒進行 SMTP 5yz 回應,Microsoft IT 利用這段時間就足以遏止濫發垃圾郵件者的目錄蒐集攻擊。不過您可以使用 Set-ReceiveConnector Cmdlet 來套用各種不同的值,如 EDGE01_tarpitting.ps1 指令碼所示。

您也可以更進一步檢查管線追蹤針對來自 Contoso.User@Contoso.com 的郵件所建立的快照集檔案。查看防毒戳記,X-MS-Exchange-Organization-AVStamp-Mailbox:MSFTFF;1;0;0 0 0,Forefront Security 使用此防毒戳記將郵件標記為已掃描。Hub Transport Server 上的 Forefront Security 發現了此戳記包含最近版本資訊,就無須再次掃描這個郵件。如果您試圖在測試郵件中插入假的防毒戳記來愚弄 Forefront Security,就會看到標頭防火牆開始採取行動,它會在 OnDataCommand 事件之後立即移除這些戳記,而且早在叫用 FSE 路由代理程式的 OnSubmittedMessage 事件觸發之前便會進行。

檢視快照集檔案中的郵件標題時,您或許應該為 Contoso.com 建立一筆 SPF 測試記錄,將錯誤 IP 位址誤認為合法寄件者。其中一種方法是在網際網路主機上執行 INTERNET01_wrong_SPF_record.bat 檔案。接著您應該以 Contoso.User@Contoso.com 身分傳送測試郵件,並檢查 X-MS-Exchange-Organization-SenderIdResult 和 Received-SPF 標頭:

X-MS-Exchange-Organization-SenderIdResult: SoftFail
Received-SPF: SoftFail (EDGE01.extranet.adventure-works.com: domain of transitioning
Contoso.User@Contoso.com discourages use of 192.168.1.100 as permitted sender)

結論

在我的本篇和上一篇文章中,您已經知道 Exchange Server 2007 Edge Transport Server 提供一套完整的傳輸代理程式,這套工具能夠實作可靠且精準度高的反垃圾郵件功能,其中包括連線篩選、通訊協定分析及內容篩選。此傳輸架構不但可加以擴充,而且還支援實作其他代理程式以加入附加功能。FSE 路由代理程式便是一個附加代理程式的好例子,它可將 Forefront Security for Exchange Server 整合到傳輸架構中。

與連線垃圾郵件防堵、標頭防火牆、TLS 與驗證等附加功能結合之後,Edge Transport Server 提供必要的手段在多個層級達到滴水不漏的高度通訊保護。藉由在周邊網路中部署 Edge Transport Server 和 Forefront Security,與您的內部 Exchange Server 組織完全分隔,您可以將大量的非法及惡意內容阻擋在您的郵件環境以外,並且傳遞誤判率極低的合法郵件給您的使用者。

Kay Unkroth 是一位企業家,曾擔任過支援工程師、系統開發人員、諮詢人員、訓練人員和作家等職,鑽研 Microsoft 伺服器技術長達 15 年以上。同時他也是專營管理文件與本土化服務之 Biblioso Corporation 的合夥創辦人暨董事長。

© 2008 Microsoft Corporation and CMP Media, LLC. 保留所有權利;未經允許,嚴禁部分或全部複製.