相信大部分使用電子郵件的人每天都會(huì)收到大量垃圾郵件。作為單位網(wǎng)管,筆者每天收到垃圾郵件的數(shù)量更在數(shù)百封以上,預(yù)防垃圾郵件已到了刻不容緩的地步。
一、環(huán)境說明
單位的服務(wù)器使用RedHat Linux 9.0,郵件服務(wù)器使用Sendmail 8.12.8;這臺(tái)服務(wù)器放在內(nèi)網(wǎng),通過一臺(tái)Win2000的服務(wù)器作網(wǎng)關(guān),連到Internet;網(wǎng)關(guān)軟件使用的是WinRoute Pro 4.2.5。
二、主要修改措施
1.關(guān)閉Sendmail的Relay功能
所謂Relay就是指別人能用這臺(tái)SMTP郵件服務(wù)器,給任何人發(fā)信,這樣別有用心的垃圾發(fā)送者可以使用筆者單位的這臺(tái)郵件服務(wù)器大量發(fā)送垃圾郵件,而最后別人投訴的不是垃圾發(fā)送者,而是單位的服務(wù)器。所以必須關(guān)閉Open Relay,其方法就是到Linux服務(wù)器的/etc/mail目錄,編輯access文件,去掉“*relay”之類的設(shè)置,一般只留“l(fā)ocalhost relay”和“127.0.0.1 relay”兩條即可。
注意:修改access文件后還要用命令makemap hash access.db 關(guān)掉了Relay功能,單位的老師就不能使用OE之類的軟件發(fā)信了不要緊,只要對(duì)Sendmail配置好SMTP認(rèn)證功能,再在OE中打開SMTP認(rèn)證,就可以在任何地方使用單位的SMTP服務(wù)器了。
在RedHat Linux 9.0中配置SMTP認(rèn)證非常方便,首先用命令rpm -qa|grep sasl檢查有沒有安裝cyrus-sasl軟件包(一般默認(rèn)安裝已經(jīng)包括了)。如果沒有安裝的話,用命令rpm -ivh cyrus-sasl.rpm安裝所有軟件包,接著打開/etc/mail/sendmail.mc文件,把如下三行:
3.在Sendmail中添加RBL功能
RBL(Realtime Blackhole List)是實(shí)時(shí)黑名單。國(guó)外有一些機(jī)構(gòu)提供RBL服務(wù),它們把收集到的專發(fā)垃圾郵件的IP地址加入他們的黑名單,我們只要在Sendmail中加入RBL認(rèn)證功能,就會(huì)使我們的郵件服務(wù)器在每次收信時(shí)都自動(dòng)到RBL服務(wù)器上去查實(shí),如果信件來源于黑名單,則Sendmail會(huì)拒收郵件,從而使單位的用戶少受垃圾郵件之苦。
國(guó)外比較有名的RBL是http//www.ordb.org,他們的RBL可免費(fèi)使用,去年國(guó)內(nèi)的http//anti-spam.org.cn也提供類似的服務(wù),但它必須先注冊(cè)才能使用免費(fèi)。
在Sendmail中添加RBL認(rèn)證,只要對(duì)sendmail.mc添加以下幾句話(第一句表示加入了ORDB.ORG的RBL服務(wù),第二句表示加入了ANTI-SPAM的RBL服務(wù),注意第二條必須先去該網(wǎng)站注冊(cè)后才能使用。如果還想加入其它的RBL認(rèn)證,則將這樣的話再多加幾句即可,一般加入兩個(gè)RBL認(rèn)證也夠了):
最后執(zhí)行m4 sendmail.mc>sendmail.cf和service sendmail restart兩條命令,使有關(guān)Sendmail的修改生效。
4.關(guān)閉Open Proxy
單位的網(wǎng)關(guān)使用WinRoute軟件,為了提高訪問Internet的網(wǎng)速,開放了WinRoute的Proxy服務(wù),但想不到的是大部分Proxy都是默認(rèn)允許以HTTP Connect Method連接任意一個(gè)TCP端口,這樣一來,當(dāng)Proxy沒有對(duì)使用者及相應(yīng)的TCP端口做相應(yīng)的限制時(shí),很容易給垃圾郵件發(fā)送者可乘之機(jī)。他們只需要利用單位的Proxy來連接另外一臺(tái)郵件服務(wù)器的25端口,并發(fā)送特定的SMTP指令就可以發(fā)送大量的垃圾郵件。
不查不知道,一查嚇一跳。單位服務(wù)器早在去年12月就由于Open Proxy而在國(guó)外的黑名單上了。更可氣的是,由于開放了代理,我們的網(wǎng)關(guān)機(jī)CPU利用率一直在50%左右,原來筆者單位的網(wǎng)關(guān)一直在為別人義務(wù)干壞事。
在WinRoute中關(guān)閉Open Proxy的方法也很簡(jiǎn)單,只要把連接外網(wǎng)網(wǎng)卡的Proxy端口關(guān)閉即可。
具體操作如下:?jiǎn)螕簟癝ettings→Advanced→Packet Filter”,選擇Incoming面板,找到接外網(wǎng)的網(wǎng)卡,單擊Add按鈕,會(huì)顯示Add Item對(duì)話框,把Protocol選為TCP,Destination中的Port選=3128,Action中選Deny(如圖1所示)。
[attach]820[/attach]
5.關(guān)閉外部的25端口
筆者查看Sendmail的LOG,結(jié)果沒發(fā)現(xiàn)從單位中發(fā)出很多垃圾郵件,正在郁悶時(shí),突然想起這段時(shí)間正在大鬧Internet的網(wǎng)絡(luò)天空“NetSky”和唯諾格“MyDoom”病毒,這兩種病毒都會(huì)自動(dòng)發(fā)出很多垃圾郵件,特別是網(wǎng)絡(luò)天空,它自帶SMTP服務(wù)功能。不需要利用單位的Sendmail,就直接可以發(fā)信。單位的Sendmail的LOG中當(dāng)然也不會(huì)有記錄了,于是馬上到網(wǎng)關(guān)機(jī)WinRoute中對(duì)連接內(nèi)網(wǎng)的網(wǎng)卡加上不能向外連接25號(hào)端號(hào)的限制,具體設(shè)置如圖2所示。
[attach]821[/attach]
注意:這個(gè)設(shè)置是加在內(nèi)網(wǎng)網(wǎng)卡上的,而上面關(guān)閉Open Proxy的設(shè)置則是加在外網(wǎng)網(wǎng)卡上的。
6.從黑名單上除名
前段時(shí)間,由于自已的疏忽,使我單位的IP已經(jīng)上了國(guó)外RBL的黑名單了。查詢和刪除RBL中的IP地址可以到http://openrbl.org/ 和http://ordb.org,另外國(guó)內(nèi)的http://anti-spam.org.cn/cbl_minus/query.html也可查詢.