1 電子郵件系統存在的安全隱患
由于早期技術水平落后,主機之間很少直接對話。SMTP就規定了當郵件在不同網絡間傳送時,必須借助毫不相干的第三方服務器。我們把一個MTA將郵件傳遞到下一個MTA的行為稱為郵件轉發(RELAY)。如圖1所示。
圖1 郵件轉發示意圖
如果出現網絡上所有的用戶都可以借助這臺RELAY SMTP服務器轉發郵件的情況,則稱之為Open RELAY(開放性中繼)或Third Party RE—LAY(第三方中繼)。由于Internet上使用端口掃描工具的人很多,導致RELAY SMTP服務器必定會在短時間內被察覺,并且被利用來發送一些不法廣告、垃圾郵件等,繼而導致的主要問題有:
*由于網絡帶寬被垃圾郵件占用,因此該郵件服務器所在網絡的連接速度減慢;
*大量發送郵件可能耗盡該郵件服務器資源,容易產生不明原因的關機之類的問題;
* 該郵件服務器將會被Internet定義為黑名單,從此無法收發正常的郵件;
*該郵件服務器所在的IP將會被上層ISP封鎖,直到解決Open RELAY的問題為止;
*如果該郵件服務器被用來發送黑客郵件,則將會被追蹤為最終站。
此外,作為一個網絡服務器,電子郵件系統存在著配置和誤操作上的安全威脅和隱患,如沒有合理配置服務器的相關配置文件中的重要選項等,極有可能造成潛在的安全隱患。另外,郵件系統版本的及時更新與否也影響到其安全。
2 多重機制應對郵件系統安全問題
1)限制轉發和主機過濾
垃圾郵件問題是當今最讓網絡用戶頭疼的頑疾之一。許多不請自來的垃圾郵件不但占據網絡帶寬,也極大地消耗了郵件服務器的存儲資源,給用戶帶來極大的不便。Open RELAY接引起郵件系統的濫用,甚至成為垃圾郵件的溫床,它是郵件系統中的“定時炸彈’。目前多數Linux發行版都將SMTP服務器的Open RELAY功能關閉,默認啟動為僅監聽lo口,極大地減少了本地服務器轉遞垃圾郵件的可能性。Linux中通過訪問數據庫/etc/mail/access.db來設置RELAY。數據庫中不但定義了可以訪問本地郵件服務器的主機或者網絡,也定義了其訪問類型(可能的選項包括OK、REJECT、RELAY或者通過Sendmail的出錯處理程序檢測出的、一個給定的簡單郵件錯誤信息)。如果希望某些合法主機或網絡能利用此SMTP服務器的RELAY功能來幫忙轉發郵件,則必須修改服務器上的訪問數據庫。
2)配置SMTP用戶認證
由于(尤其是同一網段內的)用戶不斷增多,如果僅依靠規模不斷增大的Access數據庫,則很難有效管理SMTP服務器的使用,甚至出錯。這樣既不能保障合法用戶正常地使用郵件服務器的Open RELAY一些不法的用戶提供了可乘之機。
所以有必要配合Sendmail服務器一起使對SMTP用戶用身份認證程序庫。RHEL 5使用CyrusSASL(Cyrus Simple Authentication and SecurityLayer)身份認證程序庫對用戶進行身份認證。
3 一個支持多域的安全電子郵件系統案例
某公司網采用兩個網段(對應兩個域:keyan1.stiei.edu.en和keyan2.stiei.edu.cn)來管理內部員工,其絡拓撲如圖2所示。已知公司擬使用一臺IP地址為192.168.11.1的Linux主機實現郵件服務,為簡化實驗拓撲,該主機同時提供域名解析服務和路由服務,其FQDN 擬定為mail.keyan1.stiei.edu.cn和mail.keyan2.stiei.edu.cn。
圖2 某科研機構網絡拓撲
公司員工數量多,其業務特點決定了流動辦公的經常性。公司希望設計一個安全的電子郵件系統,具體能做到:①員工可以自由收發內部郵件,并且可以通過郵件服務器往外網發信;② 禁止接待室的主機192.168.12.100使用Sendmail服務器;③有效拒絕垃圾郵件。
1)關鍵因素分析
這是一個典型的安全電子郵件系統配置案例。擬解決的關鍵問題有:多域間的郵件傳送、主機過濾、垃圾郵件過濾等。由于處理垃圾郵件會增加服務器負荷,占用其硬件資源,造成正常響應的延遲,并且會導致嚴重的安全隱患,因此,從安全和效率兩方面考慮,都必須使用access數據庫限制轉發來拒絕垃圾郵件。另外,由于員工辦公地點不固定,并且郵件需要在內外網之間轉發,因此還需要結合郵件的認證機制,通過驗證郵件用戶的賬戶和密碼,就能有效拒絕非法用戶使用郵件服務器的中繼功本報共。
2)解決方案
(1)搭建虛擬網絡環境,在一臺多宿主的Linux主機上開啟內核的路由功能:
# echo“1”>/proc/sys/net/ipv4/ip—forward
(2)在BIND服務器上注冊郵件服務有關的域名。在DNS主配置文件“/etc/named.conf”中至少定義的兩個正向解析區域,為規范化配置,建議再添加相應的兩個反向解析區域,如圖3所示。每個區域對應一個解析文件。圖4列出了區域keyan1.stiei.edu.CD的正向解析文件內容,區域keyan2.stiei.edu.cn的正向文件類似。
在所有要使用郵件服務的主機上指定提供域名解析的DNS服務器的IP地址,并設置默認的域名后綴。此外,還需要在“/etc/mail/local—hostnames”中添加所支持的域名及主機名。
圖3 定義新的區域
(3)配置具有認證功能的SMTP服務器。
在Sendmail的腳本Sendmail.mc中修改SMTP偵聽范圍為公司內部網段或者0.0.0.0,使郵件能正常發送到其它主機。此外還需要設置本地郵箱的域名,將如下一行括號內的內容修改成自己的域:
LOCAL— DOMAIN (‘keyan1.stiei.edu.cn,key—an2.stiei.edu.cn’)dnl
而最為關鍵的是要設置SMTP用戶安全認證功能。首先確保sasl庫(軟件包cyrus—sas1)已經安裝,然后編輯sendmail.mc文件,取消如下三行的注釋;
dnl TRUSTl-AUTH—MECH(EXTERNAL DI—GES MD5 CRAM —MD5 LOGIN PLAIN)dnl
//TRUST—AUTH—MECH 的作用是使sendmail不管access文件中如何設置都能RE—LAY那些通過LOGIN、PLAIN或DIGEST—MD5方式驗證的郵件。
dnl define(‘confAUTH —MECHANISMS’,‘EXTERNAL GSSAPI DIGEST—MD5 CRAM —MD5 L0GIN PLAIN’)dnl//‘confAUTH—MECHANISMS’的作用是確定系統的認證方式。
dnl DAEMON— OPTIONS(‘Port=submis=sion,Name=MSA,M=Ea’)dnl
//‘Port— submission,Name=MSA,M=Ea’的作用是開啟認證,并以子進程運行MSA實現郵件的賬戶和密碼的驗證。
最后利用m4工具生成主配置文件Sendmail.cf。分別啟動Sendmail服務和Saslauthd服務,然后執行命令“Sendmail-d0.1一by root|grep SASL”測試sasl。確認以下結果中包含SASL:
NETUNIX NEWDB NIS PIPELININGSASLv2 SCANF S0CKETM AP STARTTLS
也可以使用ehlo命令驗證Sendmail的SMTP認證功能
(4)設置訪問控制和轉發限制
根據案例對限制SMTP中繼的要求,在文件“/etc/mail/aceess”末尾添加如下三行內容:
192.168.11 RELAY
192.168.12 RELAY
Connect:
192.168.12.100 REJECT
3)應用測試
(1)首先測試同一網段192.168.12.0/24(域keyan2.stiei.edu.cn)內的用戶相互收發郵件的情況。圖6是foxmail中usera向userb發送郵件時給出的拒絕訪問的錯誤提示,其原因在于我們在SMTP的轉發數據庫中設置了禁止主機192.168.12.100使用Sendmail服務器,從而導致郵件發送失敗。若取消主機過濾或改變該主機的地址,則能投遞成功,如所示:
圖4 SMTP拒絕訪問
(2)接下來測試跨域且群發郵件的情況。以域keyanl內用戶user1向域keyan2內群組team2發件為例,team2中的所有用戶usera、userb、userc將同時收到該郵件。
圖5 userb接受郵件成功
圖6 team2中的用戶接受郵件成功
4 結束語
郵件服務作為整個互聯網業務中最基本、最重要的組成部分之一,其應用頻率接近甚至超過萬維網服務。然而,電子郵件的廉價性以及一些郵件服務器的開放性,使得郵件服務正面臨著嚴重的垃圾郵件、病毒感染以及服務器濫用等嚴重的安全問題。本文以一個完整的企業郵件系統為案例,研究了針對這些安全問題的關鍵技術,描述了一個綜合的解決方案并通過了應用測試,具有一定的實用參考價值。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://www.guhuozai8.cn/
本文標題:多重安全機制在電子郵件系統中的應用