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