郵件服務(wù)器的安全解決方案

Sendmail作為免費的郵件服務(wù)器軟件,已被廣泛應(yīng)用于Internet各種操作系統(tǒng)的服務(wù)器中。如:Solaris,HPUX,AIX,IRIX,Linux等等。隨著互連網(wǎng)的普及,郵件服務(wù)器受攻擊的機(jī)會也大大增加。目前互連網(wǎng)上的郵件服務(wù)器所受攻擊有兩類:一類就是中繼利用(Relay),即遠(yuǎn)程機(jī)器通過你的服務(wù)器來發(fā)信,這樣任何人都可以利用你的服務(wù)器向任何地址發(fā)郵件,久而久之,你的機(jī)器不僅成為發(fā)送垃圾郵件的幫兇,也會使你的網(wǎng)絡(luò)國際流量激增,同時將可能被網(wǎng)上的很多郵件服務(wù)器所拒絕。另一類攻擊稱為垃圾郵件(Spam),即人們常說的郵件炸彈,是指在很短時間內(nèi)服務(wù)器可能接收大量無用的郵件,從而使郵件服務(wù)器不堪負(fù)載而出現(xiàn)癱瘓。這兩種攻擊都可能使郵件服務(wù)器無法正常工作。因此作為一個校園網(wǎng)郵件服務(wù)器防止郵件攻擊將不可缺少。

目前對于sendmail郵件服務(wù)器,阻止郵件攻擊的方法有兩種。一種是升級高版本的服務(wù)器軟件,利用軟件自身的安全功能。第二種就是采用第三方軟件利用其諸如動態(tài)中繼驗證控制功能來實現(xiàn)。下面就以sendmail V8.9.3為例,介紹這些方法。

1.服務(wù)器自身安全功能

(1)編譯sendmail時的安全考慮

要利用sendmail 8.9.3的阻止郵件攻擊功能,就必須在系統(tǒng)編譯時對相關(guān)參數(shù)進(jìn)行設(shè)置,并借助相關(guān)的軟件包。目前主要就是利用Berkeley DB數(shù)據(jù)庫的功能,Berkeley DB包可以從相關(guān)站點上下載,并需要預(yù)先編譯好。然后將Berkeley DB的相關(guān)參數(shù)寫進(jìn)sendmail的有關(guān)文件中。

a.修改site.config.m4文件

將編譯好的Berkeley DB有關(guān)庫文件路徑加入到site.config.m4文件中,使sendmail編譯后能夠使用Berkeley DB數(shù)據(jù)庫。例如:

#cd $/sendmail-8.9.3/BuidTools/Site

修改site.config.m4文件

define (confINCDIRS, -I/usr/local/BerkeleyDB/include)

define (confLIBDIRS, L/usr/local/BerkeleyDB/lib)

b.修改sendmail.mc文件

sendmail.mc是生成sendmail.cf的模板文件之一,要使sendmail具有抗郵件攻擊功能還需在該文件中進(jìn)行相關(guān)定義。主要包括以下幾項:

......

EATURE(relay_entire_domain)

FEATURE(ACCESS_DB)dn1

FEATURE(blacklist_recipients)

......

(2)相關(guān)文件的配置

正確編譯好sendmail是郵件服務(wù)器安全控制的基礎(chǔ),而真正的安全設(shè)置主要還是利用相關(guān)文件進(jìn)行的。這種包含控制語句的文件主要是access和relay-domains。

access是郵件安全控制的主要數(shù)據(jù)庫文件,在該文件中可以按照特定的格式將需控制的域名、IP地址或目標(biāo)郵件地址,以及相應(yīng)的動作值寫入,然后使用makmap命令生成access.db文件(#makemap hash access.db < access),從而使服務(wù)器允許或屏蔽郵件中繼和郵件轟炸。access的格式如下:

spam.com REJECT

edu.cn OK

hotmail.com DISCARD

其中reject動作是拒絕接受從指定地址發(fā)來的郵件;ok是允許特定地址用戶任意訪問;relay允許通過本郵件服務(wù)器進(jìn)行中轉(zhuǎn)郵件;discard是將收到的郵件交給特定命令進(jìn)行處理,例如:可以設(shè)定將收到的郵件丟棄,或者設(shè)定收到郵件后返回給使用者一條出錯信息等等。

Relay-domains文件是設(shè)定哪些域是該服務(wù)器可以中繼的域,其格式為每個域占一行。如:

......

CN

EDU

JP

......

在服務(wù)器開始使用時建議將所有頂級域名加入其中,以后再根據(jù)安全需要對其進(jìn)行修改,否則將會使pop3用戶發(fā)送郵件時出現(xiàn)relay reject錯誤,而無法向沒有加入的域名目標(biāo)郵件地址發(fā)送郵件。

3)版本號的修改

對于一臺郵件服務(wù)器,可以通過遠(yuǎn)程的25端口telnet命令來獲取服務(wù)器的版本信息。如:“telnet sendmail服務(wù)器主機(jī)25”就可以查看sendmail的當(dāng)前版本。為了防止一些惡意的查看版本信息操作,sendmail提供了可以對顯示的版本進(jìn)行修改的操作。

在sendmail.cf文件中有一句“SmtpGreetingMessage=$j sendmail $V/$Z; $b”的語句,其中$V/$Z就是版本信息,正常情況下由該參數(shù)顯示的版本信息為sendmail本身的版本。如果要設(shè)定成管理員給定的版本信息,只需將該參數(shù)改掉,然后加入你所希望的信息即可。例如:當(dāng)把這句改成“SmtpGreeting Message=$j sendmail 0.0/0.0; $b”,重啟sendmail服務(wù),則sendmail的版本就會變成“sendmail 0.0”。從而達(dá)到隱蔽版本信息的目的。

以上是sendmail 8.9.3本身帶有的安全功能設(shè)置,通過這些安全設(shè)置可以大大加強(qiáng)服務(wù)器安全性能。但是在防止郵件中繼和郵件炸彈的設(shè)置時,如何確定哪些目標(biāo)地址是需阻止中繼的,哪些又是允許中轉(zhuǎn)的,似乎只能通過管理員對日志文件的分析和觀測,或者待發(fā)現(xiàn)了安全問題后才能確定。因此這種安全控制還僅是事后控制,并且對相關(guān)文件修改后還必須重新啟動服務(wù)器。如要實現(xiàn)事先動態(tài)安全控制還需要采用其他方法。

2.動態(tài)中繼驗證控制

DRAC(Dynamic Relay Authorization Control)動態(tài)中繼驗證控制是專門為郵件服務(wù)器設(shè)計的一個服務(wù)器端軟件,它可以安裝在一臺SMTP服務(wù)器上,并同時為多個郵件服務(wù)器提供動態(tài)中繼驗證服務(wù)。DRAC主要通過自動獲取和動態(tài)更新中繼驗證數(shù)據(jù)庫中的信息來允許合法pop3或IMAP用戶使用郵件服務(wù)器,從而有效地控制郵件炸彈和非法的郵件中繼。DRAC的原理就是利用pop3或imap服務(wù)器固有的功能來獲取用戶名、密碼和客戶機(jī)IP地址等信息,并將這些信息及時映象到驗證數(shù)據(jù)庫中,供smtp服務(wù)器調(diào)用,同時在經(jīng)過一段時間以后(缺省為30分種),其驗證信息將自動失效,需要用戶重新輸入驗證信息。這樣不僅可以保證合法的pop3或imap用戶能夠正常使用郵件服務(wù)器,也可以阻止任何非注冊用戶(包括本地)利用郵件服務(wù)器來發(fā)送郵件。這種郵件安全控制常常被稱為:“郵件服務(wù)之前的pop驗證”(POP-before-SMTP)。

(1)DRAC的編譯

在編譯DRAC之前,系統(tǒng)的sendmail服務(wù)器應(yīng)該已經(jīng)正確編譯安裝了。首先在DRAC源程序目錄中編輯Makefile文件,在Solaris 2.x操作系統(tǒng)中其Makefile改成:

INSTALL=/usr/ucb/install

EBIN=/usr/local/sbin

MAN=/usr/local/man/man

DEFS=-DTI_RPC -DFCNTL_LOCK -DSYSINFO

CC= (編譯器)

RANLIB= :

CFLAGS=$(DFES) -g -I/path/to/db/include

LDLIBS=-L/path/to/db/library -lns1 -1db

TSTLIBS=-L. -ldrac -lns1

MANLIB=3

MANADM=1m

然后編譯并安裝即可。

如果存在多個pop/IMAP服務(wù)器,則還需要將這些服務(wù)器的IP地址加到文件/etc/mail/dracd.allow中,其文件書寫格式與/var/yp/securenets文件格式一樣。如:

255.255.255.255 202.139.244.23

255.255.255.255 127.0.0.1

(2)修改sendmail.mc文件重新生成sendmail.cf

在使用DRAC驗證功能之前,還需要將DRAC的驗證信息加到sendmail.cf文件中。首先要修改sendmail.mc文件,然后重新生成sendmail.cf。sendmail.mc文件中相關(guān)語句修改如下:

在LOCAL_CONFIG行下增加

kdrac btree /etc/mail/dracd

在LOCAL_RULESETS下增加

Slocal_check_rcpt

R$* $: $&{client_addr}

R$+ $: $(drac $1 $: ? $)

R? $@ ?

R$+ $@ $#OK

重新生成sendmail.cf文件后,再重啟sendmail進(jìn)程

我們提供的服務(wù)有:網(wǎng)站制作、成都做網(wǎng)站、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、長葛ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的長葛網(wǎng)站制作公司

當(dāng)前文章:郵件服務(wù)器的安全解決方案
轉(zhuǎn)載源于:http://muchs.cn/article28/ccpcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計公司、App開發(fā)建站公司、標(biāo)簽優(yōu)化關(guān)鍵詞優(yōu)化、虛擬主機(jī)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)