郵件服務(wù)器在Internet上扮演著一個(gè)非常重要的角色。SMTP(簡單郵件傳輸協(xié)議)是Internet上計(jì)算機(jī)之間傳送電子郵件所普遍采用的協(xié)議,Sendmail是構(gòu)成郵件服務(wù)器的Unix系統(tǒng)中使用極為廣泛的一種郵件傳輸代理程序,它遵循SMTP協(xié)議,提供了很強(qiáng)大的郵件服務(wù)功能,可以承載高達(dá)數(shù)萬個(gè)用戶的電子郵件通信服務(wù)。
美中不足的是,Sendmail在為用戶發(fā)送郵件時(shí),并不對(duì)用戶進(jìn)行身份認(rèn)證,這就給一些廣告郵件或垃圾郵件的制造者提供了機(jī)會(huì)──任何人只要想發(fā)信,就可以利用任何一臺(tái)沒有帶認(rèn)證功能而又對(duì)其“openrelay”的Sendmail郵件服務(wù)器,為其發(fā)送大量的垃圾或廣告信件。雖然Sendmail8.9.3以上的版本提供了一些限制郵件轉(zhuǎn)發(fā)的功能,可以在某種程度上限制這種情況的發(fā)生,但它只能根據(jù)靜態(tài)的IP地址、郵件地址或域名來進(jìn)行限制,這使得合法用戶只能在固定的IP地址范圍內(nèi)使用郵件服務(wù)器,否則將會(huì)被拒絕。這樣就給用戶帶來了使用上的不方便,例如用戶下班回家或是出差在外,都無法使用工作單位的郵件服務(wù)器發(fā)信,學(xué)生放假離開學(xué)校也不能使用學(xué)校的郵件服務(wù)器發(fā)出信件。但是假如設(shè)定郵件服務(wù)器為openrelay模式,又怕造成服務(wù)器轉(zhuǎn)發(fā)功能被濫用。這是個(gè)很矛盾的問題,長期困擾著郵件服務(wù)器的治理員。
為了不讓自己的郵件成為垃圾郵件的中轉(zhuǎn)站而被外面的郵件服務(wù)器拒絕,以往許多郵件服務(wù)器的治理員大都只能選擇限制mailrelay的模式,F(xiàn)在好了,隨著Sendmail軟件版本的不斷更新,新的功能也隨之出現(xiàn)。使用新版本的Sendmail8.12.5郵件服務(wù)器軟件,再搭配Cyrus-SASL(SimpleAuthenticationandSecurityLayer)身份認(rèn)證程序庫,就可以解決對(duì)郵件用戶進(jìn)行身份認(rèn)證的問題。服務(wù)器有了認(rèn)證功能后,任何人想通過郵件服務(wù)器發(fā)送信件時(shí)都得先輸入用戶名和密碼進(jìn)行身份認(rèn)證。
下面就給大家詳盡解釋一下如何編譯、安裝Cyrus-SASL程序庫和Sendmail8.12.5軟件使郵件系統(tǒng)支持SASL的SMTP認(rèn)證功能。
一。環(huán)境
操作系統(tǒng)平臺(tái):Solaris2.7或Linux6.2或更高
使用軟件:Cyrus-SASL1.5.27和Sendmail8.12.5
二。編譯、安裝Cyrus-SASL程序庫:
2、解包:
tarxvfzcyrus-sasl-1.5.27.tar.gz
3、編譯、安裝:
進(jìn)入cyrus-sasl-1.5.27目錄:
#cdcyrus-sasl-1.5.27
編譯配置:
#./configure——enable-login——enable-plain
這里由于SASL庫缺省狀態(tài)下并不支持某些客戶端軟件的使用方式,所以要在生成配置文件時(shí)非凡加入一些功能選項(xiàng)。具體要加什么可以用命令查看:
#./configure-help
如加“——enable-login”是因?yàn)?/FONT>OutLookExpresss使用LOGIN的認(rèn)證方法,SASL庫缺省并不支持這種方式,所以要在生成配置文件時(shí)非凡加入。
另外,缺省情況下,所有的庫函數(shù)是安裝到“/usr/local/lib”目錄下,但Sendmail使用的庫函數(shù)是在目錄“/usr/lib”中的,所以需要做一些修改。在運(yùn)行configure腳本前,修改其中的缺省路徑就可以了。方法是打開configure文件找到下面這一行:
ac_default_prefix=/usr/local
改為:
ac_default_prefix=/usr
編譯:
#make
安裝:
#makeinstall
到這里SASL庫就安裝好了(注重在整個(gè)編譯安裝的過程中都不能有任何錯(cuò)誤警告顯示才行)。
接著必須設(shè)置Sendmail的使用者身份驗(yàn)證方式,因?yàn)檫@里要使用的是系統(tǒng)賬號(hào)與密碼來進(jìn)行驗(yàn)證,所以要在“/usr/lib/Sendmail.conf”文件中指明:
#cd/usr/lib/sasl/
#cat>Sendmail.conf
pwcheck_method:shadow
^d