|
电子邮件是人们在网上最常使用的通信工具之一,它已经成为我们网络生活中不可或缺的一部分,因此建立一个安全、可靠的电子邮件系统是十分必要的。由于电子邮件的使用有着悠久的历史,因此有关电子邮件服务器系统的软件非常丰富,不过目前使用最广泛的还是一种自由软件──sendmail,它支撑着当前Internet邮件系统的主体。不过sendmail也有种种的不足,接下来我就给大家介绍一下Sendmail的弱点,以及两种可用于替换Sendmail的邮件服务器软件,希望大家在读完这篇文章之后能够对目前的邮件服务器系统软件有一个深入的了解。
Sendmail的不足之处
无论从使用的广泛程度,还是从代码的复杂程度来讲,sendmail都是一款非常优秀的软件。假如使用它来构建网站的电子邮件系统,基本上不必费心,因为几乎所有的Unix缺省配置中都内置这个软件,只需要设置好操作系统,它就能立即运转起来。然而,Internet用户的要求更为苛刻,纷纷指出sendmail中包含的各个不足之处。
1、sendmail的安全性较差,这是因为当其作者Eric Allman最初开始写作这个软件的时候,Internet的用户还很少,因而安全性并不没有得到大家的重视。由于邮件系统需要处理的是外部发送来的各种各样的信息,甚至包含一些恶意数据,然而sendmail在大多数系统中都是以root身份运行,一旦出现问题,就会对系统安全造成严重影响。在这种情况下,要防止出现安全问题,仅仅依靠程序本身是不可取的,应该从系统结构出发,使程序拥有的非凡权限限制到最小。
2、由于其早期的Internet用户数量及邮件数量都相当小,Sendmail的系统结构并不适合较大的负载,对于高负载的邮件系统,需要对Sendmail进行复杂的调整。例如,通常情况下sendmail只启动一个进程顺序向外发送邮件,假如邮件较多时就要花费相当长的时间。
3、Sendmail的设置相当复杂,对于使用缺省设置来收发电子邮件,问题并不存在。当治理员打算进行一些非凡设置,以便利用Sendmail提供的复杂邮件处理能力时,就不得不面对复杂的宏和正则表达式。虽然现在Sendmail使用了宏预处理程序m4使设置更易于理解一些,但是把握Sendmail的设置仍然是对系统治理员的一大挑战。
第一种替换选择Qmail
为了解决sendmail的安全问题,整个系统结构需要重新设计。基本的原则是将系统划分为不同的模块,有负责接收外部邮件的,有治理缓冲目录中待发送的邮件队列的,有将邮件发送到远程服务器或本地用户的。Qmail就是按照这个原则进行的设计,它由多个不同功能的小程序组成,只有必要的程序才是setuid程序(即以root用户权限执行),这样就减少了安全隐患,并且由于这些程序都比较简单一些,因此就可以达到较高的安全性。
这种按照Unix思路的模块化设计方法也使得Qmail具备较高的性能,因为假如需要,Qmail可以启动某个模块的多个实例来完成同一个任务,例如启动多个发送程序同时向外发送邮件,这对于提供邮件列表服务的邮件系统是非常有益的。这种方式也使得Qmail要占用较大的网络带宽,假如带宽有限,效果反而不好,但在当前网络性能大幅度提高的情况下,这种方式是非常合适的。
Qmail还提供一些非常有用的特色来增强系统的可靠性,例如,它提出了Maildir格式的邮件存储方式,这使得通过网络文件系统NFS存取邮件成为可能。此外,Qmail还具备一些非常别致的特色,它不仅仅提供了与Sendmail兼容的方式来处理转发、别名等能力,还可以用以Sendmail完全不同的方式来提供这些功能。从它的编译安装方式、提供的扩展功能和源代码的风格,可以看出其作者Dan Bernstein是一个极具个性化的程序员。正因为如此,对于Qmail的某些方面,有着一些争论,例如有些人认为Qmail的安装设置并不易于理解,很轻易让人糊涂,而另一些人的看法则相反。基本上这是因为Qmail提供解决问题的方式,和Sendmail不大相同的缘故,这样对那些不太熟悉Sendmail的邮件系统治理员,反而更轻易接受Qmail一些。
|
| 共2页: 上一页 1 [2] 下一页 |
评论加载中…