IBM Lotus Notes/Domino 6內含的反垃圾信件功能介紹

12/3/2006来源:Lotus Notes人气:8705

這篇文章的預設閱讀對象是Lotus Notes系統管理工程師,要向大家介紹的本文重點摘要如下:
(一)﹑何謂垃圾信件?對企業有什麼樣的衝擊?
(二)﹑IBM Lotus Notes/Domino R5(目前版本)處理垃圾信件的現行方式與實際運作時的困擾。
(三)﹑即將上市的新版IBM Lotus Notes/Domino 6推出了哪些反垃圾信件的新功能。

讓我們直接切入要介紹的主題。

(一)﹑何謂垃圾信件?對企業有什麼樣的衝擊?

  所謂垃圾信件就是不請自來的郵件(英文為unsolicited commercial email (UCE),electronic junkmail或spam)。讓我們先把焦點放在國外媒體的相關報導,來看看垃圾信件對企業有什麼樣的影響:

1. InfoWorld根據META Group的統計("No Spam Shortage Here," META Group, May 2002)撰文:『企業來自網際網路的電子郵件中可被歸類為垃圾信件的比例約2%~10%,此比例未來五年將成長到10%~20%。中型規模的企業每天約收到二萬封垃圾信件,如果員工處理一封垃圾信件要花30秒,上述企業一天得花約167小時處理垃圾信件』。筆者估算假設一天工作8小時,企業需僱用21位員工來專職處理垃圾信件。

2. NetworkWorldFusion引述Osterman Researc公司的預測:『一個有五千名員工的企業,一年的垃圾信件總量可達一千五百六十萬封,處理如此數量的垃圾信件其花費可達每年美金三十四萬四千元(約台幣一千二百萬元)』。

3. 網站
www.cw360.com2002年8月14日刊載一篇標題為” IT staff top e-mail abuse table”的短文中,引用了NOP對100家英國各行業大型企業的問卷調查結果:”就算懷疑來信內容可能有問題,69%的受訪對象還是會開啟這封信。42%會轉呈給他人與工作無關的信件”。企業員工對電子郵件的濫用抱持著漫不經心的態度。

  除了浪費時間與生產力外,垃圾信件擠爆了郵件伺服器、網路、員工信箱都會耗損可貴的IT資源、LAN頻寬也嚴重的影響網路與伺服器的效能。若系統管理人員一個不小心,讓有心人士把自己公司的郵件伺服器當成垃圾信件的發送源,可能因此造成公司郵件伺服器的ip位址被列入網路黑名單;變成網路SMTP郵件的拒絕往來戶。這樣對公司商譽的損害與因郵件被他人拒絕轉送或接收所流失的商機都有可能讓企業付出慘痛的代價。這就是為什麼IBM的Lotus Notes/Domino 6(以下簡稱ND6,預定2002年9月底前上市)在宣告此產品中內建了讓人注目的反垃圾信件的新功能時,不僅立刻獲得全美媒體的關注,也在英﹑德﹑義大利與丹麥等地被廣泛的報導(有興趣的讀者可連線下列網址,由該網頁上的連結去閱讀各地媒體的文章)。
http://www.lotus.com/news/news.nsf/link/2ndspamstory

(二)﹑IBM Lotus Notes/Domino R5(目前版本)處理垃圾信件的現行方式與實際運作時的困擾。

IBM Lotus Notes/Domino R5在處裡垃圾信件的功能上,筆者分成伺服器端與工作站端的現有做法簡述如下:

【圖一 Domino R5公用通訊錄的架構文件中與外來郵件轉送控制相關的欄位】

 

在R5 Domino伺服器端處裡垃圾信件的現有做法:
  系統管理人員可經由公用通訊錄(正確的名稱應該叫做Domino目錄或Domino名錄,不過因為只要是Notes工程師都聽得懂,筆者就沿用舊的稱呼)中的架構文件去指定Domino 的SMTP允許/拒絕可與自己連線的對象(圖一中標為%26#61580;的欄位,指定方式可以是IP位址﹑主機名稱或網域名稱),以及指定Domino 的SMTP允許/拒絕外來郵件可轉送的目的地(圖一中標為%26#61581;的欄位,指定方式可以是網域名稱﹑IP位址或主機名稱)。

在R5 Notes工作站端處裡垃圾信件的現有做法:
  使用者可在自己的郵件檔中設定郵件規則(mail rules,如圖二所示):指定對符合所設規則的外來郵件所要進行的動作。舉例來說,使用者可以指定:外來郵件的主旨如果包含特定字串的話就刪除此信件。

【圖二 R5 Notes工作站可在郵件檔中指定郵件規則來處理垃圾信件】

 

  上述分進夾擊的做法在實際運作時有哪些困擾呢?雖在伺服器端系統管理人員能夠以網域名稱﹑IP位址或主機名稱為設定條件來拒絕轉送外來郵件,但是仍有下列不足之處:

1.

狡詐的垃圾信件寄信人會不斷的變換各種方式來傳送垃圾信件,系統管理人員實務上很難找出一套通用且有效的過濾機制來全面防堵。更何況嚴苛的設定條件也有可能傷及無辜,甚或將往來重要客戶的郵件也視同垃圾信件處理而引起不必要的困擾。

2.

現行作業方式是由Domino R5伺服器上的郵件路由器(mail router)將外來郵件收入伺服器的mail.box後,再進行外來郵件是否為垃圾信件的判讀:如果是垃圾信件就將其視為dead mail而不再轉送。當有大量垃圾信件湧入時,路由器雖不轉送這堆垃圾信件,但郵件伺服器的mail.box中也因而殘留了一大票的dead mail要系統管理人員設法善後,增加了管理上的負擔。

3.

若在郵件伺服器上未做嚴格的過濾防堵,下一個關卡就是在漏網信件送達使用者郵件檔後,由使用者所設定的郵件規則來把關。當然使用者對是不是垃圾信件的判斷會更精準,且所設規則應該更符合個人需求。但讓我們面對人性吧!除非是每隔數十分鐘就不斷收到同樣來源的垃圾信件,否則真的會費心去設定過濾規則的使用者畢竟為數不多。更何況當垃圾信件真的送入使用者郵件檔後,前述所有對企業有不利影響的衝擊(時間﹑金錢﹑IT資源﹑員工浪費的生產力…)都已呈現;縱使能在使用者郵件檔中刪除此垃圾信件,我想這種結果也不能宣稱:在反垃圾信件的戰爭中已贏得了光榮的勝利吧!

(三)﹑即將上市的新版IBM Lotus Notes/Domino 6推出了下列反垃圾信件的新功能:
 

1. 新增伺服器端的外來郵件轉送管控權。
2. 新增『網路黑名單(public black-hole lists) 』的支援機制。
3. 新增伺服器端的『郵件規則』。
4. 新增『驗證寄給內部網域郵件的收件人地址必須出現於公用通訊錄』的功能。

 

  當市面上的競爭友商(微軟等)還將垃圾信件的管控定位在用戶端的層次,把處理垃圾信件視為是使用者的職責(或是將反垃圾信件的功能視為是協力軟體開發夥伴的商機);ND6已將反垃圾信件的戰場提昇到伺服器的層次,在伺服器中內建了各類反垃圾信件的搭配機制。在反垃圾信件的處理過程中,在垃圾信件的發信端嘗試與Domino郵件伺服器連線﹑對方的垃圾信件還未送出前,ND6就可經由『網路黑名單』的機制(細節後述)判斷對方是垃圾主機而切斷其連線。想想看,垃圾信件的影子都還沒看到,連線送信方就已被拒絕!這與其他產品還要等到把來信收入郵件伺服器的mail.box或分送到使用者郵件檔後才做處理,功能高下是否一目了然呢?萬一還有漏網之魚鑽過這第一道防線,ND6在伺服器上還有其他的數套機制可解決此”火網餘孽”。在郵件伺服器上就解決垃圾信件的ND6特性(斃敵機先!),除了可以減少企業在管理﹑維護垃圾信件所需負擔的成本外,也大幅降低了垃圾信件帶給使用者的困擾(理想境界是使用者在自己的郵件檔中根本沒有收到垃圾信件的機會)。

 

  以下的敘述中筆者會刻意的用”外來郵件(incoming mail)”來取代”垃圾信件(spam mail)”這個名詞,主要原因是後述ND6的新功能並不專門只為處理垃圾信件而存在,而是可做為所有外來郵件的處理機制-當然垃圾信件也算是一部份的外來郵件。ND6在外來郵件的管理上提供了下述新功能:

 

新增伺服器端的外來郵件轉送管控權


  現行R5版本中,外來郵件的轉送控管(delivery control)機制預設都只作用在外部網域(external domain)郵件上,內部網域(internal domain)郵件會跳過此轉送控管的機制。
  ND6在公用通訊錄內的架構文件(configuration document)上新增了三個欄位(如圖三所示),讓系統管理人員自行決定內部網域郵件是否要納入轉送控管的機制中。

【圖三 ND6外來郵件的新增轉送管控權】

 

圖三中的第一個欄位perform Anti-Relay enforcement for those connection hosts,其可用選項為:

”External hosts”:採用此選項代表轉送控管機制僅作用於外部網域郵件。

”All connection hosts”:採用此選項代表外部網域郵件與內部網域郵件都接受轉送控管的機制。

”None”:採用此選項代表停用轉送控管機制(不作用於任何內部網域或外部網域的外來郵件)。

 

  圖三中的第二個欄位Exclude these connecting hosts from anti-relay check: 此欄位讓您指定哪些IP位址或主機名稱(host name)不需進行外來郵件的轉送控管檢查。

圖三中的第三個欄位Exceptions for authenticated users的可用選項為:

“Perform anti-relay checks for authenticated users”:不管外來郵件的寄信人是否有身分認證資料,一律要做外來郵件的轉送控管檢查。

“Allow all authenticated users to relay”:如果外來郵件的寄信人有身份認證資料(經由ISP連線的POP3或IMAP使用者通常都有身份認證資料)的話,就不作外來郵件的轉送控管檢查。

  圖三所示欄位如有異動,儲存後必須下達伺服器主控台命令>Tell SMTP UPDATE CONFIG或>Restart TASK SMTP,所做的修改才能生效。

 

新增『網路黑名單(public black-hole lists) 』的支援機制

 

  為防止垃圾信件在網路上的不當流竄,已有某些機構去主動的偵測﹑紀錄與確認網路上有哪些伺服器在協助散發垃圾信件,並將確認後的發信源頭IP位址記錄在自己的黑名單資料庫中(有些機構在偵測到某伺服器是可能的”嫌疑犯”後,會主動通知此伺服器的管理者,保留一段時間讓對方可以申訴或改善。如果沒有回應或寬限期過後對方仍依然故我,就會將其打入黑名單中)。地點設在美國加州RedWood市的Mail Abuse PRevention System LLC (MAPS)就是這樣的一個非營利組織。ISP(比如說國內的Hinet或Seednet)或企業的郵件系統管理者可以與這些組織連線,即時存取其黑名單資訊(IP位址清單),將得到的黑名單當成是拒絕垃圾信件的依據。這種網路黑名單的機制對郵件管理者而言解決了長期以來的煩惱:”如何找到有效的過濾規則來識別寄信方是否在散發垃圾信件!”有了上述性質的各類組織,黑名單的識別﹑維護由它們負責,郵件系統管理者只需與其連線使用其服務,並管好自己的伺服器﹑善盡不要轉發垃圾信件的管理責任。不過在您考慮運用這套機制作為伺服器上防堵垃圾信件的可能方法之一時,筆者要提醒您必須慎重的考慮您所選用的這些組織是否是以很嚴謹的態度來做黑名單的查證工作(您可以連線到該組織的首頁,去查看它的黑名單認列政策來確認此組織的作業程序)。某個IP被列名在某個組織的黑名單中並不意味著該IP一定在散播垃圾信件。輕信一個草率行事亂列黑名單的組織,有可能會讓您將合法對象(可能是您的重要客戶)的來信誤認為垃圾而拒絕接收。若因此而引發後續影響時,系統管理人員能夠以”那是某組織的作業不小心…”而因此卸責嗎?
 

【圖四 ND6『網路黑名單(public black-hole lists) 』的支援機制】
 

  ND6用圖四所示,公用通訊錄內架構文件中的四個欄位來支援網路黑名單的機制(圖四中的欄位在修改儲存後,需下達伺服器主控台命令>Tell SMTP UPDATE CONFIG或>Restart TASK SMTP,所做的修改才能生效)。

 

圖四的第一個欄位DNS Blacklist filters,其可用選項為:

Enabled:選用此選項代表對外來郵件要做網路黑名單的比對。

Disabled:選用此選項代表對外來郵件不做網路黑名單的比對。

 

圖四的第二個欄位DNS Blacklist sites:您在此欄位中輸入提供網路黑名單組織的網址。當您經由前一個欄位啟用網路黑名單的比對功能後,對每一個外來的SMTP連線要求,Domino都會對列名於此欄位的每一個網址發出黑名單的查詢要求(依由左而右的順序,若已由前面的網址得知對方為”垃圾主機”,Domino就不再向下一個網址查問)。為了效能考量,您應避免在此欄位中輸入過多網址。

 

圖四的第三個欄位Desired action when connecting host is found in a DNS Blacklist,其可用選項為:

Log:若偵測到外來郵件的送信主機列名於黑名單時,此選項仍接收這封有可能為垃圾信件的郵件,並在伺服器主控台上顯示送信主機的名稱﹑IP位址以及將此主機列入黑名單的組織網址(在Notes日誌檔中也會留存相同的記錄)。

Log and tag message:此選項與除了採取與前述Log選項相同的作業方式外,再加一個額外的動作:在被處理的郵件上多加一個名為$DNSBLSites的欄位,在此欄位內儲存將此連線主機列入黑名單的組織網址。

Log and reject message:若偵測到外來郵件的送信主機列名於黑名單時,拒絕對方的連線(不會在mail.box中留下dead mail),並將錯誤訊息(由下一個欄位設定)回傳給該連線主機。

 

圖四的第四個欄位Custom SMTP error response for rejected messages:當偵測到對方列名於黑名單而拒絕對方連線時,您在此欄位中輸入要回傳給被拒主機的錯誤訊息。預設值會回應傳被拒主機的IP位址與將對方列為黑名單的組織網址,再加上” the connection was denied for policy reasons”。您可以在此欄位中自訂回應訊息。自訂資訊中您可使用第一個%s來代表被拒主機的IP位址,第二個%s則代表將對方列名於黑名單的組織網址。以下為使用範例:

 

  若您在本欄位中輸入”Your host %s was found in the DNS Blacklist at %s”。被拒主機所收到的錯誤訊息會是”Your host 127.0.0.2 was found in the DNS Blacklist at blackholes.mail-abuse.org”。
 

新增伺服器端的『郵件規則』(Server mail rules)


  
在外來郵件送達郵件伺服器時,系統管理人員可經由如圖五所設定的伺服器郵件規則來告訴路由器,對符合所設規則的外來郵件所應進行的處理方式(繼續傳送且將來信存於指定的資料庫;拒絕接收;停止傳送且將其刪除;停止傳送但將來信存於mail.box內)。舉例來說,您可以經由伺服器郵件規則來指定:如果來信的主旨包含特定字串﹑或來信附加檔的附檔名為.vbs,就將這些外來郵件如空中抓飛鳥般的刪除(若您在伺服器上安裝了Domino掃毒軟體,這些郵件規則發生在掃毒軟體還未作用前;換句話說,在掃毒軟體還不知道有這些郵件前,指定郵件就被郵件伺服器”一槍斃命”的處理完畢)。

  您可在公用通訊錄內對應伺服器的架構文件中設定伺服器郵件規則((如圖五所示,儲存後需下達伺服器主控台命令>Tell SMTP UPDATE CONFIG或>Restart TASK SMTP,所做的修改才會生效)。

【圖五 ND6伺服器端的『郵件規則』】

 

  在圖五的新增規則對話方塊中,系統提供下列內建規則(可選用的過濾條件):Sender, Subject, Body, Importance, Delivery priority, To, CC, BCC, To or CC, Body or subject, Internet domain, Size (in bytes), All documents, Attachment name, Number of attachments, Form, Recipient count, or Any recipient。對符合所設規則的外來郵件,系統提供下列可選用的內建動作:

 

Journal this message
  當您經由郵件伺服器的架構文件啟用了此伺服器的”Mail Journaling”功能後(如圖五A所示);對符合所設規則的外來郵件,選用這個選項除了告訴系統依正常程序繼續作業外(也就是說,路由器繼續傳送或轉送這封暫存於伺服器的mail.box的郵件後,將處理完畢的郵件由伺服器的mail.box中刪除),還會將符合所設規則的外來郵件儲存到(圖五A的Database Name欄位)指定的資料庫中。

【圖五A 啟用ND6郵件伺服器的mail journaling功能】

 

Move to database
  選用此選項時,系統會將符合所設規則的外來郵件自伺服器的mail.box中刪除,不再傳送轉送這封郵件;而且會將此郵件儲存到伴隨此選項而出現的欄位所指定的(事前已存在的)資料庫中


Don't accept message
  選用此選項時,系統不接收符合所設規則的外來郵件,不再傳送轉送這封郵件,將其自伺服器的mail.box中刪除,還會回傳”SMTP permanent error code”(錯誤代碼為5XX)給送信主機。


Don't deliver message
  選用此選項時,系統會接收符合所設規則的外來郵件,不再傳送轉送這封郵件,接著會根據伴隨此選項而出現的額外選項(Silently delete或Send NDR)來決定後續的動作。

 

Silently delete:將此郵件自伺服器的mail.box中刪除,不傳送任何訊息給寄件人與收件人。

Send NDR:將此郵件自伺服器的mail.box中刪除,將傳送失敗報告(NDR, Non-Delivery Report)回給寄件人。

 

Change routing state
   選用此選項時,系統接收符合所設規則的外來郵件,不再傳送轉送這封郵件,將此郵件留存於伺服器的mail.box中,根據伴隨此選項而出現的額外選項(Mark as held或Mark as dead)來決定此郵件在mail.box內的狀態(之後就靜待系統管理人員來決定這些留存在mail.box中的郵件後續該如何處理)。

 

Mark as held:將郵件的RoutingState欄位設為”HOLD”。

Mark as dead:將郵件的RoutingState欄位設為”DEAD”。

 

新增『驗證寄給內部網域郵件的收件人地址必須出現於公用通訊錄』的功能

  此項功能的目的是:當寄給內部網域的收件人地址不存在於公用通訊錄時,讓Domino回應550錯誤碼(表示來信的收件人為未知的使用者)給送信主機,同時將來信由伺服器的mail.box內刪除。
  您可在公用通訊錄內對應伺服器的架構文件中設定此功能(如圖六所示,儲存後需下達伺服器主控台命令>Tell SMTP UPDATE CONFIG或>Restart TASK SMTP,所做的修改才會生效)。


【圖六 ND6驗證寄給內部網域郵件的收件人地址必須出現於公用通訊錄】

   筆者在2002年8月台灣的電腦專業媒體上看到微軟所刊登的一頁廣告,雖其原本訴求是電腦病毒,但也很適切的陳述了垃圾信件對企業的威脅。筆者摘述如下:『”I LOVE YOU”;只是一封情書,已經讓全球企業付出巨額代價。病毒從來不會預告,當你按下按鍵的瞬間,你永遠不知道只是打開檔案,還是同時為病毒開啟了大門。所以在下一場電子生化戰發生前,最好的做法是趁早鞏固你的防線。…』


   根據IBM Lotus 訊息解決方案副總經理Ken Bisconti表示:『每個企業用戶平均一年會收到約一千五百封垃圾信件;ND6的新增功能會協助郵件系統管理者,在垃圾信件還沒送到使用者郵件檔前,先行於郵件伺服器上就將垃圾信件殲滅。』


   筆者希望經由這篇文章,讓有興趣吸收新知的Notes工程師於繁忙工作之餘,能一探即將上市的新版ND6的部分功能(二千多個新增或強化功能中的個位數)。垃圾信件危害之烈,已成為企業必須正視並向其宣戰的網路公害。除非您不與網際網路連線,否則找到有效的垃圾信件解決方案必然是IT部門的焦點任務之一。希望本文介紹防制垃圾信件的ND6新功能,已讓您看到烏雲背後所透出的曙光。