中国教育和科研计算机网
EDU首页 |  中国教育 |   高校科技 |   教育信息化 |   CERNET
教育信息化

资讯 | 专题 会议 观点 专栏 访谈 企业 产品 CIO 技术 校园信息化 下一代互联网 IPv6视频课堂

中国教育网 > 教育信息化
您现在的位置: EDU首页 > 教育信息化 > 技  术
高校反垃圾邮件:清华将提高服务的可用性放第一
http://www.edu.cn   2008-07-17 中国教育网络 作者:田斌

字体选择:【大】 【中】 【小】

  日益猖獗的垃圾邮件给用户和电子邮件系统管理人员带来了极大困扰。本文结合清华大学电子邮件系统的特点,介绍清华大学电子邮件系统中反垃圾邮件系统的部署情况。

  特点与挑战
  每个学校都有自身的特点,这些特点也同时反映在电子邮件的使用中。先了解一下清华大学电子邮件系统的基本情况。

  首先,用户多。清华大学电子邮件系统目前有5.9万多用户,用户数量较大。每日邮件网关的邮件发送请求目前已将近250万,垃圾邮件超过95%。图1给出了2008年4月邮件网关每日的邮件发送请求总数和垃圾邮件比例,图中的数据是两台邮件网关的统计数据合并后得出的,也就是说单台网关请求数量大约是125万/天。

  其次,支持的收信域多。目前清华邮件收信域有5个,其中教工3个:tsinghua.edu.cn,mail.tsinghua.edu.cn,mail.thu.edu.cn;学生2个:mails.tsinghua.edu.cn,mails.thu.edu.cn。

  此外,通过邮件的方式进行的国际间的科研交流比较多。很多知名教授都与国外的不少高等院校有着长期的联系,清华大学一些院系与国外某些院校或机构之间也有不少合作项目,他们之间有着频繁的邮件往来。

 

图1 邮件网关每日邮件发送请求总数和垃圾邮件之比

  同时,我们还可以发现,清华大学每年都有很多数量的学生申请出国留学。每年在一些固定的时间段,申请出国的学生与国外邮件往来也会很频繁。

  另外,清华有不少学生热衷于开源软件,很多在校本科生和研究生参加了清华大学开源软件俱乐部。他们之中的某些人参与了一些开源软件的开发,有些人经常在一些开源软件的邮件列表上进行交流。

  正是我们的邮件系统存在以上特点,许多用户的邮箱账号基本上是公开的,或者很容易在网络上得到,导致我们的邮件系统中垃圾邮件数量众多。这就对我们部署邮件系统提出了较高的要求。

  邮件系统整体部署考虑
  在部署反垃圾邮件系统乃至整个电子邮件系统时,我们主要从以下个方面进行考虑:
  第一,高可用性。由于用户数量大,系统在运行时如果出现故障,影响范围很大。因此,提高整个邮件的可用性是首要考虑,我们尽可能地采用集群技术,减少系统中存在的单点故障。该方面的考虑贯穿于整个邮件系统的部署中。
  第二,降低垃圾邮件对整个系统的影响。存储大量的垃圾邮件必然会造成存储空间上的浪费,处理这些垃圾邮件,也需要占用宝贵的系统资源。为减少这些影响,我们使用垃圾邮件网关,对外域邮件进行过滤,只将正常的邮件投递到邮件服务器上。
  第三,有效拦截垃圾邮件。清华用户邮箱的公开程度高,用户收到的垃圾邮件多,很大程度上干扰了教师的科研与教学,也干扰了在校学生的学习生活。这就要求我们必须能够对垃圾邮件进行有效的拦截。我们采用商用的垃圾邮件网关,以达到较好的拦截目的。虽然有一些开源软件也很不错,但由于清华用户多,为保证系统的运行,能够得到有保障的技术支持,我们最终还是采用了商业软件。从整个系统架构上也要考虑全面,让垃圾邮件无缝可入。
  第四,邮件网关功能丰富。用户数量大,用户的需求也就很大,这些需求也就存在较大的差异。邮件网关功能多了,才可能去满足不同用户的不同需求。这也是我们选用商业软件作为邮件网关的原因。
  第五,良好的数据统计功能。有了数据统计功能,才能更好地去了解和完善整个系统,才能了解反垃圾邮件方面可能存在的新的需求,为以后的运行提供决策依据。

  下面让我们看一下清华大学电子邮件系统的完整架构,见图2。

 

图2 清华大学电子邮件系统的完整架构

  可以看出,整个系统中服务器角色分工非常明确,同时每种角色的服务器都至少有两台,这样可以保证服务的可靠性,减少系统中的单点故障。校园网用户访问电子邮件系统都要经过LVS集群服务器,经LVS集群服务器进行负载均衡调度后,请求会根据实际的请求类型将其分配到发信服务器、学生邮件前端和教工邮件前端。外域发到清华的邮件经垃圾邮件网关过滤后,会投递到学生邮件前端或教工邮件前端。

  反垃圾邮件设置考虑
  我们详细谈谈关于反垃圾邮件方面的一些设置和考虑。

  校园网用户使用邮件客户端(Outlook, Foxmail或其他客户端)发信,都会经过发信服务器,而前端服务器不直接对外提供客户端发信服务。发信服务无论收信人是本地域用户还是外域用户,我们都要求用户认证,只有认证通过才能正常发信。这样可以避免垃圾邮件制造者使用发信服务器直接将垃圾邮件投递到本地域。

  发信服务器收到的至本地域的邮件都直接投递给学生前端或教工前端,不经过垃圾邮件网关,这样可以减轻垃圾邮件网关的负担。由于我们保留了所有的发信日志,即使有校园网用户利用发信服务器发送垃圾邮件,我们也可以通过查找日志找出这些用户。

  在我们最初的系统中没有这两台发信服务器,2007年底才增加了这两台发信服务器。在此之前,客户端发信都是直接连接到前端服务器上发信。当时我们发现有不少垃圾邮件都是直接投递到前端服务器上的,而没有经过垃圾邮件网关。这是因为在前端服务器做这种认证限制存在一定难度:1.前端系统使用的是商业软件,本身在这方面没有相应的支持;2.垃圾邮件网关也需要做相应的设置更改,同样是因为商业软件的原因,也没有相应的支持,即使支持,更改设置后,也存在一定的运行风险。所以,我们最终引入了两台发信服务器,使用开源的exim3软件提供发信服务,并要求所有发信请求都必须经过认证,这样从系统架构上保证了能够对垃圾邮件进行有效拦截。

  增加两台发信服务器还有另外一个原因,就是将各项服务尽可能分开,降低各服务之间的耦合程度,以提高服务的可用性。当邮件前端发生故障时,用户将无法收信,但只要发信服务器正常,用户还是可以继续对外发信的。

  使用Web进行收发邮件的用户进行发信时,邮件将从学生前端或教工前端发出。由于商业软件本身功能上的一些限制,我们无法对其行为进行相应的控制。所以,学生与教工之间的邮件交流还是会经过垃圾邮件网关,但学生与学生或教工与教工之间的邮件交流不会经过邮件网关。

  前面已经提到过,两台垃圾邮件网关使用的是商业软件。该邮件网关使用了内容过滤、基于DNS的黑名单等技术。邮件网关本身提供集群方面的一些功能,另外就是SMTP协议在设计时已经考虑到了协议本身的不可靠性,RFC中已经制定了很多标准以保证邮件能够成功到达目的地。所以没有将邮件网关加入LVS集群系统中。

  遇到的问题

  在应用中,我们也发现一些问题,主要有以下几点。
  第一,垃圾邮件绕过邮件网关直接投递。这个问题前面已经提到过,也是我们为什么增加两台发信服务器的原因之一。反垃圾邮件系统在部署时都可能存在类似的问题,一般使用认证的方法就可以解决,但很可能需要在系统内引入额外的服务器。
  第二,使用LVS集群后,前端服务器发信到个别域时被拒收。Web用户发信时,邮件是通过前端服务器发出的。前端服务器对外投递邮件时,声明自己的域名是mail.tsinghua.edu.cn或mails.tsinghua.edu.cn,而这两个域名的IP被配置在集群服务器上,前端服务器使用另外的IP。由于域名和IP不一致,某些邮件域的反垃圾邮件系统拒收前端服务投递的邮件上。解决此问题的方法主要有两种:一种是修改集群配置和前端服务器的网络配置,让前端服务器以域名对应的IP对外发信;另外一种是注册新的域名,并让前端服务器投递邮件时,声明自己的域名为自己的IP对应的那个域名。总之,要保证投递时声明的域名与发信的IP一致。我们使用的是第一种方法。
  第三,用户收不到某些邮件。碰到这种问题,我们先要查网关的日志,如果能查到日志的话,一般很容易定位问题的原因,使用问题得到及时处理。如果查不到日志,大多数情况下,都是网络的问题或发信人邮件域的问题,需要发信人邮件域进行处理。
  第四,某些正常邮件被拦截。邮件网关是针对所有用户的邮件进行过滤,每个用户的邮件特征也不尽相同,同一封邮件,可能对用户A来讲是垃圾,而对用户B来讲则不是垃圾。所以,总会有这种情况发生的。碰到这种情况时,我们采取的方法是由用户提出申请,在网关上增加相应的规则,去匹配用户认为是正常的邮件,对满足相应规则的邮件放行。用户一般在有重要邮件往来时会提这样的需求,比如准备申请出国等。日常工作中,这种申请不是很多,在临近毕业时会稍多一些,但不影响我们的日常运行。

  清华大学反垃圾邮件部署的基本情况就是这些,如果有读者感兴趣,可以发邮件给笔者进一步交流(tianbin@cernet.edu.cn)。

  无论是垃圾邮件技术还是反垃圾邮件技术,时时刻刻都在发生着重要变化。只要不断地去分析研究和创新,我们才能有效地控制垃圾邮件,为用户提供一个绿色的网络环境。
  (作者单位为清华大学信息网络工程研究中心)

  《中国教育网络》2008年6月刊

页面功能 【打印】 【关闭】 【我有话说

MOOC风暴来袭

版权所有:中国教育和科研计算机网网络中心 CERNIC,CERNET,京ICP备15006448号-16,京网文[2017]10376-1180号

关于假冒中国教育网的声明 | 有任何问题与建议请联络:Webmaster@staff.cernet.com