對兩個(gè)虛擬SMTP服務(wù)器防止垃圾郵件中轉(zhuǎn)的總結(jié):
在論壇上看到了很多高手的發(fā)言,結(jié)合自己在實(shí)踐中的體會,終于有了一些比較成型的經(jīng)驗(yàn):
首先要說的是,想要徹底防止垃圾郵件制造者利用你的Exchange 服務(wù)器進(jìn)行中轉(zhuǎn),以及其他非法利用你的SMTP服務(wù)的現(xiàn)象,兩個(gè)虛擬SMTP服務(wù)器是必不可少的。 這看起來是很基礎(chǔ)的結(jié)論,卻是我的“血淚”之言。因?yàn)槲乙郧耙恢币揽恳粋€(gè)虛擬服務(wù)器和一個(gè)SMTP連接器,進(jìn)行SMTP限制,并且一直自信很有成效,結(jié)果前些日子被ISP警告:我的服務(wù)器成為垃圾郵件中轉(zhuǎn)服務(wù)器! 現(xiàn)在具體說說我之前的設(shè)置,供大家對照。如果你的設(shè)置和我相同,請務(wù)必當(dāng)心!那一點(diǎn)也不安全!
我以前的設(shè)置:default Virtual SMTP server上,啟用三種認(rèn)證模式(匿名、基本和集成),允許所有通過認(rèn)證的計(jì)算機(jī)進(jìn)行Relay;然后建一個(gè)SMTP Connector,在Delivery Restrictions當(dāng)中,選擇 By default, messages from everyone are rejected,然后將所有合法的用戶,添加到后面的允許列表中。 我原先以為,有了這個(gè)SMTP Connector,那么只有合法的用戶才能將郵件發(fā)送出去,而所有其他用戶的信息,將被截留。可事實(shí)證明,垃圾郵件制造者仍然成功的利用我的服務(wù)器中轉(zhuǎn)了郵件。也就是說,虛擬SMTP服務(wù)器的Relay可以突破這個(gè)SMTP Connector中的Delivery Restriction限制。
于是,我參考了一些帖子和微軟的KB,總結(jié)出以下方法,實(shí)踐中證明是有效的:
第一步,在你的Exchange 服務(wù)器上,安裝兩塊網(wǎng)卡;
第二步,設(shè)置網(wǎng)卡。一塊網(wǎng)卡是接收內(nèi)部用戶SMTP請求的,稱為內(nèi)部NIC,一塊網(wǎng)卡是接收外部用戶SMTP請求的,稱為外部NIC。每塊網(wǎng)卡,各綁定一個(gè)固定IP(兩塊網(wǎng)卡均為內(nèi)部虛擬IP即可,不必是一個(gè)外部IP,一個(gè)內(nèi)部IP。因?yàn)槲业膬?nèi)部網(wǎng)絡(luò)是處于ISA server之后的,所以只能是兩個(gè)內(nèi)部虛擬IP)
第三步,設(shè)置Exchange 服務(wù),讓它區(qū)分內(nèi)外網(wǎng)卡。因?yàn)槲沂抢肐SA server發(fā)布Exchange服務(wù)器,包括POP3、SMTP、IMAP4、NNTP等等,所以,我把除SMTP以外的服務(wù),均綁定到外部NIC的IP上。
第四步,建立兩個(gè)虛擬SMTP 服務(wù)器,一個(gè)綁定到外部NIC的IP地址,簡稱為SMTP1;一個(gè)綁定到內(nèi)部NIC的IP地址,簡稱為SMTP2。SMTP1(綁定到外部NIC的虛擬SMTP服務(wù)器),啟用三種認(rèn)證方式(匿名、基本和集成),但不啟用Relay(也就是在Relay中選擇“Only the list below”,但不加入任何列表。下面的“All computers...”也不選),并且不啟用外部DNS服務(wù)器;SMTP2(綁定到內(nèi)部NIC的虛擬SMTP服務(wù)器),只啟用基本和集成兩種認(rèn)證方式,然后啟用Relay,并且啟用外部DNS服務(wù)器(方法是到Delivery --> Advanced --> Configure當(dāng)中,選擇外部的DNS服務(wù)器)。
第五步,建立一個(gè)SMTP Connector,連接到SMTP2(也就是綁定到內(nèi)部NIC的虛擬SMTP服務(wù)器),然后進(jìn)行必要的設(shè)置(一般是增加一個(gè)Address space,也就是添加一個(gè)SMTP空間*,并且建議按照以前的介紹,設(shè)置Delivery Restrictions,選擇 By default, messages from everyone are rejected,然后將所有合法的用戶,添加到后面的允許列表中。這樣也是為了增加安全性。) 好了,現(xiàn)在可以到ISA server中,發(fā)布你的Exchange 服務(wù)器了。注意發(fā)布的時(shí)候,內(nèi)網(wǎng)IP要選擇 Exchange服務(wù)器上的那個(gè)外部NIC的IP地址,而千萬不要指到那個(gè)內(nèi)部NIC的IP上去,否則上面的辛苦工作,等于白費(fèi)。
讓我們來大致看一下郵件的流程:
來自外網(wǎng)的郵件,是由SMTP1來監(jiān)聽的(因?yàn)樗壎ǖ搅送獠縉IC的IP上)。如果是發(fā)給內(nèi)網(wǎng)用戶的,那么它查詢AD,然后將郵件送達(dá);如果不是發(fā)給內(nèi)網(wǎng)用戶,而是企圖利用 Exchange的SMTP服務(wù),進(jìn)行轉(zhuǎn)發(fā),那么對不起,SMTP1上不啟用Relay服務(wù),無法轉(zhuǎn)發(fā)。再說,它也沒有啟用外部的DNS服務(wù)器,根本無法解析外網(wǎng)的域名。
來自內(nèi)網(wǎng)用戶的郵件,是由SMTP2來監(jiān)聽的(因?yàn)樗壎ǖ搅藘?nèi)部NIC的IP上)。如果是發(fā)給內(nèi)網(wǎng)用戶自己的,那么仍然是直接查詢AD,然后將郵件送達(dá);如果是發(fā)到外網(wǎng)的,那么SMTP2啟用了外網(wǎng)DNS服務(wù)器,所以可以順利的解析到外網(wǎng)域名,然后通過連接到SMTP2的SMTP Connector,將郵件Relay到外網(wǎng)。 那么,你的合法用戶,如何使用呢?
如果用戶在內(nèi)部網(wǎng)絡(luò)中使用,那么他可以使用 outlook express或者Foxmail等POP3郵件程序,進(jìn)行收發(fā)郵件(注意POP3服務(wù)器要設(shè)置為外部NIC的IP,SMTP服務(wù)器要設(shè)置為內(nèi)部NIC的IP,分別對應(yīng)Exchange 服務(wù)器的設(shè)置); 如果用戶是在外網(wǎng)中使用,那么他只能使用 outlook express或者Foxmail等POP3郵件程序,進(jìn)行郵件的接收,但不能用它們發(fā)送郵件。原因很簡單,監(jiān)聽外網(wǎng)SMTP請求的那個(gè)虛擬SMTP服務(wù)器SMTP1,不支持Relay。不過,這時(shí)候就可以請出著名的OWA了。用戶可以利用瀏覽器,通過OWA的方式,發(fā)送郵件。
另外,如果你不是通過ISA Server發(fā)布Exchange服務(wù)器,而是直接將Exchange服務(wù)器發(fā)布在Internet上,那么原理是相同的,只是具體的設(shè)置有些細(xì)微的不同,請自己體會和調(diào)整。 以上就是我的一點(diǎn)粗淺認(rèn)識,如果能對大家有所幫助,不勝高興。