看过这篇文章就会明白
在论坛上看到有朋友对服务器为什么一定要开启匿名连接觉得奇怪,并认为这是垃圾邮件的根本。关闭了匿名连接就不能接收外部邮件,好不苦恼。那到底匿名连接的意义在哪里呢?
首先,需要大家了解的是连接不等于中继,连接是说允许对方与你的服务器建立TCP通信。由于全球的服务器那么多,你不可能要求每个服务器连接你的是都提供一个你认可的验证,所以匿名连接是必须的。匿名连接保证了任何的服务器和用户可以在任何地方通过网络连接你的服务器,于之建立TCP通讯。
中继则不一样,中继是指通过服务器要求传递邮件的一种请求,一个正常的邮件过程中,邮件是一站到达的,也就是说一个服务器处理的邮件只有两类--一类是外发的邮件,一类是接收的邮件,前者是你的用户通过服务器要向外转发的邮件,后者是发给你的用户的。一个服务器不应该处理过路的邮件,什么叫过路的邮件呢?就是既不是你的用户发送的,也不是发给你的用户的。而是一个外部用户发给另一个外部用户的(这两个用户都是组织外的)。这一行为称为第三方中继。如果是不需要经过验证就可以中继邮件到组织外,称为OPEN RELAY(开放中继),这两者是要禁止的,但中继是不能关闭的。
如果你关闭了OPEN RELAY(注意是开放中继,不能关闭中继),那么必须是你的组织成员通过验证后才可以提交中继请求。也就是说,你的用户要发邮件到组织外,一定要经过验证。要注意的是,你不能关闭中继,否则你的邮件系统只能在组织内使用,这里你需要了解几个概念:
* 投递:用户通过客户端向服务器提交邮件。
* 中继:用户通过服务器将邮件传递到组织外
* OPEN RELAY:不受限制的组织外中继,即无验证的用户也可提交中继请求
* 第三方中继:由服务器提交的OIPEN RELAY。不是从客户端直接提交的。比如我的域是A,我通过服务器B(属于C域)中转邮件到D域。这时在服务器B上看到的是连接请求来源于A域的服务器(不是客户),而邮件既不是服务器B所在域用户提交的,也不是发C域的,这就属于第三方中继。这是垃圾邮件的根本。如果用户通过直接连接你的服务器发送邮件,这是无法阻止的。比如群发软件。但你如关闭了OPEN RELAY,那么他只能发信到你的组织内用户,无法将邮件中继出组织。你明白了吗?
换言之,你无法阻止用户(匿名)向你的组织内成员发信,因为该操作不需要验证。组织内的邮件传递是不需要验证的。所以,你可以方便的冒名你组织内的任何人员发信给本组织。这是无法阻止的(除非你使用双俗主机),但是在EX2003里,你看到在匿名连接的下面有一个解析匿名邮件吗,这个你千万不要选上,不选它在有人冒充用户发信时,系统不会将其转换为GAL,这样所有接收的人看到的就是这个SMTP的地址(如a@a.com。尽管这个地址和用户A一样,也这样显示)。但如用户A通过验证后发的信,系统会将其SMTP地址翻译成GAL地址,你看到的就不是a@a.com了,而是A用户在GAL里的显示名(如USER-A)。
再说的深一点,由于SMTP协议在发明的时候没有考虑安全问题,因此SMTP协议被称为信任协议。简单邮件传输协议(SMTP)是在互联网几乎完全由学术界使用时开发的,它有一个非常重要的前提,那就是假定你就是说你自己是某人的真实身份。SMTP做出这种假定是因为系统并不怀疑你发送了特洛伊木马病毒,也不怀疑你以下台非洲独裁者的名义进行金钱欺诈,或是怀疑你非法利用别人电脑发送亿万封伟哥的广告。换言之,SMTP的信任太多了。因而导致了垃圾电邮的反对者、安全专家还有今天电邮系统的最初设计者们一起起来要求对它进行全面评估,即便不是完全换掉这个无所不在的协议。SMTP原型协议的共同作者、新墨西哥大学访问讲师luizer说,我要建议他们从头开始编写新协议。她说,根据我在电脑方面的经验—在这个问题上是相当宽泛的,试图在现有系统上修复问题总是比制定协议更加困难,同样也比考虑你到底要什么和提出新东西更困难。
遗憾的是,信息社会发展是快速的,今天SMTP的这种信任假定带给我们的是大量的垃圾邮件,所以才有了各种防范的方法。但是由于SMTP协议的这种假定,使得你无法准确的分辨垃圾邮件和正常邮件。因此垃圾邮件不会消失。
|