全国统一热线:
028-86758058
18980748058
购买流程
付款方式
常见问题
在线提问
续租服务
购物车(
0
件)
用户名:
密 码:
记住
首 页
HOME
域名注册
DOMAIN
虚拟主机
WEB HOST
成品网站超市
AUTO Site
VPS主机
VPS SERVER
云 主 机
CLOUD HOST
租用托管
SERVER
海外主机
HK HOST
代理专区
AGENT
客服中心
SERVICE
IDC资讯
SERVICE
欢迎光临天府快车,我们将竭诚为您提供最优质的服务!
中文域名
域名转入
域名转出
DNS管理
动态域名
获取域名证书
域名停放
域名过户
集群主机
双线主机
基本主机
港台主机
论坛主机
Linux主机
Vip合租主机
超G型主机
ASP.net主机
Java主机
智能建站主机
网店主机
美国主机
数据库
成品网站超市
智能建站主机
集群VPS主机
国内VPS主机
香港VPS主机
美国VPS主机
云主机介绍
云主机购买
服务器租用
主机托管
常见问题
香港主机
港台主机
美国主机
国内免备案
步骤流程
代理级别
代理合同
代理模式
代理优势
在线申请
产品列表
常见问题
代理商分布图
常见问题
有问必答
跟踪提问
购买流程
产品价格
付款方式
常用软件
网站备案
续租服务
汇款确认
相关文档
联系我们
IDC资讯
行业资讯
网站运营
站长百科
IDC新闻
域名资讯
云计算
虚拟主机
您当前的位置:
首页
>
站长百科
>
服务器技术
邮件服务器的安全解决方案
时间:2015-01-18 来源:互联网 作者:佚名
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。
access是邮件安全控制的主要数据库文件,在该文件中可以按照特定的格式将需控制的域名、IP地址或目标邮件地址,以及相应的动作值写入,然后使用makmap命令生成access.db文件(#makemap hash access.db < access),从而使服务器允许或屏蔽邮件中继和邮件轰炸。access的格式如下:
spam.com REJECT
edu.cn OK
hotmail.com DISCARD
其中reject动作是拒绝接受从指定地址发来的邮件;ok是允许特定地址用户任意访问;relay允许通过本邮件服务器进行中转邮件;discard是将收到的邮件交给特定命令进行处理,例如:可以设定将收到的邮件丢弃,或者设定收到邮件后返回给使用者一条出错信息等等。
Relay-domains文件是设定哪些域是该服务器可以中继的域,其格式为每个域占一行。如:
......
CN
EDU
JP
......
在服务器开始使用时建议将所有顶级域名加入其中,以后再根据安全需要对其进行修改,否则将会使pop3用户发送邮件时出现relay reject错误,而无法向没有加入的域名目标邮件地址发送邮件。
3)版本号的修改
对于一台邮件服务器,可以通过远程的25端口telnet命令来获取服务器的版本信息。如:“telnet sendmail服务器主机25”就可以查看sendmail的当前版本。为了防止一些恶意的查看版本信息操作,sendmail提供了可以对显示的版本进行修改的操作。
在sendmail.cf文件中有一句“SmtpGreetingMessage=$j sendmail $V/$Z; $b”的语句,其中$V/$Z就是版本信息,正常情况下由该参数显示的版本信息为sendmail本身的版本。如果要设定成管理员给定的版本信息,只需将该参数改掉,然后加入你所希望的信息即可。例如:当把这句改成“SmtpGreeting Message=$j sendmail 0.0/0.0; $b”,重启sendmail服务,则sendmail的版本就会变成“sendmail 0.0”。从而达到隐蔽版本信息的目的。
以上是sendmail 8.9.3本身带有的安全功能设置,通过这些安全设置可以大大加强服务器安全性能。但是在防止邮件中继和邮件炸弹的设置时,如何确定哪些目标地址是需阻止中继的,哪些又是允许中转的,似乎只能通过管理员对日志文件的分析和观测,或者待发现了安全问题后才能确定。因此这种安全控制还仅是事后控制,并且对相关文件修改后还必须重新启动服务器。如要实现事先动态安全控制还需要采用其他方法。
2.动态中继验证控制
DRAC(Dynamic Relay Authorization Control)动态中继验证控制是专门为邮件服务器设计的一个服务器端软件(http://mail.cc.umanitoba.ca/drac/index.html),它可以安装在一台SMTP服务器上,并同时为多个邮件服务器提供动态中继验证服务。DRAC主要通过自动获取和动态更新中继验证数据库中的信息来允许合法pop3或IMAP用户使用邮件服务器,从而有效地控制邮件炸弹和非法的邮件中继。DRAC的原理就是利用pop3或imap服务器固有的功能来获取用户名、密码和客户机IP地址等信息,并将这些信息及时映象到验证数据库中,供smtp服务器调用,同时在经过一段时间以后(缺省为30分种),其验证信息将自动失效,需要用户重新输入验证信息。这样不仅可以保证合法的pop3或imap用户能够正常使用邮件服务器,也可以阻止任何非注册用户(包括本地)利用邮件服务器来发送邮件。这种邮件安全控制常常被称为:“邮件服务之前的pop验证”(POP-before-SMTP)。
(1)DRAC的编译
在编译DRAC之前,系统的sendmail服务器应该已经正确编译安装了。首先在DRAC源程序目录中编辑Makefile文件,在Solaris 2.x操作系统中其Makefile改成:
INSTALL=/usr/ucb/install
EBIN=/usr/local/sbin
MAN=/usr/local/man/man
DEFS=-DTI_RPC -DFCNTL_LOCK -DSYSINFO
CC= (编译器)
RANLIB= :
CFLAGS=$(DFES) -g -I/path/to/db/include
LDLIBS=-L/path/to/db/library -lns1 -1db
TSTLIBS=-L. -ldrac -lns1
MANLIB=3
MANADM=1m
然后编译并安装即可。
如果存在多个pop/IMAP服务器,则还需要将这些服务器的IP地址加到文件/etc/mail/dracd.allow中,其文件书写格式与/var/yp/securenets文件格式一样。如:
255.255.255.255 202.139.244.23
255.255.255.255 127.0.0.1
(2)修改sendmail.mc文件重新生成sendmail.cf
在使用DRAC验证功能之前,还需要将DRAC的验证信息加到sendmail.cf文件中。首先要修改sendmail.mc文件,然后重新生成sendmail.cf。sendmail.mc文件中相关语句修改如下:
在LOCAL_CONFIG行下增加
kdrac btree /etc/mail/dracd
在LOCAL_RULESETS下增加
Slocal_check_rcpt
R$* $: $&{client_addr}
R$+ $: $(drac $1 $: ? $)
R? $@ ?
R$+ $@ $#OK
重新生成sendmail.cf文件后,再重启sendmail进程。
来顶一下
返回首页
推荐资讯
【图文教程】dede织梦网站后台如何
对于新手站长可能不了解,dede织梦后台是如何发文章的。下面
2014站长圈十大事件:PR已死 移动算
2014年即将过去,虽然站长圈相比过去几年稍显沉寂,但&ldquo
相关文章
无相关信息
栏目更新
栏目热门
返回首页
关于我们
联系我们
付款方式
价格总览
资讯中心
友情链接
媒体关注
有问必答
投诉建议
网站备案
《中华人民共和国增值电信业务经营许可证》编号:川B2-20080058号
官方网址:
www.tfkc.cn
天府快车
Copyright © 2002~2015
天府快车
版权所有
电话总机:
028-86758058
(50线) 传真:
028-86758058