觀點

Exchange Server 2007郵件衛生保健與安全政策制定

2009 / 08 / 24
顧武雄
Exchange Server 2007郵件衛生保健與安全政策制定
企業對於訊息平台的要求不再只是收發電子郵件,進一步須結合資訊安全與企業IT管理政策的規範。

  如今許多企業對於訊息平台的要求不再只是能夠收發電子郵件就可以滿足了,還必須進一步結合資訊安全與企業IT管理政策的規範,前者必須能夠針對垃圾郵件、郵件病毒、釣魚程式等惡意程式進行篩選與防禦,至於後者則必須達到內外郵件傳遞間的各種管理政策的套用。

  今天這一篇關於Exchange Server 2007的郵件安全主題的專欄,其內容以目前在官方網站上公開下載測試的Beta 2版本為主。大致上已經可以清楚的看到整個Exchange Server 2007在主體運作架構上的設計,以及所有全新功能與改良設計後特色的完整風貌。

  在Exchange Server 2007的基礎拓樸架構設計中,郵件的收發傳遞、控管、儲存以及用戶端的存取部份,由左至右主要分別由邊緣傳輸伺服器、內部傳輸伺服器、電子郵件信箱伺服器以及用戶端存取伺服器所組合而成,在病毒與蠕蟲的防禦部份則可以整合Forefront Security防毒系統在前三者的伺服器角色上。在這個架構圖中事實上我們忽略了一個全新的選用伺服器角色那就是一致訊息伺服器(UM, Unified Messaging),它主要提供了TTS(Text-to-Speech)引擎與ASR自動語音辨識(Automatic Speech Recognition)元件,在整合企業的PSTN電話總機系統之後,可以方便使用者只要透過電話的撥打即可進行郵件內容的聽取、語音郵件的發送以及電子郵件信箱的管理,此外它還提供了接收傳真到使用者信箱的功能。

  針對今日主題郵件衛生保健法與安全政策制定法的兩個關鍵伺服器角色邊緣傳輸伺服器與內部傳輸伺服器,分別介紹如下:

邊緣傳輸伺服器(Edge Transport Server)

  在前一版的Exchange Server中這個角色稱之為閘道伺服器(Gateway Server),如今這個伺服器以獨立伺服器的方式,搭配ADAM(Active DirectoryApplication Mode)元件架構在企業邊緣防火牆的周圍網路中(DMZ),主要目的在於防禦外部郵件傳遞間的安全性,並且讓整體運作中的受攻擊面降到最低,至於整合建置ADAM的主要目的在於透過它來查詢內部ActiveDirectory的收件者資訊,並且藉由特定的通訊埠來與內部的Hub Transport Server進行資料的同步,以單向的複寫方式將從內部Active Directory最新一次的收件人資訊與相關組態資訊同步至邊緣傳輸伺服器ADAM的執行資料庫中。

  此外在邊緣傳輸伺服器上除了提供反垃圾郵件與防毒的過濾機制之外,它本身也提供了專屬的傳輸規則管理機制,讓特定條件的郵件進入可以被預先配置好的郵件傳輸規則(Transport Rules)所套用,例如當發現某客戶所寄來的郵件時,立即將特定的臨時收件者也一併加入到複本的收件人欄位中。至於在實體的規劃上,架構人員也可以在此網段中規劃出多部的邊緣傳輸伺服器,透過DNS記錄查詢的循環功能(round robin)來達到簡易的負載平衡機制,至於在組態設定上的一致性問題,則可以經由內建所提供的相關組態複製的腳本程式來進行同步,對於本身的安全性配置部份也可以預先透過由Windows Server 2003 Service Pack 1中所提供的安全設定精靈(SCW, Security Configuration Wizard)來完成配置即可。

內部傳輸伺服器(Hub Transport Server)

  如果在前一個版本中這個角色的伺服器便是稱之為Bridgehead Server,如今它必須架構在組織內部的Active Directory的網域環境中,主要用以控管整個內部的電子郵件流通,不過它可是可以相當精細的透過傳輸規則的定義以及信箱日誌原則的定義,來處理各種不同內外郵件之間的傳遞規則,搭配邊緣傳輸伺服器來進行對網際網路的郵件傳輸管理。當然啦!對於一些規模較小的企業來說,也可以只要單一部的內部傳輸伺服器即可進行與外界的訊息往來,且可以在上面啟用內建的反垃圾郵件的相關安全機制,以及加掛Forefront Security防毒軟體或是其它協力廠商採用VSAPI所開發的防毒系統。

智慧型垃圾郵件篩選機制

  三階段的垃圾郵件篩選機制:Exchange Server2007針對垃圾郵件的篩選機制可區分為三個階段,依序分別是連線篩選(Connection filtering)、SMTP篩選以及內容篩選(Content filtering),第一階段的連線篩選主要先進行寄件者的IP位址的黑名單(IP Block List)與白名單(IP Allow List)識別,第二階段的SMTP篩選主要是針對寄件者篩選(Sender Filtering)、收件者篩選(Recipient Filtering)、寄件者識別碼篩選(Sender ID)以及寄件者信譽檢查(Sender Reputation),最後的內容篩選階段則是針對郵件主旨與內容的篩選,以及進行郵件的SCL(Spam Confidence Level)評分,至於評分的結果則將依照管理員預先設定好的各種不同處理動作的臨界值來決定郵件的去向,這包含了進行刪除、退信、丟到隔離信箱或是寄送到使用者Outlook介面中的垃圾郵件資料夾。請注意!以上所介紹的反垃圾郵件機制,可以設定在架構有Edge伺服器的角色上,或是僅有建置Hub Transport的伺服器角色上。

連線篩選設定說明

  這部份除了可以讓管理員以手動輸入的方式,來輸入所要允許與拒絕特定的寄件伺服器的IP位址或範圍之外,也可以採用在IP允許清單提供者或IP封鎖清單提供者設定中,來指定所要參照的網際網路上的RBL(RealtimeSpam Black Lists)主機(例如:relays.ordb.org),不過有一些是需要額外支付費用的。另外這部份的提供者參照設定,企業組織也可以將這個黑名單資料庫建置在組織中的DNS伺服器記錄裡,如此一來便可以讓整個企業的分公司與各分點進行黑白名單的參考,必須注意的是一旦寄件伺服器的IP位址被定義為白名單時,那麼從這裡所寄送過來的郵件將直接被視為合法郵件,因此將會直接越過第二層與第三層的篩選器檢查。如果您想要在企業中建立專屬的黑白名單資料庫,只要在DNS中新增所要封鎖或允許的A記錄即可,例如以下的記錄即表是所要拒絕的寄件IP位址為61.59.116.27,而用以識別黑白名單的識別碼則是其相對應的IP來決定,例如您可以定義凡是解析為127.0.0.2的即為拒絕IP,而127.0.0.3的即為允許的IP,不過這部份還必須由Exchange Server中的搭配設定來決定。

27.116.59.61.cogate.com.tw A 127.0.0.2SMTP篩選設定說明

  此階段首先可設定寄件者篩選與收件者篩選,前者用以篩選掉特定寄件者的Email位址,可以輸入像是eric@xxx.com、@xxx.com或是"林老師"。至於後者則可以直接封鎖不在收件者清單的郵件以及指定的收件者Email位址,其用途通常應用在已經離職的員工的Email。

  緊接著是寄件者識別的檢查機制,此功能主要用途在於檢查寄件者來源的DNS記錄中是否有SPF(Sender of Policy Framework)記錄,藉此查詢寄件者IP位址的合法性,一旦發生檢查結果與實際合法的IP位址不符合,則可以進行退信、刪除信件以及標記SCL分數並且交由下一階段的內容篩選器來進行處理。以下說明在企業DNS伺服器中建立SPF記錄的方法。

  請先在DNS中新增一筆TXT記錄,其內容範例像是v=spf1 mx mx:mail.cogate.com.tw –all,這段描述中即表示只要由mail.cogate.com.tw所反解的IP位址即表示合法。關於SPF記錄的建立,可以透過線上SPF產生器來自動產生符合企業環境的記錄格式,最後管理員只要將這一些記錄張貼到DNS的TXT記錄中即可。

線上SPF產生器網址

  接下來是寄件者信譽(Sender Reputation)功能的垃圾郵件篩選技術,這是一項在Exchange Server 2007中的Antispam全新功能,其主要目的在於進一步識別惡意寄件者的特徵,依照這一些特徵可以來制定分析後的SRL(Sender Reputation Level)分數,如圖2所示我們可以設定SRL的分數臨界值,一旦發生來源寄件者的郵件的SRL分數等於或超過此定義值時,將會把此寄件者的IP位址自動加入到。關於SRL分數的加分則是依據以下四項條件查詢後的結果來決定:

? 寄件者Open Proxy連線測試:過去許多大量轉送垃圾郵件的方法都是採用SMTP Relay的方式來進行,不過如今由於這種傳統的入侵手法已經被大部分的郵件伺服器預設所杜絕,因此轉而採用了所謂的Open Proxy來進行垃圾郵件的發送,而採用這種發送方式非常簡單,只要透過特定撰寫好的發送程式將所要發送的SMTP命令與郵件本文夾帶在HTTP封包內容中,然後傳送到一些網際網路公開的Proxy伺服器來進行發送即可。目前的Exchange Server 2007已經可以針對這種透過Open Proxy所發送而來的郵件進行識別。

? HELO/EHLO analysis:絕對大多數正常郵件的發送過程中,目的地的SMTP伺服器在接收到傳送要求的同時,通常都會先收到一個HELO或EHLO的SMTP命令,相反的如果是透過垃圾郵件發送程式所傳送的郵件便不會有這樣的行為,因此可以作為垃圾郵件中的SRL分數的計算考量。

? 反查DNS記錄:在收件者的SMTP接收到寄件者所提交的HELO或EHLO命令之後,藉由查詢來源網域名稱的電子郵件與相對應的IP位址,是否符合在網際網路上的網域註冊設定值,來作為SRL分數的計算考量。

? 從特定的寄件者分析訊息上的SCL分數:凡是郵件經由內容篩選器所過濾過的電子郵件,都會有著不同的SCL的分數所標記,以協助識別垃圾郵件的可能性與後續各種不同層級的處理方法。

內容篩選(Content filtering)

? 篩選郵件內容關鍵字:在內容篩選的第一部份,管理員首先可以在[自訂文字]的頁面中,分別新增定義所要允許與封鎖的郵件內容,上方所新增的關鍵字項目必視為合法的郵件,相反的下方所新增的郵件內容的關鍵字都會被加以封鎖,如果發生設定重疊的狀況時則以允許的清單為主。此外如果您希望這一些關鍵字的篩選原則不要套用到內部特定的收件者,那麼您可以在例外狀況的頁面中將這一些排除的收件者Email位址新增輸入即可。

? 不同SCL評分的動作設定:如圖3所示在內容篩選器的[動作]頁面中可以分別設定刪除、拒絕以及隔離的SCL分數臨界值,設定的SCL臨界值分數越高即表是到達此分數的電子郵件屬於垃圾郵件的可能性越高。

  在內容篩選器介面中所設定的SCL分數臨界值並不包含有關於Outlook使用者端垃圾郵件資料夾的SCL臨界值分數定義,這部份的系統預設等於8,可以經由Shell介面中的Get-organizationConfig來取得目前的設定值,命令執行之後我們可以在SCLJunkThreshold的欄位中查看到, 想要修改此值則可以使用S e t -organizationConfig –SCLJunkThreshold來設定即可,此外我們還可以進一步針對特定的收件者進行不同的SCL分數臨界值定義,舉例來說如果我們現在想針對Cathy這一位收件者設定個別的SCL分數臨界值等於5,則可以輸入以下Shell命令範例。

  Set-Mailbox –Identity Cathy –SCLJunkEnable$true –SCLJunkThreshold 5

? 垃圾郵件隔離信箱(Spam Quarantine):在Exchange Server 2007中已經不採用伺服器本機中的垃圾郵件封存資料夾來存放被隔離的垃圾郵件了,而是改採用管理員所預先指定的垃圾郵件隔離信箱來儲存,不過必須是指定Exchange Server 2007的使用者信箱,而非其它較早版本的郵件信箱。至於設定的方法在目前的Beta 2版本中必須使用如下Shell的命令來進行設定,其中指定的信箱必須已經存在並且需要使用雙引號。

  Set-ContentFilterConfig –Q u a r a n t i n e M a i l b o x " s p a m @domain.com"

? 多重SCL分級設定注意事項:由於針對不同郵件的SCL分數管理員都可以預先設定好處理的動作,因此在設定各種SCL分數臨界時在分數大小的定義上需要特別留意。隔離分級值>Junk Email、拒絕分級值>隔離分級值、刪除分級值>拒絕分級值。

結論

  在全新Exchange Server 2007的拓樸架構設計中,搭配一些新安全功能與用戶端Outlook 2007的整合,不難看出Microsoft對於整個訊息平台進階安全控管能力上的要求,然而本文還僅是針對郵件傳遞間的安全部份進行探討而已,對於訊息平台資料的保全部份以及遠端連線存取上的安全議題都還尚未提及,事實上ExchangeServer 2007對於這兩部份的安全佈署,同樣擁有更完善的架構技術與整合能力,例如:本機資料庫複寫備份LCR(Local continuous replication)、雙資料中心容錯備援機制CCR(Cluster continuous replication)以及針對Outlook遠端直接連線的安全快速佈署功能OutlookAnywhere的使用等,這一些新增的安全技術與改良設計後的各種功能,顯然都是依照過去企業在ExchangeServer使用者經驗上的累積所匯集而成。