| 導購 | 订阅 | 在线投稿
分享
 
 
 

postfix郵件服務器安全策略

來源:互聯網  2008-05-31 00:05:12  評論

郵件系統是linux網絡應用的重要組成,一個完整的郵件系統包括三個部分:底層操作系統(Linux Operation),郵件傳送代理(Mail Transport Agent,MTA),郵件分

發代理(Mail Delivery Agent,MDA),郵件用戶代理(Mail User Agent,MUA)。

Postfix是一個非常優秀的MTA,她素以高效、安全的特點而著稱。Postfix是作者在UNIX上所見過的MTA中在反垃圾郵件(Anti-Spam或Anti-UCE)方面做得最好的一個,甚至有很多公司在Postfix代碼的基礎上進行二次開發而推出反垃圾郵件網關産品。MTA的反垃圾郵件功能,實際上就是在MTA處理過程中對會話進行過濾。這個過濾不但過濾了發往自身的垃圾郵件,而且還防止了自身被惡意利用發送垃圾郵件。Postfix實現了目前所有主要的MTA過濾技術。postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟件。和Sendmail相比Postfix更快、更容易管理、更靈活、更安全,同時還與sendmail保持足夠的兼容性。Sendmail相比Postfix對比見表1.

表1 Sendmail與Postfix的對比

MTA

成熟性

安全性

特色

性能

Sendmail兼容性

模塊化設計

Postfix

支持

Sendmail

垃圾郵件(SPAM) 也稱作UCE (Unsolicited Commercial Email,未經許可的商業電子郵件) 或UBE (Unsolicited Bulk Email,未經許可的大量電子郵件) 。中國互聯網協會對垃圾郵件給出了一個正式的定義,只要是符合下述四條之一的電子郵件都可被稱爲垃圾郵件:

(1)收件人事先沒有提出要求或同意接收的廣告、電子刊物、各種形式的宣傳品等宣傳性的電子郵件。

(2)收件人無法拒收的電子郵件。

(3)隱藏發件人身份、地址、標題等信息的電子郵件;。

(4)含有虛假的信息源、發件人、路由等信息的電子郵件。

垃圾電子郵件成爲了人們最頭疼的問題之一。在Windows操作系統中也許您已經嘗夠了垃圾郵件給您帶來的苦頭,不要以爲在Linux操作系統平台中就能避免垃圾電子郵件給我們帶來的騷擾,反擊和過濾垃圾電子

郵件是一件很重要的工作。下面是一些在Linux中廣泛使用的防垃圾郵件技術。

(1)SMTP用戶認證

目前常見並十分有效的方法是,在郵件傳送代理(Mail Transport Agent,MTA)上對來自本地網絡以外的互聯網的發信用戶進行SMTP認證,僅允許通過認證的用戶進行遠程轉發。這樣既能夠有效避免郵件傳送代理服務器爲垃圾郵件發送者所利用,又爲出差在外或在家工作的員工提供了便利。如果不采取SMTP認證,則在不犧牲安全的前提下,設立面向互聯網的Web郵件網關也是可行的。此外,如果SMTP服務和POP3服務集成在同一服務器上,在用戶試圖發信之前對其進行POP3訪問驗證(POP before SMTP)就是一種更加安全的方法,但在應用的時候要考慮到當前支持這種認證方式的郵件客戶端程序還不多。

(2)逆向名字解析

無論哪一種認證,其目的都是避免郵件傳送代理服務器被垃圾郵件發送者所利用,但對于發送到本地的垃圾郵件仍然無可奈何。要解決這個問題,最簡單有效的方法是對發送者的ip地址進行逆向名字解析。通過DNS查詢來判斷發送者的IP與其聲稱的名字是否一致,例如,其聲稱的名字爲mx.hotmail.com,而其連接地址爲20.200.200.200,與其DNS記錄不符,則予以拒收。這種方法可以有效過濾掉來自動態IP的垃圾郵件,對于某些使用動態域名的發送者,也可以根據實際情況進行屏蔽。但是上面這種方法對于借助Open Relay的垃圾郵件依然無效。對此,更進一步的技術是假設合法的用戶只使用本域具有合法互聯網名稱的郵件傳送代理服務器發送電子郵件。例如,若發件人的郵件地址爲someone@yahoo.com,則其使用的郵件傳送代理服務器的Internet名字應具有yahoo.com 的後綴。這種限制並不符合SMTP協議,但在多數情況下是切實有效的。需要指出的是,逆向名字解析需要進行大量的DNS查詢。

(3)實時黑名單過濾

以上介紹的防範措施對使用自身合法域名的垃圾郵件仍然無效。對此比較有效的方法就是使用黑名單服務了。黑名單服務是基于用戶投訴和采樣積累而建立的、由域名或IP組成的數據庫,最著名的是RBL、DCC和Razor等,這些數據庫保存了頻繁發送垃圾郵件的主機名字或IP地址,供MTA進行實時查詢以決定是否拒收相應的郵件。但是,目前各種黑名單數據庫難以保證其正確性和及時性。例如,北美的RBL和DCC包含了我國大量的主機名字和IP地址,其中有些是早期的Open Relay造成的,有些則是由于誤報造成的。但這些遲遲得不到糾正,在一定程度上阻礙了我國與北美地區的郵件聯系,也妨礙了我國的用戶使用這些黑名單服務。其中使用BRL認證過程見圖1.

postfix郵件服務器安全策略

圖1 使用BRL過濾垃圾郵件的過程

(4)內容過濾

即使使用了前面諸多環節中的技術,仍然會有相當一部分垃圾郵件漏網。對此情況,目前最有效的方法是基于郵件標題或正文的內容過濾。其中比較簡單的方法是,結合內容掃描引擎,根據垃圾郵件的常用標題語、垃圾郵件受益者的姓名、電話號碼、Web地址等信息進行過濾。更加複雜但同時更具智能性的方法是,基于貝葉斯概率理論的統計方法所進行的內容過濾,該算法最早由Paul Graham提出(http://www.paulgraham.com/spam.html),並使用他自己設計的Arc語言實現。這種方法的理論基礎是通過對大量垃圾郵件中常見關鍵詞進行分析後得出其分布的統計模型,並由此推算目標郵件是垃圾郵件的可能性。這種方法具有一定的自適應、自學習能力,目前已經得到了廣泛的應用。最有名的垃圾郵件內容過濾是Spamassassin,它使用Perl語言實現,集成了以上兩種過濾方法,可以與當前各種主流的MTA集成使用。內容過濾是以上所有各種方法中耗費計算資源最多的,在郵件流量較大的場合,需要配合高性能服務器使用。 下面以RHEL 4.0爲例,介紹上面幾種技術應對安全隱患。

安裝postfix

1、查詢Sendmail是否安裝:

#rpm -qa |grep sendmail

2、強行卸載Sendmail

# rpm -e sen

dmail sendmail-cf sendmail-doc –nodeps

3、用以下命令殺死運行中的sendmail進程:

# kill all sendmail

4、下載安裝Posfix

#wget ftp://ftp.midvalleyhosting.com/pub/postfix/official/postfix-2.1.4.t ar.gz /tmp

#tar -vxf postfix-2.1.4.tar.gz

#cd postfix-2.1.4

5.編譯源代碼包

# make

6.建立一個新用戶「postfix」,該用戶必須具有唯一的用戶ID號和組ID號,同時應該讓該用戶不能登錄到系統,也即不爲該用戶指定可執行的登錄外殼程序和可用的用戶宿主目錄。我們可以先用adduser postfix 添加用戶再編輯/etc/passwd文件中的相關條目如下所示:

# useradd postfix

# postfix:*:12345:12345:postfix:/no/where:/no/shell

#groupadd postdrop

7.確定/etc/aliases文件中包含如下的條目:

# postfix: root

8. 以root用戶登錄,在/tmp/ postfix目錄下執行命令:

# ./INSTALL.sh

9.啓動postfix

# postfix start

postfix的配置文件位于/etc/postfix下,這四個文件就是postfix最基本的配置文件,它們的區別在于:mail.cf:是postfix主要的配置文件。Install.cf:包含安裝過程中安裝程序産生的postfix初始化設置。master.cf:是postfix的master進程的配置文件,該文件中的每一行都是用來配置postfix的組件進程的運行方式。postfix-script:包裝了一些postfix命令,以便我們在linux環境中安全地執行這些postfix命令。

10、使用postfix本身規則拒收垃圾郵件:

1、 使用頭信息過濾郵件:

通常我們可以使用例如To、From、Subject等這樣標准的郵件頭來拒收垃圾郵件。在mail.cf中加入一行:header_checks = regexp:/etc/postfix/header_checks,它告訴postfix讀取名爲/etc/postfix/reject-headers的文件, 因爲缺省地,postfix不進行信頭過濾。

格式是:regexp REJECT ;其中regexp是常規表達式,下面是一個標准的/etc/postfix/reject-headers文件其中一般以下包括內容:

/^To You @xoom\.com $/ REJECT

/^From mailer-daemon @myclient.com $ / REJECT

/^Subject: Make menoey fast / REJECT

以上三行分別說明:

1、拒收郵件頭中包括字符串:You @xoom\.com 的郵件。

2、拒收來自mailer-daemon @myclient.com的郵件。

3、拒

收郵件主題:包括Make menoey fast內容的郵件。

2、 通過阻止IP地址或主機名方式訪問郵件服務器來拒收郵件:

(1) 在main.cf配置文件中使用以下行定義網絡地址「

# mynetwork=192.168.1.0/24

表示除非客戶端的ip地址符合$mynetworks參數定義的範圍則接受該客戶端的連接請求,才轉發該郵件。

(2) 添加一行拒絕本地網絡以外的主機訪問本地郵件服務器:

smtpd_client_restrictions = permit_mynetworks, reject_unknown_client

(3)在postfix中添加RBL功能

RBL(Realtime Blackhole List)是實時黑名單。國外有一些機構提供RBL服務,它們把收集到的專發垃圾郵件的IP地址加入他們的黑名單,我們只要在postfix中加入RBL認證功能,就會使我們的郵件服務器在每次收信時都自動到RBL服務器上去查實,如果信件來源于黑名單,則postfix會拒收郵件,從而少受垃圾郵件之苦。通常在mail.cf加入

map_rb1_domains=mail-abuse.org

smtp_client_restrictions=reject_map1_rb1

其中第一行設置需要聯系得到的RBL列表的所有主機,接著設置需要進行應用的限制。然後存盤,從新啓動postfix服務器。

國外比較有名的RBL是http//www.ordb.org,他們的RBL可免費使用,去年國內的http://anti-spam.org.cn也提供類似的服務,但它必須先注冊才能使用免費。

另外垃圾郵件的防範必須掌握好尺度,postfix本身提供了header_check、body_check、access、classes等方式來拒絕郵件,可以參考如下地址的樣例,結合自己的情況進行修改也能阻止一部分垃圾郵件:

http://www.securitysage.com/guides/postfix_uce_header.html

http://www.securitysage.com/guides/postfix_uce_body.html

http://www.securitysage.com/guides/postfix_uce_access.html

http://www.securitysage.com/guides/postfix_uce_class.html

不過以上配置文件需要管理員根據自己情況手工進行修改,如果直接采用的話,那麽國內很多郵件你將收不到。

二、安裝IMSS

趨勢科技的IMSS(InterScan Messaging Security Suite)版整合了垃圾郵件防治服務SPS(Spam PRevention Solution)2.0版。一般來說,過濾服務器上的垃圾郵件主要采取如下兩種方法:一是根據設置的規則直接拒收垃圾郵件;二是將郵件接收下來後再實施過濾。相比來看,前一種方法具有更高的效率,對郵件直接拒收,既節省網絡帶寬,又可減小服務器的性能開銷。但是,這樣做常常容易「殃及無辜」,使郵件用戶丟失信件。後一種方法盡管效率不高,卻可能減少出錯的頻率。如果服務器首先對接收下來的郵件進行有效分析,然後再交由用戶進行選擇,那麽用戶就不會爲E-mail的無故丟失而煩惱。IMSS屬于後者。

IMSS主要功能:

1. 利用數據庫對比實現垃圾郵件過濾 :提供被動式的垃圾郵件攔阻方式,利用建立垃圾郵件的黑名單數據庫,根據來源的IP地址、網域,寄件人的電子郵件地址或是內容、標頭所含的關

鍵詞等做爲數據庫的基礎。再將寄達的電子郵件與這已知的垃圾郵件數據庫比對,藉以判別是否爲垃圾郵件然後再來做攔阻的動作

2. 智能型判斷過濾垃圾郵件 :提供啓發式(Heuristic)掃描引擎,實現主動式的智能攔阻方式,根據郵件的多項特征,包括內容、標頭、格式等來判斷這封email會不會是封垃圾郵件,再來針對這封電子郵件做處理。可以用來辨識和監測已識別及未識別的新型垃圾郵件。

3. 支持彈性設定垃圾郵件過濾器規則 :爲了規避誤判風險,當SPS檢測出垃圾郵件之後,還會依照確信程度的不同分作四種等級,再依據設定進行「只做標記」、「隔離郵件」及「直接刪除」操作。

4. 支持黑名單及白名單功能 :支持黑名單(惡意郵件地址)及白名單(可信郵件地址)功能 。可以針對郵件來源網域,寄件者甚至是電子郵件本身的關鍵詞來做特別處理的動作。這項功能可以實現針對某些網域或是寄件者的信件設定規則,不僅要嚴加看管,必要情況下可以直接列入拒絕往來列表。

5. 實現與IMSS郵件病毒過濾網關集成: 通過産品的深度集成,可以實現多種判別條件的組合,能夠更准確、更高效地進行網關級的郵件過濾,更完善地保護企業內部網絡資源。

6. 多平台支持(Windows 2000/2003、Linux、Unix)。

硬件配置:CPU:Intel Pentium III processor 1 GHz 以上處理器,Memory:1 GB RAM,Disk Space:最小 2 GB 硬盤空間.交換空間2GB。

1. 修改/etc/postfix/main.cf中如下參數,更改爲:

myhostname = trendmicro.com.cn

mydomain = trendmicro.com.cn

myorigin = trendmicro.com.cn

inet_interfaces=all

mydestination = trendmicro.com.cn

local_recipient_maps =

//黑色域名部分請填寫對應的domain name.

2. 在 /var/spool/postfix目錄下新建etc目錄,並運行:

# cp /etc/resolv.conf /var/spool/postfix/etc/

3、下載安裝IMSS 5.5

下載之前需要到軟件官方網站,注冊並且得到一個AC—CODE,您需要提供以上激活碼以得到病毒碼及其他安全補丁的下載.下載鏈接:http://www.trendmicro.com/ftp/products/interscan/imss55linux1064.tar.gz

將下載文件拷貝到一個臨時目錄/tmp中。

# tar vxf imss55linux1064.tar.gz

#make;make install

#./isinst

系統提供了一個交換式的命令行界面,安裝中請選擇支持postfix,並根據實際情況確定是否安裝集中管理平台(TMCM)。安裝結束系統提示可以打開Web管理的IP地址和端口號:見圖2。

postfix郵件服務器安全策略

圖2 IMSS 5.5 安裝完成

4、命令行下的參數配置:

1、 1、/etc/postfix/main.cf文件末尾添加如下內容:

default_process_limit=200

imss_timeout=10m

imss_connect_timeout=1s

content_filter = imss:localhost:10025

imss_destination_recipient_limit=200

imss_destination_concurrency_limit=20

2、在/etc/postfix/master.cf文件末尾添加以下內容:

#IMSS: content filter smtp transport "imss" for IMSS

imss unix - - n - - smtp

-o disable_dns_lookups=yes

-o smtp_connect_timeout=$imss_connect_timeout

-o smtp_data_done_timeout=$imss_timeout

#IMSS: content filter loop back smtpd

localhost:10026 inet n - n - 20 smtpd

-o content_filter=

-o smtpd_timeout=$imss_timeout

-o local_recipient_maps=

-o myhostname=localhost.$mydomain

3. Relay 控制

a. 允許Relay的Domain設置:

編輯/etc/postfix/main.cf文件,在如下位置添加允許的任意Relay的Domain,如:

relay_domains = 263.net

b. 允許接受的Domain設置:

編輯/etc/postfix/main.cf文件,在如下位置添加允許接受的Domain

mydestination = trendmicro.com.cn

c. 不受Relay限制的地址設置

編輯/etc/postfix/main.cf文件,在如下位置添加允許接受的Domain

mynetworks = 10.11.240.0/24, 127.0.0.1

說明:所謂Relay就是指別人能用這台SMTP郵件服務器,給任何人發信,這樣別有用心的垃圾發送者可以使用筆者單位的這台郵件服務器大量發送垃圾郵件,而最後別人投訴的不是垃圾發送者,而是單位的服務器。

參數relay_domains %26amp; mydestination的主要區別在于:

Postfix會轉發目的地符合 $relay_domains及其子域的郵件;

Postfix會接受目的地符合 $mydestination的郵件,並且在沒有smart host的情況下嘗試對這些域進行本地落地處理,因而,爲了能正常的接受這些郵件,一定要對齊設置smart host;IMSS UNIX的Relay 控制界面設置中的域,即是$mydestination參數值,因而,一定要在IMSS的Domain-Based Delivery中做相應Deliver設置。

5、重新啓動Postfix服務器:

#postfix start

重新讓postfix讀取更改後的配置只需運行「postfix reload」即可。

打開服務

器的8081端口:

# iptables -A FORWARD -i eth0 -p tcp --dport 8081 -j ACCEPT

iptables -A FORWARD -i eth0 -p udp --dport 8081 -j ACCEPT

6、啓用Web方式管理:

服務器從新啓動完畢,可以進行Web方式管理,開Web浏覽器中輸入:http://yourip:8081/IMSS.html或者http://yourhost:8445/IMSS.html 即可。第一次進入Web界面時系統提示輸入密碼,此時密碼是空的,可以直接用鼠標點擊「Enter」鍵進入Web管理界面後,馬上設定管理員密碼。見圖3。

postfix郵件服務器安全策略

圖-3 首次登陸界面

點擊「Policy Manager」選項,下面就可以制定自己的郵件服務器郵件管理策略,見圖4。

postfix郵件服務器安全策略

圖-4 基于Web方式的IMSS 5.5的郵件管理策略界面

5 、軟件升級

可以采取兩種方法Web方式和命令行,這裏筆者喜歡在命令行下操作:

下載升級布丁,鏈接:http://www.trendmicro.com/ftp/products/

patches/isem522-imss55-linux-patch1.tar.gz

#mv isem522-imss55-linux-patch1.tar.gz /tmp

#cd /tmp

#gunzip isem522-imss55-linux-patch1.tar.gz

#./patchinstall install

軟件升級過程中IMSS5.5服務將暫時中止,升級後系統會自動啓動IMSS 5.5服務。見圖-5。

postfix郵件服務器安全策略

圖5 升級IMSS數據庫

三、使用專用工具防止垃圾郵件

還可以利用其他的專用工具來防止垃圾郵件,比較著名的有由Matt Sergeant、Craig Hughes和Justin Mason于發布的SpamAssassin(SA)。目前最新版本是3.0.2,它是較爲流行的反垃圾郵件軟件,據SpamAssassin供應商 Deersoft的統計,目前大約有3萬台Unix服務器上使用了SpamAssassin。SpamAssassin利用Perl語言來對郵件內容進行規則匹配,從而達到判斷過濾垃圾郵件的目的。它的判斷方式是基于評分的方式,也就是說如果這封郵件符合某條規則,則給與一定分值;當累計的分值超過了一定限度時,則判定該郵件爲垃圾郵件。對Sendmail、Qmail、Postfix和Exim等各種郵件平台都適用。當它被最終用戶或系統管理員調用時,它可以方便地與大多數流行的郵件處理系統進行接口互連。SpamAssassin在對一封信件應用了各項規則之後,生成一個分值來表示其爲垃圾郵件的可能性。它可以設置上百條規則,包括對郵件頭的處理、對郵件內容的處理及對郵件結構的處理等。每條規則都對應一個分值(可正、可負),每封信件的分值就是所匹配規則的分值之和。如果分值爲負,表示這封信件是正常的;相反,如果分值爲正,則表示信件有問題。如果超過了某個默認的分值,過濾器就會標識其可能爲垃圾郵件,然後交由用戶做出最終抉擇。SpamAssassin的安裝過程比較簡單。啓動SpamAssassin服務器:

# service spamassassin start (啓動SpamAssassin服務器)

Starting spamd: [ 確定 ]

配置過程:

SpamAssassin預設了許多默認規則,可以在/usr/share/spamassassin下找到,用戶想添加自己的規則,可以配置通過/etc/mail/spamassassin/local.cf文件實現。要在其中添加白名單(即可以確信不會發送垃圾郵件的發件人列表)。設置代碼如下:

whitelist_from_rcvd people@basic.com

whitelist_from_rcvd @ people.com

以上兩條規則將people@basic.com 郵箱和@ people.com 整個域加入了白名單。下面還要把SpamAssassin與Sendmail(此處以Postfix爲例、Qmail略有不同)整合在一起。最簡單的方法是使用procmail來調用SpamAssassin過濾器。procmail來調用SpamAssassin的過程見圖6。

postfix郵件服務器安全策略

圖6 procmail來調用SpamAssassin的過程

添加以下內容到/etc/procmailrc文件:

:0fw

| /usr/bin/spamassassin

:0

* X-Spam-Status: Yes

spam

如果希望SpamAssassin不檢查大郵件,可以對其做出限制,添加一行:

:0fw *

這段代碼表示把郵件檢查的大小限制在1000K字節以內。SpamAssassin還提供了一個專門的spamd後台守護程序,可以設置爲系統啓動時自動啓動它。在Mail-SpamAssassin-3.-0.2/spamd/下有一個redhat-rc-script.sh腳本,將此腳本放入Red Hat的啓動目錄/etc/rc.d/init.d/下即可。同時,還需要對/etc/procmailrc文件做如下修改:

:0fw

| /usr/bin/spamc -s 100000

這樣就可以通過控制spamd進程來調整過濾器的運行狀態。配置完成後,可以發郵件進行測試。如果看到在郵件頭出現與spam檢查相關的幾項內容,表示SpamAssassin已經開始發揮作用。

除了設置內部的規則之外,SpamAssassin也可以訪問其它外部的垃圾郵件過濾規則集,這樣可以進一步增強其適用性。Chinese_rules.cf是用于垃圾郵件過濾系統SpamAssassin的中文垃圾郵件過濾規則集。由于以前沒有中文的過濾規則集,SpamAssassin對中文郵件過濾的准確性不高。CCERT反垃圾郵件研究小組推出了第一個基于SpamAssassin的中文垃圾郵件過濾規則集Chinese_rules.cf。該規則集每周更新一次。把Chinese_rules.cf複制到/usr/share/spamassassin配置文檔中的命令:

# wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf

自動更新:

CCERT每周更新一次規則集,更新使用CCERT反垃圾郵件服務在6個月內處理過的垃圾郵件爲樣本。經常更新Chinese_rules.cf會使過濾效果更好。

Linux有一個稱爲crond的守護程序,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令文件的內容,並在設定的時間執行這些文件中的命令。用戶可以通過crontab 命令來建立、修改、刪除這些命令文件。例如用 crontab命令實現每周一08:35自動更新:

首先建立一個文件,文件名稱myproject(名稱自己設定):

#crontab -e

文件內容:

35 08 * * 1 wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/init-script restart

用vi編輯後存盤退出。

(3)使用 crontab命令添加到任務列表中:

#crontab myproject

這樣Linux服務器會在每星期一的8點35分會自動下載Chinese_rules.cf更新規則。

SpamAssassin使用基于規則的垃圾郵件過濾技術,比分布式黑名單運行得更快,因爲分布式黑名單需要查詢網絡服務器。對大多數用戶而言,它能捕捉幾乎所有的垃圾郵件,而不需要隔離合法郵件。實際上它還提供了無限的調整和定制選項。

四、其他措施

1.隱藏郵件服務器IP地址

如果網絡中有專門發送郵件的中央郵件服務器,爲許多主機提供訪問,那麽必須隱藏郵件地址的主機名部分,(以postfix郵件服務器爲例)例如一條名爲:pc-jok.cao.com的主機上有一個jok用戶那麽它的郵件名稱是:jok@pc-jok.cao.com main.cf加入兩行:

masquerade_domain=$mydomian

masquerade_exceptions=root

第一行通知postfix郵件服務器對所在德 域允許地址化裝,通過$mydomian變量完成,這樣jok@pc-jok.cao.com變爲jok@cao.com,第二行將root用戶排除,即不對root用戶僞裝。

2.防範DOS攻擊:

DOS(拒絕服務攻擊)一段時間以來成爲許多單位郵件服務器的最大殺手。對于郵件服務器的拒絕服務攻擊原理很簡單,就是不斷地向郵件服務器發送大量的郵件,直到超過最大容量而崩潰爲止。拒絕服務攻擊有時並非有針對性的黑客行爲,現在的病毒常常會利用自身的SMTP引擎,向感染電腦裏的存在的地址狂發大量郵件。如果中小企業認爲自己的公司小,不會成爲攻擊目標,這種想法已經不現實了。對于中小企業來說,要預防DOS攻擊比大型企業要容易,因爲小型企業往往不會有太多的郵件來往,我們可以根據業務量的大小,限制每個連接的郵件數,以及每封郵件的收件人數。這樣,用戶對于DOS攻擊就可以做到盡早地發現並采取措施,而不會等到服務器崩潰的時候才發現被人實施了DOS攻擊。步驟如下:

2. 限制服務器使用的進程數目

可以通過指定/etc/postfix/main.cf文件的下列參數來控制使用的並發進程總量:

default_process_limit = 50

這樣服務器被允許同時允許60個並發進程(例如smtp客戶端、smtp服務器端和本地分發)。如果希望增加同時接受1000條信息,可以修改 /etc/postfix/ master.cf文件,使smtp服務的最大進程達到1000,如下所示:

#=============================================================

# service type private unpriv chroot wakeup maxproc command + args

# (yes) (yes) (yes) (never) (60)

# ===========================================

smtp inet n - n - 1000 smtpd

3.控制最大郵件尺寸

可以修改/etc/postfix/main.cf如下參數控制郵件尺寸

message_size_limit = 1073741824

這樣服務器可以處理最大郵件尺寸是1073741824字節 (10兆).

4. 控制同時發送一個遠程服務器的郵件數量

同時向遠程服務器發送太多SMTP連接是不合理的,也是危險的(可能會被認爲是

發送垃圾郵件)。一些大的ISP站點(AOL、 Yahoo!、 Hotmail)通常要求優

化等到許可才能使用發送並發連接。Postfix 也能通過下面參數設定一個站點的最

大並發連接數量:

default_destination_concurrency_limit = 20

這樣使到達單一站點的並發連接數量不能超過20個。

5.安裝防病毒軟件:

F-Prot Antivirus軟件包安裝和配置過程:軟件包格式: fp-linux-ws.rpm

軟件包的大小(KB):3970KB,下載地址:

http://files.f-prot.com/files/linux-x86/fp-linux-ws.rpm

安裝F-Prot Antivirus軟件包前,請先啓動SpamAssassin服務器:

Wget http://files.f-prot.com/files/linux-x86/fp-linux-ws.rpm

Wget -ivh fp-linux-ws.rpm

升級的F-Prot Antivirus病毒庫的操作:

# cd /usr/local/f-prot/tools/

# ./check-updates.pl (升級命令)

***************************************

* F-Prot Antivirus Updater *

***************************************

Nothing to be done...

總結:Postfix是目前比較流行的,擁有相當好的安全性和高效率的郵件系統。

Postfix自身帶了很多反垃圾郵件的功能可以阻止一部分垃圾郵件,但是面對

日益癡狂的垃圾郵件還是需要一些專業軟件的支持。

郵件系統是linux網絡應用的重要組成,一個完整的郵件系統包括三個部分:底層操作系統(Linux Operation),郵件傳送代理(Mail Transport Agent,MTA),郵件分 發代理(Mail Delivery Agent,MDA),郵件用戶代理(Mail User Agent,MUA)。 Postfix是一個非常優秀的MTA,她素以高效、安全的特點而著稱。Postfix是作者在UNIX上所見過的MTA中在反垃圾郵件(Anti-Spam或Anti-UCE)方面做得最好的一個,甚至有很多公司在Postfix代碼的基礎上進行二次開發而推出反垃圾郵件網關産品。MTA的反垃圾郵件功能,實際上就是在MTA處理過程中對會話進行過濾。這個過濾不但過濾了發往自身的垃圾郵件,而且還防止了自身被惡意利用發送垃圾郵件。Postfix實現了目前所有主要的MTA過濾技術。postfix是Wietse Venema在IBM的GPL協議之下開發的MTA(郵件傳輸代理)軟件。和Sendmail相比Postfix更快、更容易管理、更靈活、更安全,同時還與sendmail保持足夠的兼容性。Sendmail相比Postfix對比見表1. 表1 Sendmail與Postfix的對比 MTA 成熟性 安全性 特色 性能 Sendmail兼容性 模塊化設計 Postfix 中 中 中 中 支持 是 Sendmail 高 低 中 低 否 垃圾郵件(SPAM) 也稱作UCE (Unsolicited Commercial Email,未經許可的商業電子郵件) 或UBE (Unsolicited Bulk Email,未經許可的大量電子郵件) 。中國互聯網協會對垃圾郵件給出了一個正式的定義,只要是符合下述四條之一的電子郵件都可被稱爲垃圾郵件: (1)收件人事先沒有提出要求或同意接收的廣告、電子刊物、各種形式的宣傳品等宣傳性的電子郵件。 (2)收件人無法拒收的電子郵件。 (3)隱藏發件人身份、地址、標題等信息的電子郵件;。 (4)含有虛假的信息源、發件人、路由等信息的電子郵件。 垃圾電子郵件成爲了人們最頭疼的問題之一。在Windows操作系統中也許您已經嘗夠了垃圾郵件給您帶來的苦頭,不要以爲在Linux操作系統平台中就能避免垃圾電子郵件給我們帶來的騷擾,反擊和過濾垃圾電子 郵件是一件很重要的工作。下面是一些在Linux中廣泛使用的防垃圾郵件技術。 (1)SMTP用戶認證 目前常見並十分有效的方法是,在郵件傳送代理(Mail Transport Agent,MTA)上對來自本地網絡以外的互聯網的發信用戶進行SMTP認證,僅允許通過認證的用戶進行遠程轉發。這樣既能夠有效避免郵件傳送代理服務器爲垃圾郵件發送者所利用,又爲出差在外或在家工作的員工提供了便利。如果不采取SMTP認證,則在不犧牲安全的前提下,設立面向互聯網的Web郵件網關也是可行的。此外,如果SMTP服務和POP3服務集成在同一服務器上,在用戶試圖發信之前對其進行POP3訪問驗證(POP before SMTP)就是一種更加安全的方法,但在應用的時候要考慮到當前支持這種認證方式的郵件客戶端程序還不多。 (2)逆向名字解析 無論哪一種認證,其目的都是避免郵件傳送代理服務器被垃圾郵件發送者所利用,但對于發送到本地的垃圾郵件仍然無可奈何。要解決這個問題,最簡單有效的方法是對發送者的ip地址進行逆向名字解析。通過DNS查詢來判斷發送者的IP與其聲稱的名字是否一致,例如,其聲稱的名字爲mx.hotmail.com,而其連接地址爲20.200.200.200,與其DNS記錄不符,則予以拒收。這種方法可以有效過濾掉來自動態IP的垃圾郵件,對于某些使用動態域名的發送者,也可以根據實際情況進行屏蔽。但是上面這種方法對于借助Open Relay的垃圾郵件依然無效。對此,更進一步的技術是假設合法的用戶只使用本域具有合法互聯網名稱的郵件傳送代理服務器發送電子郵件。例如,若發件人的郵件地址爲someone@yahoo.com,則其使用的郵件傳送代理服務器的Internet名字應具有yahoo.com 的後綴。這種限制並不符合SMTP協議,但在多數情況下是切實有效的。需要指出的是,逆向名字解析需要進行大量的DNS查詢。 (3)實時黑名單過濾 以上介紹的防範措施對使用自身合法域名的垃圾郵件仍然無效。對此比較有效的方法就是使用黑名單服務了。黑名單服務是基于用戶投訴和采樣積累而建立的、由域名或IP組成的數據庫,最著名的是RBL、DCC和Razor等,這些數據庫保存了頻繁發送垃圾郵件的主機名字或IP地址,供MTA進行實時查詢以決定是否拒收相應的郵件。但是,目前各種黑名單數據庫難以保證其正確性和及時性。例如,北美的RBL和DCC包含了我國大量的主機名字和IP地址,其中有些是早期的Open Relay造成的,有些則是由于誤報造成的。但這些遲遲得不到糾正,在一定程度上阻礙了我國與北美地區的郵件聯系,也妨礙了我國的用戶使用這些黑名單服務。其中使用BRL認證過程見圖1. [url=/bbs/detail_1734700.html][img]http://image.wangchao.net.cn/it/1323600945368.jpg[/img][/url] 圖1 使用BRL過濾垃圾郵件的過程 (4)內容過濾 即使使用了前面諸多環節中的技術,仍然會有相當一部分垃圾郵件漏網。對此情況,目前最有效的方法是基于郵件標題或正文的內容過濾。其中比較簡單的方法是,結合內容掃描引擎,根據垃圾郵件的常用標題語、垃圾郵件受益者的姓名、電話號碼、Web地址等信息進行過濾。更加複雜但同時更具智能性的方法是,基于貝葉斯概率理論的統計方法所進行的內容過濾,該算法最早由Paul Graham提出(http://www.paulgraham.com/spam.html),並使用他自己設計的Arc語言實現。這種方法的理論基礎是通過對大量垃圾郵件中常見關鍵詞進行分析後得出其分布的統計模型,並由此推算目標郵件是垃圾郵件的可能性。這種方法具有一定的自適應、自學習能力,目前已經得到了廣泛的應用。最有名的垃圾郵件內容過濾是Spamassassin,它使用Perl語言實現,集成了以上兩種過濾方法,可以與當前各種主流的MTA集成使用。內容過濾是以上所有各種方法中耗費計算資源最多的,在郵件流量較大的場合,需要配合高性能服務器使用。 下面以RHEL 4.0爲例,介紹上面幾種技術應對安全隱患。 安裝postfix 1、查詢Sendmail是否安裝: #rpm -qa |grep sendmail 2、強行卸載Sendmail # rpm -e sen dmail sendmail-cf sendmail-doc –nodeps 3、用以下命令殺死運行中的sendmail進程: # kill all sendmail 4、下載安裝Posfix #wget ftp://ftp.midvalleyhosting.com/pub/postfix/official/postfix-2.1.4.t ar.gz /tmp #tar -vxf postfix-2.1.4.tar.gz #cd postfix-2.1.4 5.編譯源代碼包 # make 6.建立一個新用戶「postfix」,該用戶必須具有唯一的用戶ID號和組ID號,同時應該讓該用戶不能登錄到系統,也即不爲該用戶指定可執行的登錄外殼程序和可用的用戶宿主目錄。我們可以先用adduser postfix 添加用戶再編輯/etc/passwd文件中的相關條目如下所示: # useradd postfix # postfix:*:12345:12345:postfix:/no/where:/no/shell #groupadd postdrop 7.確定/etc/aliases文件中包含如下的條目: # postfix: root 8. 以root用戶登錄,在/tmp/ postfix目錄下執行命令: # ./INSTALL.sh 9.啓動postfix # postfix start postfix的配置文件位于/etc/postfix下,這四個文件就是postfix最基本的配置文件,它們的區別在于:mail.cf:是postfix主要的配置文件。Install.cf:包含安裝過程中安裝程序産生的postfix初始化設置。master.cf:是postfix的master進程的配置文件,該文件中的每一行都是用來配置postfix的組件進程的運行方式。postfix-script:包裝了一些postfix命令,以便我們在linux環境中安全地執行這些postfix命令。 10、使用postfix本身規則拒收垃圾郵件: 1、 使用頭信息過濾郵件: 通常我們可以使用例如To、From、Subject等這樣標准的郵件頭來拒收垃圾郵件。在mail.cf中加入一行:header_checks = regexp:/etc/postfix/header_checks,它告訴postfix讀取名爲/etc/postfix/reject-headers的文件, 因爲缺省地,postfix不進行信頭過濾。 格式是:regexp REJECT ;其中regexp是常規表達式,下面是一個標准的/etc/postfix/reject-headers文件其中一般以下包括內容: /^To You @xoom\.com $/ REJECT /^From mailer-daemon @myclient.com $ / REJECT /^Subject: Make menoey fast / REJECT 以上三行分別說明: 1、拒收郵件頭中包括字符串:You @xoom\.com 的郵件。 2、拒收來自mailer-daemon @myclient.com的郵件。 3、拒 收郵件主題:包括Make menoey fast內容的郵件。 2、 通過阻止IP地址或主機名方式訪問郵件服務器來拒收郵件: (1) 在main.cf配置文件中使用以下行定義網絡地址「 # mynetwork=192.168.1.0/24 表示除非客戶端的ip地址符合$mynetworks參數定義的範圍則接受該客戶端的連接請求,才轉發該郵件。 (2) 添加一行拒絕本地網絡以外的主機訪問本地郵件服務器: smtpd_client_restrictions = permit_mynetworks, reject_unknown_client (3)在postfix中添加RBL功能 RBL(Realtime Blackhole List)是實時黑名單。國外有一些機構提供RBL服務,它們把收集到的專發垃圾郵件的IP地址加入他們的黑名單,我們只要在postfix中加入RBL認證功能,就會使我們的郵件服務器在每次收信時都自動到RBL服務器上去查實,如果信件來源于黑名單,則postfix會拒收郵件,從而少受垃圾郵件之苦。通常在mail.cf加入 map_rb1_domains=mail-abuse.org smtp_client_restrictions=reject_map1_rb1 其中第一行設置需要聯系得到的RBL列表的所有主機,接著設置需要進行應用的限制。然後存盤,從新啓動postfix服務器。 國外比較有名的RBL是http//www.ordb.org,他們的RBL可免費使用,去年國內的http://anti-spam.org.cn也提供類似的服務,但它必須先注冊才能使用免費。 另外垃圾郵件的防範必須掌握好尺度,postfix本身提供了header_check、body_check、access、classes等方式來拒絕郵件,可以參考如下地址的樣例,結合自己的情況進行修改也能阻止一部分垃圾郵件: http://www.securitysage.com/guides/postfix_uce_header.html http://www.securitysage.com/guides/postfix_uce_body.html http://www.securitysage.com/guides/postfix_uce_access.html http://www.securitysage.com/guides/postfix_uce_class.html 不過以上配置文件需要管理員根據自己情況手工進行修改,如果直接采用的話,那麽國內很多郵件你將收不到。 二、安裝IMSS 趨勢科技的IMSS(InterScan Messaging Security Suite)版整合了垃圾郵件防治服務SPS(Spam PRevention Solution)2.0版。一般來說,過濾服務器上的垃圾郵件主要采取如下兩種方法:一是根據設置的規則直接拒收垃圾郵件;二是將郵件接收下來後再實施過濾。相比來看,前一種方法具有更高的效率,對郵件直接拒收,既節省網絡帶寬,又可減小服務器的性能開銷。但是,這樣做常常容易「殃及無辜」,使郵件用戶丟失信件。後一種方法盡管效率不高,卻可能減少出錯的頻率。如果服務器首先對接收下來的郵件進行有效分析,然後再交由用戶進行選擇,那麽用戶就不會爲E-mail的無故丟失而煩惱。IMSS屬于後者。 IMSS主要功能: 1. 利用數據庫對比實現垃圾郵件過濾 :提供被動式的垃圾郵件攔阻方式,利用建立垃圾郵件的黑名單數據庫,根據來源的IP地址、網域,寄件人的電子郵件地址或是內容、標頭所含的關 鍵詞等做爲數據庫的基礎。再將寄達的電子郵件與這已知的垃圾郵件數據庫比對,藉以判別是否爲垃圾郵件然後再來做攔阻的動作 2. 智能型判斷過濾垃圾郵件 :提供啓發式(Heuristic)掃描引擎,實現主動式的智能攔阻方式,根據郵件的多項特征,包括內容、標頭、格式等來判斷這封email會不會是封垃圾郵件,再來針對這封電子郵件做處理。可以用來辨識和監測已識別及未識別的新型垃圾郵件。 3. 支持彈性設定垃圾郵件過濾器規則 :爲了規避誤判風險,當SPS檢測出垃圾郵件之後,還會依照確信程度的不同分作四種等級,再依據設定進行「只做標記」、「隔離郵件」及「直接刪除」操作。 4. 支持黑名單及白名單功能 :支持黑名單(惡意郵件地址)及白名單(可信郵件地址)功能 。可以針對郵件來源網域,寄件者甚至是電子郵件本身的關鍵詞來做特別處理的動作。這項功能可以實現針對某些網域或是寄件者的信件設定規則,不僅要嚴加看管,必要情況下可以直接列入拒絕往來列表。 5. 實現與IMSS郵件病毒過濾網關集成: 通過産品的深度集成,可以實現多種判別條件的組合,能夠更准確、更高效地進行網關級的郵件過濾,更完善地保護企業內部網絡資源。 6. 多平台支持(Windows 2000/2003、Linux、Unix)。 硬件配置:CPU:Intel Pentium III processor 1 GHz 以上處理器,Memory:1 GB RAM,Disk Space:最小 2 GB 硬盤空間.交換空間2GB。 1. 修改/etc/postfix/main.cf中如下參數,更改爲: myhostname = trendmicro.com.cn mydomain = trendmicro.com.cn myorigin = trendmicro.com.cn inet_interfaces=all mydestination = trendmicro.com.cn local_recipient_maps = //黑色域名部分請填寫對應的domain name. 2. 在 /var/spool/postfix目錄下新建etc目錄,並運行: # cp /etc/resolv.conf /var/spool/postfix/etc/ 3、下載安裝IMSS 5.5 下載之前需要到軟件官方網站,注冊並且得到一個AC—CODE,您需要提供以上激活碼以得到病毒碼及其他安全補丁的下載.下載鏈接:http://www.trendmicro.com/ftp/products/interscan/imss55linux1064.tar.gz 將下載文件拷貝到一個臨時目錄/tmp中。 # tar vxf imss55linux1064.tar.gz #make;make install #./isinst 系統提供了一個交換式的命令行界面,安裝中請選擇支持postfix,並根據實際情況確定是否安裝集中管理平台(TMCM)。安裝結束系統提示可以打開Web管理的IP地址和端口號:見圖2。 [url=/bbs/detail_1734700.html][img]http://image.wangchao.net.cn/it/1323600960702.jpg[/img][/url] 圖2 IMSS 5.5 安裝完成 4、命令行下的參數配置: 1、 1、/etc/postfix/main.cf文件末尾添加如下內容: default_process_limit=200 imss_timeout=10m imss_connect_timeout=1s content_filter = imss:localhost:10025 imss_destination_recipient_limit=200 imss_destination_concurrency_limit=20 2、在/etc/postfix/master.cf文件末尾添加以下內容: #IMSS: content filter smtp transport "imss" for IMSS imss unix - - n - - smtp -o disable_dns_lookups=yes -o smtp_connect_timeout=$imss_connect_timeout -o smtp_data_done_timeout=$imss_timeout #IMSS: content filter loop back smtpd localhost:10026 inet n - n - 20 smtpd -o content_filter= -o smtpd_timeout=$imss_timeout -o local_recipient_maps= -o myhostname=localhost.$mydomain 3. Relay 控制 a. 允許Relay的Domain設置: 編輯/etc/postfix/main.cf文件,在如下位置添加允許的任意Relay的Domain,如: relay_domains = 263.net b. 允許接受的Domain設置: 編輯/etc/postfix/main.cf文件,在如下位置添加允許接受的Domain mydestination = trendmicro.com.cn c. 不受Relay限制的地址設置 編輯/etc/postfix/main.cf文件,在如下位置添加允許接受的Domain mynetworks = 10.11.240.0/24, 127.0.0.1 說明:所謂Relay就是指別人能用這台SMTP郵件服務器,給任何人發信,這樣別有用心的垃圾發送者可以使用筆者單位的這台郵件服務器大量發送垃圾郵件,而最後別人投訴的不是垃圾發送者,而是單位的服務器。 參數relay_domains %26amp; mydestination的主要區別在于: Postfix會轉發目的地符合 $relay_domains及其子域的郵件; Postfix會接受目的地符合 $mydestination的郵件,並且在沒有smart host的情況下嘗試對這些域進行本地落地處理,因而,爲了能正常的接受這些郵件,一定要對齊設置smart host;IMSS UNIX的Relay 控制界面設置中的域,即是$mydestination參數值,因而,一定要在IMSS的Domain-Based Delivery中做相應Deliver設置。 5、重新啓動Postfix服務器: #postfix start 重新讓postfix讀取更改後的配置只需運行「postfix reload」即可。 打開服務 器的8081端口: # iptables -A FORWARD -i eth0 -p tcp --dport 8081 -j ACCEPT iptables -A FORWARD -i eth0 -p udp --dport 8081 -j ACCEPT 6、啓用Web方式管理: 服務器從新啓動完畢,可以進行Web方式管理,開Web浏覽器中輸入:http://yourip:8081/IMSS.html或者http://yourhost:8445/IMSS.html 即可。第一次進入Web界面時系統提示輸入密碼,此時密碼是空的,可以直接用鼠標點擊「Enter」鍵進入Web管理界面後,馬上設定管理員密碼。見圖3。 [url=/bbs/detail_1734700.html][img]http://image.wangchao.net.cn/it/1323600961175.jpg[/img][/url] 圖-3 首次登陸界面 點擊「Policy Manager」選項,下面就可以制定自己的郵件服務器郵件管理策略,見圖4。 [url=/bbs/detail_1734700.html][img]http://image.wangchao.net.cn/it/1323600964883.jpg[/img][/url] 圖-4 基于Web方式的IMSS 5.5的郵件管理策略界面 5 、軟件升級 可以采取兩種方法Web方式和命令行,這裏筆者喜歡在命令行下操作: 下載升級布丁,鏈接:http://www.trendmicro.com/ftp/products/ patches/isem522-imss55-linux-patch1.tar.gz #mv isem522-imss55-linux-patch1.tar.gz /tmp #cd /tmp #gunzip isem522-imss55-linux-patch1.tar.gz #./patchinstall install 軟件升級過程中IMSS5.5服務將暫時中止,升級後系統會自動啓動IMSS 5.5服務。見圖-5。 [url=/bbs/detail_1734700.html][img]http://image.wangchao.net.cn/it/1323600965379.jpg[/img][/url] 圖5 升級IMSS數據庫 三、使用專用工具防止垃圾郵件 還可以利用其他的專用工具來防止垃圾郵件,比較著名的有由Matt Sergeant、Craig Hughes和Justin Mason于發布的SpamAssassin(SA)。目前最新版本是3.0.2,它是較爲流行的反垃圾郵件軟件,據SpamAssassin供應商 Deersoft的統計,目前大約有3萬台Unix服務器上使用了SpamAssassin。SpamAssassin利用Perl語言來對郵件內容進行規則匹配,從而達到判斷過濾垃圾郵件的目的。它的判斷方式是基于評分的方式,也就是說如果這封郵件符合某條規則,則給與一定分值;當累計的分值超過了一定限度時,則判定該郵件爲垃圾郵件。對Sendmail、Qmail、Postfix和Exim等各種郵件平台都適用。當它被最終用戶或系統管理員調用時,它可以方便地與大多數流行的郵件處理系統進行接口互連。SpamAssassin在對一封信件應用了各項規則之後,生成一個分值來表示其爲垃圾郵件的可能性。它可以設置上百條規則,包括對郵件頭的處理、對郵件內容的處理及對郵件結構的處理等。每條規則都對應一個分值(可正、可負),每封信件的分值就是所匹配規則的分值之和。如果分值爲負,表示這封信件是正常的;相反,如果分值爲正,則表示信件有問題。如果超過了某個默認的分值,過濾器就會標識其可能爲垃圾郵件,然後交由用戶做出最終抉擇。SpamAssassin的安裝過程比較簡單。啓動SpamAssassin服務器: # service spamassassin start (啓動SpamAssassin服務器) Starting spamd: [ 確定 ] 配置過程: SpamAssassin預設了許多默認規則,可以在/usr/share/spamassassin下找到,用戶想添加自己的規則,可以配置通過/etc/mail/spamassassin/local.cf文件實現。要在其中添加白名單(即可以確信不會發送垃圾郵件的發件人列表)。設置代碼如下: whitelist_from_rcvd people@basic.com whitelist_from_rcvd @ people.com   以上兩條規則將people@basic.com 郵箱和@ people.com 整個域加入了白名單。下面還要把SpamAssassin與Sendmail(此處以Postfix爲例、Qmail略有不同)整合在一起。最簡單的方法是使用procmail來調用SpamAssassin過濾器。procmail來調用SpamAssassin的過程見圖6。 [url=/bbs/detail_1734700.html][img]http://image.wangchao.net.cn/it/1323600965886.jpg[/img][/url] 圖6 procmail來調用SpamAssassin的過程 添加以下內容到/etc/procmailrc文件: :0fw | /usr/bin/spamassassin :0 * X-Spam-Status: Yes spam 如果希望SpamAssassin不檢查大郵件,可以對其做出限制,添加一行: :0fw * 這段代碼表示把郵件檢查的大小限制在1000K字節以內。SpamAssassin還提供了一個專門的spamd後台守護程序,可以設置爲系統啓動時自動啓動它。在Mail-SpamAssassin-3.-0.2/spamd/下有一個redhat-rc-script.sh腳本,將此腳本放入Red Hat的啓動目錄/etc/rc.d/init.d/下即可。同時,還需要對/etc/procmailrc文件做如下修改: :0fw | /usr/bin/spamc -s 100000 這樣就可以通過控制spamd進程來調整過濾器的運行狀態。配置完成後,可以發郵件進行測試。如果看到在郵件頭出現與spam檢查相關的幾項內容,表示SpamAssassin已經開始發揮作用。 除了設置內部的規則之外,SpamAssassin也可以訪問其它外部的垃圾郵件過濾規則集,這樣可以進一步增強其適用性。Chinese_rules.cf是用于垃圾郵件過濾系統SpamAssassin的中文垃圾郵件過濾規則集。由于以前沒有中文的過濾規則集,SpamAssassin對中文郵件過濾的准確性不高。CCERT反垃圾郵件研究小組推出了第一個基于SpamAssassin的中文垃圾郵件過濾規則集Chinese_rules.cf。該規則集每周更新一次。把Chinese_rules.cf複制到/usr/share/spamassassin配置文檔中的命令: # wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf 自動更新: CCERT每周更新一次規則集,更新使用CCERT反垃圾郵件服務在6個月內處理過的垃圾郵件爲樣本。經常更新Chinese_rules.cf會使過濾效果更好。 Linux有一個稱爲crond的守護程序,主要功能是周期性地檢查 /var/spool/cron目錄下的一組命令文件的內容,並在設定的時間執行這些文件中的命令。用戶可以通過crontab 命令來建立、修改、刪除這些命令文件。例如用 crontab命令實現每周一08:35自動更新: 首先建立一個文件,文件名稱myproject(名稱自己設定): #crontab -e 文件內容: 35 08 * * 1 wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/init-script restart 用vi編輯後存盤退出。 (3)使用 crontab命令添加到任務列表中: #crontab myproject 這樣Linux服務器會在每星期一的8點35分會自動下載Chinese_rules.cf更新規則。 SpamAssassin使用基于規則的垃圾郵件過濾技術,比分布式黑名單運行得更快,因爲分布式黑名單需要查詢網絡服務器。對大多數用戶而言,它能捕捉幾乎所有的垃圾郵件,而不需要隔離合法郵件。實際上它還提供了無限的調整和定制選項。 四、其他措施 1.隱藏郵件服務器IP地址 如果網絡中有專門發送郵件的中央郵件服務器,爲許多主機提供訪問,那麽必須隱藏郵件地址的主機名部分,(以postfix郵件服務器爲例)例如一條名爲:pc-jok.cao.com的主機上有一個jok用戶那麽它的郵件名稱是:jok@pc-jok.cao.com main.cf加入兩行: masquerade_domain=$mydomian masquerade_exceptions=root 第一行通知postfix郵件服務器對所在德 域允許地址化裝,通過$mydomian變量完成,這樣jok@pc-jok.cao.com變爲jok@cao.com,第二行將root用戶排除,即不對root用戶僞裝。 2.防範DOS攻擊:   DOS(拒絕服務攻擊)一段時間以來成爲許多單位郵件服務器的最大殺手。對于郵件服務器的拒絕服務攻擊原理很簡單,就是不斷地向郵件服務器發送大量的郵件,直到超過最大容量而崩潰爲止。拒絕服務攻擊有時並非有針對性的黑客行爲,現在的病毒常常會利用自身的SMTP引擎,向感染電腦裏的存在的地址狂發大量郵件。如果中小企業認爲自己的公司小,不會成爲攻擊目標,這種想法已經不現實了。對于中小企業來說,要預防DOS攻擊比大型企業要容易,因爲小型企業往往不會有太多的郵件來往,我們可以根據業務量的大小,限制每個連接的郵件數,以及每封郵件的收件人數。這樣,用戶對于DOS攻擊就可以做到盡早地發現並采取措施,而不會等到服務器崩潰的時候才發現被人實施了DOS攻擊。步驟如下: 2. 限制服務器使用的進程數目 可以通過指定/etc/postfix/main.cf文件的下列參數來控制使用的並發進程總量: default_process_limit = 50 這樣服務器被允許同時允許60個並發進程(例如smtp客戶端、smtp服務器端和本地分發)。如果希望增加同時接受1000條信息,可以修改 /etc/postfix/ master.cf文件,使smtp服務的最大進程達到1000,如下所示: #============================================================= # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (60) # =========================================== smtp inet n - n - 1000 smtpd 3.控制最大郵件尺寸 可以修改/etc/postfix/main.cf如下參數控制郵件尺寸 message_size_limit = 1073741824 這樣服務器可以處理最大郵件尺寸是1073741824字節 (10兆). 4. 控制同時發送一個遠程服務器的郵件數量 同時向遠程服務器發送太多SMTP連接是不合理的,也是危險的(可能會被認爲是 發送垃圾郵件)。一些大的ISP站點(AOL、 Yahoo!、 Hotmail)通常要求優 化等到許可才能使用發送並發連接。Postfix 也能通過下面參數設定一個站點的最 大並發連接數量: default_destination_concurrency_limit = 20 這樣使到達單一站點的並發連接數量不能超過20個。 5.安裝防病毒軟件: F-Prot Antivirus軟件包安裝和配置過程:軟件包格式: fp-linux-ws.rpm 軟件包的大小(KB):3970KB,下載地址: http://files.f-prot.com/files/linux-x86/fp-linux-ws.rpm 安裝F-Prot Antivirus軟件包前,請先啓動SpamAssassin服務器: Wget http://files.f-prot.com/files/linux-x86/fp-linux-ws.rpm Wget -ivh fp-linux-ws.rpm 升級的F-Prot Antivirus病毒庫的操作: # cd /usr/local/f-prot/tools/ # ./check-updates.pl (升級命令) *************************************** * F-Prot Antivirus Updater * *************************************** Nothing to be done... 總結:Postfix是目前比較流行的,擁有相當好的安全性和高效率的郵件系統。 Postfix自身帶了很多反垃圾郵件的功能可以阻止一部分垃圾郵件,但是面對 日益癡狂的垃圾郵件還是需要一些專業軟件的支持。
󰈣󰈤
王朝萬家燈火計劃
期待原創作者加盟
 
 
 
>>返回首頁<<
 
 
 
 
 熱帖排行
 
王朝網路微信公眾號
微信掃碼關註本站公眾號 wangchaonetcn
 
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有