|
先请参看我发的另一个对于open relay的贴子.<br>
<a target=_blank href=../Announce/announce.asp?BoardID=35&ID=145640&AUpflag=1&ANum=1>../Announce/announce.asp?BoardID=35&ID=145640&AUpflag=1&ANum=1</a><br>
<br>Mail relay testing 的测试似乎不准确,以Relay test 8为例<br>
<br>
>>> RSET<br>
<<< 250 2.0.0 Resetting<br>
>>> MAIL FROM:<spamtest@[xxx.xxx.xxx.xxx]><br>
<<< 250 2.1.0 spamtest@[xxx.xxx.xxx.xxx]....Sender OK<br>
>>> RCPT TO:<"securitytest@abuse.net"><br>
<<< 250 2.1.5 "securitytest@abuse.net"@sample.com <br>实际"secuitytest@abuse.net"@sample.com匿名发送成功,但不会投递到secuitytest@abuse.net,最终返回的是NDR,也就是说并未中继成功. <br><br>但为了安全起见,现在我构想到一个防open relay的方法.理论上行得通.方法如下: <br>在公网上使用两个IP<br>A 202.101.111.01<br>B 202.101.111.102<br>MX记录指向A(优先级高),B(优先级低),在Exchange Server使用两块网卡,再创建一个New SMTP Virtual Server,绑定网卡,A的25端口指向Default SMTP Virtual Server所绑定的网卡上,B的25端口指向到New SMTP Virtual Server所绑定的网卡上去. <br>
<br>A的SMTP Server属性Access为允许anonymous access,即用于接收外部邮件,但关闭Relay功能( 把Allow all computer which sucessfully authenticate to relay,regardless of the list above勾去掉).<br>
<br>B的SMTP Server属性去掉aconymous access,禁止接收外部邮件,但保持Relay(Allow all computer which sucessfully authenticate to relay,regardless of the list above打勾),企业内部用户SMTP全部指向到B来发邮件. <br>
<br>原理: <br>外部邮件投递到公司邮箱,因MX记录A的优先级高,最终传递到Default SMTP Virtual Server,因允许anonymous access,邮件顺利接收,假如这是一个不怀好意的人,想中继他的垃圾邮件,因Relay被关,目的无法达到,公司邮箱用户SMTP指定到B,并保持账户选项中SMTP服务器需要验证为有效,此SMTP连接是不能匿名的,能有效防止外部使用,假设外部垃圾发送者知道某个弱口令用户,并知道使用B地址,也是比较容易发现,查找出来的.<br>
<br>
<br>公司防火墙支持双Wan口,又正好有两个IP,实施没什么困难,各位大虾,以为这个方法如何,还请赐教,谢谢! |
|