Sendmail作为免费的邮件服务器软件,已被广泛应用于Internet各种操作系统的服务器中。如:Solaris,HPUX,AIX,IRIX,Linux等等。随着互连网的普及,邮件服务器受攻击的机会也大大增加。目前互连网上的邮件服务器所受攻击有两类:一类就是中继利用(Relay),即远程机器通过你的服务器来发信,这样任何人都可以利用你的服务器向任何地址发邮件,久而久之,你的机器不仅成为发送垃圾邮件的帮凶,也会使你的网络国际流量激增,同时将可能被网上的很多邮件服务器所拒绝。另一类攻击称为垃圾邮件(Spam),即人们常说的邮件炸弹,是指在很短时间内服务器可能接收大量无用的邮件,从而使邮件服务器不堪负载而出现瘫痪。这两种攻击都可能使邮件服务器无法正常工作。因此作为一个校园网邮件服务器防止邮件攻击将不可缺少。
目前对于sendmail邮件服务器,阻止邮件攻击的方法有两种。一种是升级高版本的服务器软件,利用软件自身的安全功能。第二种就是采用第三方软件利用其诸如动态中继验证控制功能来实现。下面就以sendmail V8.9.3为例,介绍这些方法。
1.服务器自身安全功能
(1)编译sendmail时的安全考虑
要利用sendmail 8.9.3的阻止邮件攻击功能,就必须在系统编译时对相关参数进行设置,并借助相关的软件包。目前主要就是利用Berkeley DB数据库的功能,Berkeley DB包可以从相关站点上下载,并需要预先编译好。然后将Berkeley DB的相关参数写进sendmail的有关文件中。
a.修改site.config.m4文件
将编译好的Berkeley DB有关库文件路径加入到site.config.m4文件中,使sendmail编译后能够使用Berkeley DB数据库。例如:
#cd $/sendmail-8.9.3/BuidTools/Site
修改site.config.m4文件
define (confINCDIRS, -I/usr/local/BerkeleyDB/include)
define (confLIBDIRS, L/usr/local/BerkeleyDB/lib)
b.修改sendmail.mc文件
sendmail.mc是生成sendmail.cf的模板文件之一,要使sendmail具有抗邮件攻击功能还需在该文件中进行相关定义。主要包括以下几项:
......
FEATURE(relay_entire_domain)
FEATURE(Access_DB)dn1
FEATURE(blacklist_recipients)
......
(2)相关文件的配置
正确编译好sendmail是邮件服务器安全控制的基础,而真正的安全设置主要还是利用相关文件进行的。这种包含控制语句的文件主要是Access和relay-domains。