Sendmail作為免費(fèi)的郵件服務(wù)器軟件,已被廣泛應(yīng)用于Internet各種操作系統(tǒng)的服務(wù)器中。如:Solaris,HPUX,AIX,IRIX,Linux等等。隨著互連網(wǎng)的普及,郵件服務(wù)器受攻擊的機(jī)會(huì)也大大增加。目前互連網(wǎng)上的郵件服務(wù)器所受攻擊有兩類:一類就是中繼利用(Relay),即遠(yuǎn)程機(jī)器通過你的服務(wù)器來發(fā)信,這樣任何人都可以利用你的服務(wù)器向任何地址發(fā)郵件,久而久之,你的機(jī)器不僅成為發(fā)送垃圾郵件的幫兇,也會(huì)使你的網(wǎng)絡(luò)國際流量激增,同時(shí)將可能被網(wǎng)上的很多郵件服務(wù)器所拒絕。另一類攻擊稱為垃圾郵件(Spam),即人們常說的郵件炸彈,是指在很短時(shí)間內(nèi)服務(wù)器可能接收大量無用的郵件,從而使郵件服務(wù)器不堪負(fù)載而出現(xiàn)癱瘓。這兩種攻擊都可能使郵件服務(wù)器無法正常工作。因此作為一個(gè)校園網(wǎng)郵件服務(wù)器防止郵件攻擊將不可缺少。
目前對(duì)于sendmail郵件服務(wù)器,阻止郵件攻擊的方法有兩種。一種是升級(jí)高版本的服務(wù)器軟件,利用軟件自身的安全功能。第二種就是采用第三方軟件利用其諸如動(dòng)態(tài)中繼驗(yàn)證控制功能來實(shí)現(xiàn)。下面就以sendmail V8.9.3為例,介紹這些方法。
1.服務(wù)器自身安全功能
(1)編譯sendmail時(shí)的安全考慮
要利用sendmail 8.9.3的阻止郵件攻擊功能,就必須在系統(tǒng)編譯時(shí)對(duì)相關(guān)參數(shù)進(jìn)行設(shè)置,并借助相關(guān)的軟件包。目前主要就是利用Berkeley DB數(shù)據(jù)庫的功能,Berkeley DB包可以從相關(guān)站點(diǎ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)定義。主要包括以下幾項(xiàng):
......
FEATURE(relay_entire_domain)
FEATURE(Access_DB)dn1
FEATURE(blacklist_recipients)
......
(2)相關(guān)文件的配置
正確編譯好sendmail是郵件服務(wù)器安全控制的基礎(chǔ),而真正的安全設(shè)置主要還是利用相關(guān)文件進(jìn)行的。這種包含控制語句的文件主要是Access和relay-domains。