歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> Unix教程

Unix/Linux平台上常用的郵件系統軟件


  作者:曹江華
  
  在Unix/Linux平台上,常用的郵件系統軟件有Sendmail和Qmail,用戶都可以通過免費下載獲得。
  
  Sendmail的特點
  
  優點
  
  Sendmail是發展歷史悠久的MTA,當前的版本是8.10.2。當然,Sendmail在可移植性、穩定性及確保沒有bug方面有一定的保證。但是Internet上有很多帖子都是關於如何攻擊Sendmail的,這對於管理員來說是一個噩夢。Sendmail在發展過程中產生了一批經驗豐富的Sendmail管理員,並且Sendmail有大量完整的文檔資料,除了Sendmail的寶典《O'Reilly's Sendmail》(Bryan Costales和Eric Allman撰寫)以外,網絡上有大量的tutorial、FAQ和其他的資源。這些大量的文檔對於很好的利用Sendmail的各種特色功能是非常重要的。Sendmail當前來說是一個最成熟的MTA。
  
  缺點
  
  1.安全性
  
  Sendmail在過去的版本中出現過很多安全漏洞,所以使管理員不得不趕快升級版本。而且Sendmail的流行也使其成為攻擊的目標。
  
  另外一個問題是Sendmail一般缺省配置都具有最小的安全特性,從而使Sendmail往往容易被攻擊。
  
  目前對於Sendmail郵件服務器,阻止郵件攻擊的方法有兩種。一種是升級高版本的服務器軟件,利用軟件自身的安全功能。第二種就是采用第三方軟件,利用其諸如動態中繼驗證控制功能來實現。
  
  解決方法有:
  
  (1)編譯Sendmail時的安全考慮
  
  要利用Sendmail 8.9.3的阻止郵件攻擊功能,就必須在系統編譯時對相關參數進行設置,並借助相關的軟件包。目前主要就是利用Berkeley DB數據庫的功能,Berkeley DB包可以從相關站點上下載,並需要預先編譯好。然後將Berkeley DB的相關參數寫進Sendmail的有關文件中。
  
  (2)相關文件的配置
  
  正確編譯好Sendmail是郵件服務器安全控制的基礎,而真正的安全設置主要還是利用相關文件進行的。這種包含控制語句的文件主要是access和relay-domains。
  
  access是郵件安全控制的主要數據庫文件,在該文件中可以按照特定的格式將需要控制的域名、IP地址或目標郵件地址,以及相應的動作值寫入。然後使用makemap命令生成access.db文件(#makemap hash access.db < access),從而使服務器允許或屏蔽郵件中繼和郵件轟炸。
  
  (3)版本號的修改
  
  對於一台郵件服務器,可以通過遠程的25端口telnet命令來獲取服務器的版本信息。如:“telnet Sendmail服務器主機25”就可以查看Sendmail的當前版本。為了防止一些惡意的查看版本信息操作,Sendmail提供了可以對顯示的版本進行修改的操作。
  
  在Sendmail.cf文件中有一句“SmtpGreetingMessage=$j Sendmail $V/$Z; $b”的語句,其中$V/$Z就是版本信息,正常情況下由該參數顯示的版本信息為Sendmail本身的版本。如果要設定成管理員給定的版本信息,只需將該參數改掉,然後加入你所希望的信息即可。例如:當把這句改成“SmtpGreeting Message=$j Sendmail 0.0/0.0; $b”,重啟Sendmail服務,則Sendmail的版本就會變成“Sendmail 0.0”。從而達到隱蔽版本信息的目的。
  
  以上是Sendmail 8.9.3本身帶有的安全功能設置,通過這些安全設置可以大大加強服務器安全性能。但是在防止郵件中繼和郵件炸彈的設置時,如何確定哪些目標地址是需阻止中繼的,哪些又是允許中繼的,似乎只能通過管理員對日志文件的分析和觀測,或者在發現了安全問題後才能確定。因此這種安全控制還僅是事後控制,並且對相關文件修改後還必須重新啟動服務器。如要實現事先動態安全控制還需要采用其他方法。
  
  (4)動態中繼驗證控制
  
  DRAC(Dynamic Relay Authorization Control)動態中繼驗證控制是專門為郵件服務器設計的一個服務器端軟件(http://mail.cc.umanitoba.ca/drac/index.html),它可以安裝在一台SMTP服務器上,並同時為多個郵件服務器提供動態中繼驗證服務。DRAC主要通過自動獲取和動態更新中繼驗證數據庫中的信息來允許合法pop3或IMap用戶使用郵件服務器,從而有效地控制郵件炸彈和非法的郵件中繼。DRAC的原理就是利用pop3或IMap服務器固有的功能來獲取用戶名、密碼和客戶機IP地址等信息,並將這些信息及時映像到驗證數據庫中,供SMTP服務器調用,同時在經過一段時間以後(缺省為30分鐘),其驗證信息將自動失效,需要用戶重新輸入驗證信息。這樣不僅可以保證合法的pop3或IMap用戶能夠正常使用郵件服務器,也可以阻止任何非注冊用戶(包括本地)利用郵件服務器來發送郵件。這種郵件安全控制常常被稱為:“郵件服務之前的pop驗證”(POP-before-SMTP)。
  
  2.效率問題
  
  傳統的UNIX系統下的電子郵件系統由於設計所能承受的用戶數有限,其系統結構存在一定的缺陷,難以承受大用戶量的訪問。比如:
  
  ◆將用戶信息存放於/etc/passwd文件中,在大用戶量的情況下認證效率將會大大降低。
  
  ◆郵件存放通常在/var/mail目錄下面,每個人的郵件是一個文件,用戶數多則郵件文件就多。而在UNIX系統中,同一級目錄中的文件超過一定數量後,文件系統運轉效率將會大大降低。
  
  ◆由於每一個用戶的多封郵件都位於同一個文件中,所以如果在用戶取信過程中出現網絡異常,則很容易引起郵箱的死鎖。
  
  上述問題大大限制了Sendmail郵件系統在用戶數量較大情況下的應用。另外,如果完全以系統用戶做為郵件系統的用戶也存在嚴重的安全隱患。
  
  因此,如果要適應大容量的需要,必須從郵件系統體系結構上,特別是郵件存貯方式和用戶認證方式上進行改進,使之在大用戶量的情況下仍舊保持良好的性能。
  
  Qmail的特點
  
  優點
  
  安全——Qmail將E-mail處理過程分為多個分過程,盡量避免以root用戶身份運行。同時Qmail也禁止對特權用戶(root、daemon等)直接發信。
  
  可靠——Qmail的直接投遞保證了E-mail在投遞過程中不會丟失。Qmail同時支持新的更可靠的信箱格式—Maildir,保證系統在突然崩潰情況下不至破壞整個信箱。
  
  高效——運行在奔騰的BSD上,Qmail每天可以輕松地投遞20萬封電子郵件。
  
  簡單——Qmail要比其他的Internet Mail系統小得多。它通過統一的轉發機制完成Forwarding、Alias和Maillist等功能, Qmail使用簡單高效隊列來處理投遞。Qmail-SMTPD可以由Inetd啟動,節省了一定資源。
  
  缺點
  
  1.代碼結構不好。
  
  2.不是完全遵從標准,它不支持DSN。
  
  3.不遵從支持7bit系統標准,而每次都發送8bit。若郵件接收一方不能處理這種情況,就會出現郵件亂碼的情況。
  
  Sendmail與Qmail的比較
  
  企業郵件問題突顯
  
  企業在使用電子郵件時存在著大量的問題,歸納起來主要有以下幾點:
  
  1.用戶計算機運用水平不高,對基本設置不了解,造成錯誤。在日常工作中,部分企業員工計算機基本知識不夠,應用水平低,包括上網浏覽、收發電子郵件都存在著不同程度的障礙。  
  
  2.電子郵件系統資金投入與維護成本的影響。建立自己企業的電子郵件系統,需要購買專門的電子郵件系統軟件,需要專業系統管理員來配置和維護。如果技術力量不夠,系統出現問題時還會影響工作的開展。在軟件和硬件方面的投資額也比較大,這些都影響著企業建立自己的電子郵件系統。
  
  3.無專業郵件服務提供商為企業服務,客戶服務水平不高。有45.45%的企業把電子郵件系統建立在虛擬主機服務提供商的服務器上,而虛擬主機提供商在技術實力和解決問題等諸多方面都不盡如人意,落後的客戶服務水平制約了企業電子郵件的廣泛運用。 
  
Copyright © Linux教程網 All Rights Reserved