Sendmail邮件服务器快速升级技巧(1)


Sendmail作为邮件服务软件,一直以来,始终为各IT行业厂家的邮件服务器广泛使用,但由于Sendmail在设计当初,只考虑为用户提供邮件发送和接收等服务,并未对网络安全作过多考虑,因此这就为日后的网络黑客提供了攻击他人邮件服务器的可乘之机,即我们通常所说的"邮件转发"。

邮件黑客正是利用了Sendmail的这一漏洞,利用某些服务器的SMTP不设防的缺陷,将自己的私人邮件通过他人的邮件服务器发向目的地,以满足一己私欲;更有甚者,利用他人邮件服务器,肆意的向外界的任意地址发送"垃圾邮件",这样做,不仅给他人的网络维护造成巨大损失,同时也给接收方带来的诸多不便。

由于Sendmail自始至终一直作为邮件服务器的标准后台进程,并为广大服务器生产厂家所采纳,因此现阶段,想通过其它软件替代Sendmail做为邮件服务,似乎有远水难解近渴之感;当务之急,只有通过升级Sendmail来达到防止"邮件转发"的目的。

鉴于篇幅有限,现只对Sendmail的实现做具体说明,有关Sendmail的详细原理,请读者查询相关文档。

一. Sendmail的获取

在一般情况下,将sendmail升级到sendmail.8.9.3即可达防止邮件服务器转发的功能。

TIPS:可到以下WWW或FTP站点下在最新的sendmail版本:

http://www.sendmail.org

ftp://ftp.ncic.ac.cn

ftp://ftp.pku.ac.cn

ftp://ftp.tsinghua.edu.cn

sendmail的源代码文件为:sendmail..8.9.3.tar.gz

在获得sendmail.8.9.3.tar.gz后,可通过gunzip和tar命令将此文件解包。

二. Sendmail的生成

这是sendmail升级过程中较为重要的一步,它将生成sendmail可执行文件。

1. 进入当前目录下的/src目录,编辑文件Makefile.m4

将:MAPDEF= ifdef(`confMAPDEF', `confMAPDEF')

改为:MAPDEF= ifdef(`confMAPDEF', `confMAPDEF',`NDBM')

2. 在/src目录下,运行./Build进行编译。

TIPS:在编译过程中,可能会出现:sh groff not found 的提示信息。

可将Makefile.m4文件中有关groff的行注释掉即可:

#NROFF= ifdef(`confNROFF', `confNROFF', `groff -Tascii')

若想将编译结果直接安装到缺省目录下,可通过:

./Build install 来实现。

若出现gcc not found 或cc not found,可在/usr/bin下做如下软连接:

ln -s /usr/bin/gcc gcc的实际位置,或 ln -s /usr/bin/cc cc的实际位置。

如果还出现上述信息,则需要你重新安装gcc或cc编译器。


相关内容