问:最近我们这里接连发生了内部用户发送SMTP伪造邮件的事件,怎样才能杜绝此类事件再次发生?
答:SMTP协议在设计之初就没有提供强壮的验证功能。随着时间的推移,SMTP协议已经扩展了多种验证和隐私保护机制,对于你所遇到的问题,只需要一个非常简单的机制就可以解决。
因为公司中所有用户都可以访问你的SMTP服务器,所以你有两个选择:第一个选择就是在你的Exchange系统中配置SMTP虚拟服务器只接受另一个服务器的数据;第二个选择是在那些虚拟服务器上禁止匿名SMTP,所以用户在发送信息之前必须在服务器上进行验证。然而,这两种方法对于处理Internet上SMTP通讯的机器都不太合适。传入的SMTP通讯通常是匿名的,并且你一般也不可能预测到服务器遇到的入站IP地址。
你也可以考虑升级到Exchange Server 2003,它包含了SMTP引擎的一个改动,可以阻止它把匿名提交信息中的发送者地址解析为显示名称。这也就意味着,如果我使用Telnet提交了一个信息,表面上它是从billg@microsoft.com发送到微软的Email服务器的,那么服务器会把billg@microsoft.com当作发送者地址,而不是把该地址解析为通常显示的名称。要想从这项功能中完全受益,你需要教会用户要当心那些表面来自内部用户、但是在发件人字段中包含了明确SMTP地址的邮件。