由于前面提到的歷史的原因,最初的絕大多數郵件服務器都允許OPEN RELAY的。今天,大部分郵件服務器升級版本已經在缺省設置中關閉了OPEN RELAY, 如Sendmail 從8.9.3版本開始,Exchange Server從5.5版本開始關閉了open relay,。有的服務器雖然沒有相應的升級版本,也都提供了關閉open relay 的方法,如在NOTES SERVER的配置文件notes.ini 中加入一行:SMTPMTA_REJECT_RELAYS=1。但由于很多服務器管理員的疏忽而沒能及時的修補這些安全漏洞,被利用來轉發垃圾郵件。
如何確認郵件服務器是否OPEN RELAY對于UNIX操作系統,假設要測試的郵件服務器是mail.ABC.com,則可以使用以下的命令進行測試:telnet mail.ABC.com 25
如果在最后顯示“Relaying denied”,則表明該服務器已經安全設置,不會再relay無關郵件了。如果在最后顯示“Message accepted for delivery”,則表明服務器可以轉發任何人的郵件。
其他系統可以通過觀察計費器的動態記錄或者郵件隊列中的信息來判斷。
除了用上面的命令行的方法測試外,還可以利用網上提供的一個測試工具來進行測試。首先鏈接到http://www.abuse.net/relay.html,找到Address to test:(as host name or dotted quad)欄,在其中輸入你要測試的服務器IP地址或域名,它將會返回一些信息,根據返回的信息可以判斷測試的服務器是否已經限制了第三方轉發。
如果在測試結果頁中出現如下的提示:
Relay test result
All tests performed, no relays accepted.
表明這臺服務器已經限制了第三方轉發。
如果某臺服務器沒有限制第三方轉發,則測試顯示信息如下:
Relay test result
Hmmn, at first glance, host appeared to accept a message for relay.
THIS MAY OR MAY NOT MEAN THAT IT'S AN OPEN RELAY.
通過測試,可以判斷出你的服務器是否限制了RELAY功能,從而采取相應的措施進行處理。
常用郵件服務器關閉RELAY的方法
一般現在使用得最廣的郵件服務器軟件主要有以下幾種:
Unix 操作系統:Netscape Messaging Server 和Sendmail
Windows 操作系統:Exchange Server 和Imail
下面分別具體說明如何對這四種郵件服務器軟件進行設置,以關閉RELAY功能。
Netscape Messaging Server
Netscape Messaging Server 從3.5版本開始加入了relay的控制功能。如果使用的是3.5以前的版本,需要更新到3.5或更新的版本。當前最新版本(2002-01)是4.15p7,可以在這里下載:http://www.iplanet.com/downloads/download/5098.html。
Netscape Messaging Server 有兩種方法可以用來控制open relay。一種是使用Anti-relay Filter,另一種是 Anti-relay Plug-In。后者的功能更強大些,但只支持4.x 版本;如果使用的是3.5版本,則需要使用前一種方法。
使用Anti-relay Filter:
找到filter.cfg 文件(4.0以上版本名字是UBEfilter.cfg),進行如下編輯。如果該服務器只負責xyzcorp.com域收郵件:
Channel-To ".*@xyzcorp.com" EXIT
$ANY ".*" REJECT "We accept mail for XYZ Corporation only"
如果該服務器還負責轉發來自123.45.67.* 郵件,那末就應該加入:
Host-From "123.45.67.*" EXIT
Channel-To ".*@xyzcorp.com" EXIT $ANY ".*" REJECT "We accept mail for XYZ Corporation only"
更詳細的資料可以參考http://www.tsc.com/~bobp/nms-no-relay.html,該文詳細講述了怎樣設置filter.cfg文件,甚至可以直接拷貝后,對其中的IP和域名稍作改動即可。
Sendmail
Sendmail 從8.9.3版本開始缺省設置禁止轉發垃圾郵件,在此之前的版本在這方面都存在著嚴重的安全缺陷。因此,有必要把您的Sendmail 升級到 8.9.3 以上版本??紤]到其它方面的安全漏洞,我們建議您升級到當前最新版本,您可以在Sendmail的主頁上 http://www.sendmail.org 查到最新的版本。
新安裝的Sendmail 不會轉發任何郵件,如果你的郵件服務器需要為某些用戶提供轉發服務,你需要對Sendmail的配置文件進行設置。設置方法有多種,比較簡單的方法是在 /etc/mail/下生成一個名字為relay-domains 的文件,在該文件中列出需要relay的IP或域名。
Sendmail 8.9.3安裝過程
譯時需要gcc, groff, gmake, gm4編譯、安裝sendmail服務器
1) 設置環境:(保證您所用的是 groff, gmake.假設這些您都安裝在 /usr/local/ 下) 。
|
|
|
|
|
郵件客戶端設置
這樣設置了以后,可能你的局域網的用戶就只能收郵件,不能發送郵件了。發送郵件時提示如下信息:The server say: 550 Relaying is prohibited. 郵件發送不出去。這時候就要在郵件客戶端設置SMTP身份驗證,具體方法如下:
(1)對于使用outlook express的用戶
啟動outlook express,點“工具”-“帳號”,點“郵件”選項卡,選擇某個郵件帳號,點“屬性”,點“服務器”選項卡,選中 “我的服務器要求身份驗證”,點“確定”,點“關閉”。
(2)對于使用foxmail3.11的用戶
啟動foxmail,選擇某個帳戶,點“帳戶”-“屬性”,點“郵件服務器”,選擇“SMTP服務器需要身份驗證”,點設置,選擇“使用與POP3服務器相同的信息”,點“確定”。
(責任編輯:城塵)