邮件系统 设为首页
加入收藏
总编信箱
| 第一邮局 | 免费邮箱 | 邮箱评测 | 企业邮局 | 移动邮件 | 邮件系统 | 邮件营销 | 反垃圾邮件 | 邮件客户端 | 邮件安全 |
当前位置:第一邮局>邮件系统>SendMail>文章内容

Sendmail环境下利用DRAC杜绝垃圾邮件

来源:Mail1.com.cn 编辑:Mail 发布时间:2007-05-21 [收藏] [推荐] [评论(0条)]
摘要:本文讨论了如何在sendmail环境下通过DRAC技术对用户右键按转发进行控制,在为IP地址不确定的用户提供邮件服务的同时,防止邮件服务器被用作互联网垃圾邮件转发器,以增强邮件服务器的安全。本文经过严格的测试和试验。

软件环境:

DRAC ftp://ftp.cc.umanitoba.ca/src/drac.tar.Z
本地下载

qpopper3.0 ftp.qualcomm.com/eudora/servers/unix/popper/old/qpopper3.0.tar.Z
本地下载

patch http://mail.cc.umanitoba.ca/drac/qpop30b36.txt
本地下载

sendmail http://www.sendmail.org/8.11.html

操作系统为:Rehat 6.2

硬件环境:HP E60 单网卡

什么是DRAC

互联网中最令用户讨厌的问题就是大量的垃圾电子广告邮件满天飞,而作为邮件服务器管理员的你管理的邮件服务器的可能就是转发垃圾邮件的中继器。出现这种问题的最根本的原因是标准的电子邮件传输协议(SMTP)在传输邮件时,不进行用户身份认证,邮件可以被匿名/冒名发送。而导致你的邮件服务器被用作垃圾邮件转发器则是因为服务器配置不当,使得服务器是open relay的,从而被垃圾邮件发送者利用其来发送垃圾邮件。

为了解决以上问题,对于邮件服务器只为具有固定IP地址的用户服务的情况下,比如说你管理的邮件服务器是为园区网服务的,则可以对sendmail设定只允许园区网的IP地址通过该服务器转发邮件,从而阻止垃圾发送者通过服务器转发垃圾邮件。具体参考本站的“senmail快速指南"一文的相关内容。

而对于需要提供免费邮件申请的应用环境,或是希望本单位用户在出差时可以在任何地方通过拨入当地的ISP来发送接收信件的应用环境来说,这时候用户的IP地址是不固定,是无法预料的,这样上面的方法就不适用了。有两种方法可以在保证合法用户正常使用的同时防止垃圾邮件发送者利用邮件服务器转发垃圾邮件。

第一种方法是为Sendmail加入SMTP转发认证,请参考本站的《Sendmail环境下实现SMTP认证拒绝垃圾邮件》。另外一种就是DRAC(Dynamic Relay Authorization Control)-动态邮件转发授权控制。

DRAC(Dynamic Relay Authorization Control——动态转发授权控制),其原理就是利用pop3或imap服务器固有的功能通过用户名、密码和客户机IP地址兰验证用户身份的合法性,并将这些用户IP信息及时映象到允许转发邮件的验证数据库中,供smtp服务器调用,同时在经过一段时间以后(缺省为30分种),其验证信息将自动失效,需要用户重新输入验证信息。这样不仅可以保证合法的pop3或imap用户能够正常使用邮件服务器,也可以阻止任何非注册用户(包括本地)利用邮件服务器来发送邮件。这种邮件安全控制常常被称为:“邮件服务之前的pop验证”(POP-before-SMTP)。

DRAC 实际上是一个运行在后台的守护进程,以客户/服务器模式运行。客户服务器之间通过使用RPC进行网络通讯。在这个系统中,POP或IMAP是客户程序, DRAC daemon 是服务程序可以同时为网络上的多台邮件服务器提供动态转发的功能。DRAC守护进程必须与邮件服务器(Sendmail)运行在同一台计算机上。因此,在实际应用时,Sendmail和DRAC运行在同一台机器上,而POP或IMAP可以运行在网络中的其他计算机上,本文的示例讨论所有的服务都安装在同一台服务器上的情况。

拨号上网的用户IP是一个不定值。只有把他的IP加入到access.db中,用户才能使用邮件服务器发邮件。如果采用动态控制,在用户收取邮件时,进行身份验证,对于验证通过的用户,后台监控程序会实时地将用户当前的IP记录到数据库中。具体实现过程是:先“收”后“发”, 收件时要经用户身份认证,认证后将用户的IP加入数据库,IP地址在SMTP Server的数据库中保存30分钟。每收取一次邮件,计时重新开始。30分钟内如果用户不使用邮件服务收发,则DRAC将用户的IP从数据库中删除。这种做法保证了拨号用户可以收发自己的邮件。唯一不方便的是:用户第一次发邮件时,需要先收一次邮件。感觉上,这好像很麻烦,不过,如果大家都习惯了先收后发,那么就一点儿也不会有别扭的感觉了。

软件安装

软件安装需要三个步骤:第一步首先安装DRAC,然后安装POP/IMAP服务器,最后配置Sendmail服务器。

1、DRAC的安装

首先在/usr/src目录下创建子目录drac:

[root@mail drac]# mkdir drac
[root@mail drac]# cd drac/

解开软件包:

[root@mail drac]# cp /root/drac.tar.Z ./drac/
[root@mail drac]# tar xvfz drac.tar.Z

编辑Makefile,修改其中如下内容:

INSTALL = install
EBIN = /usr/local/sbin
MAN = /usr/local/man/man
DEFS = -DSOCK_RPC -DFCNTL_LOCK -DGETHOST -DDASH_C
CC = gcc
RANLIB = :
CFLAGS = $(DEFS) -g
LDLIBS = -ldb
TSTLIBS = -L. -ldrac
RPCGENFLAGS = -C -I
MANLIB = 3
MANADM = 8

编译安装DRAC:

[root@mail drac]# make
[root@mail drac]# make install
[root@mail drac]# make install-man

编辑/etc/mail/dracd.allow文件,确保内容如下:

# dracd.allow: clients trusted by rpc.dracd
#
# The format of this file is one of more lines of
#
# netmask netaddr
# Both netmask and netaddr must be dotted quads.
#
255.255.255.255 127.0.0.1
####


启动DRAC,在启动以前先要启动portmap服务,首先确定系统安装有portmap软件包:

[root@mail drac]# rpm -qa|grep portmap
portmap-4.0-19

然后启动portmap服务:

[root@mail drac]# /etc/rc.d/init.d/portmap start

启动DRAC服务器:

[root@mail drac]# /usr/local/sbin/rpc.dracd

安装drac库:

[root@mail drac]# mkdir /usr/lib/drac
[root@mail drac]# cp libdrac.a /usr/lib/drac/

2、安装Qpopper

Qpopper本来没有自动向DRAC发信息功能,需要对Qpopper进行补丁处理才能实现POP Server与DRAC进行通讯。本文以Qpopper 3.0为例。

[root@mail src]# tar xvfz qpopper3.0.tar.Z
[root@mail src]# cd qpopper3.0
[root@mail qpopper3.0]# cp /root/patch
[root@mail qpopper3.0]# patch -p0 < patch
[root@mail qpopper3.0]# ./configure --enable-specialauth --enable-dracauth
[root@mail qpopper3.0]# make
[root@mail qpopper3.0]# cp popper/popper /usr/local/sbin/

确保/etc/inetd.conf中包含下内容(将原有的pop一行前添加#,以将其注释掉):

pop-3 stream tcp nowait root /usr/local/sbin/popper qpopper -s

并将原来含POP3的一行屏蔽掉。重启inet:

[root@mail mail]# ps ax|grep inetd
336 ? S 0:00 inetd
3925 pts/0 S 0:00 grep inetd
[root@mail mail]# kill -HUP 336

这时候新的POP server就具有与DRAC通信的功能了。

3、sendmail的配置

sendmail的安装可以参考"sendmail快速指南"一文,这里只需要在其基础上修改sendmail.cf文件即可。

编辑/etc/sendmail.cf:

在"local info"部分的最后添加入下内容:

# dynamic relay authorization control map
Kdrac btree /etc/mail/dracd

紧接着"SLocal_check_rcpt"一行下面添加如下内容:

# allow recent POP/IMAP mail clients to relay
R$* $: $
上一篇:怎样在Linux Sendmail系统中防御垃圾邮件?   下一篇:Sendmail环境下对抗垃圾邮件的处理方法
[365Key收藏] [雅虎收藏+] [返回顶部] [打印本页] [关闭窗口]  
邮箱   相关文章
·怎样在Linux Sendmail系统中防御
·Sendmail环境下对抗垃圾邮件的处
·horde imp Webmail的安装与设置
·Sendmail8.12.9 RedHat 8.0建构
·在REDHAT9.0下安装igenus
·Sendmail 554 错误的解决
·我的qmail安装历程
·Sendmail中的SASL SMTP认证
·为 Sendmail 建立虚拟邮件域
·用Sendmail配置你的第一台e-mail
·Sendmail的安全解决方案
·配置高效的Sendmail服务器
免费邮箱 163邮箱  21CN邮箱  Gmail  Hotmail  QQ邮箱  SoGou邮箱  新浪邮箱  雅虎邮箱  
邮箱评测 企业邮箱评测  
企业邮局 企业邮箱  企业邮箱资讯  
移动邮件 技术前沿  手机邮件  
邮件系统 CMail Server  WinMail  SendMail  Qmail  Postfix  MDaemon Server  Lotus Notes  IMail Server  Foxmail Server  Exchange Server  Domino  Winwebmail  
邮件营销 网络营销  营销案例  营销技巧  邮件营销  
反垃圾邮件 Anti-Spam技术产品  新闻资讯  
邮件客户端 DreamMail  Foxmail  IncrediMail  KooMail  Outlook  The Bat!  
邮件安全
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·Redhat8下Sendmail(邮件)的配
·配置高效的Sendmail服务器
·中小企业服务器配置-邮件服务器
·如何监控sendmail邮件系统中的用
·为 Sendmail 建立虚拟邮件域
·Sendmail MailScanner ClamA
·Linux 架设 sendmail MAIL
·在Linux系统下面架设Sendmail服
·部分sendmail中的高级设置
·Sendmail的安全解决方案
·FreeBSD Virtual Mail How-To
·十分钟快速架设Linux系统下WebMa
网站首页 -  网站地图 -  域名注册 -  虚拟主机 -  企业邮箱  -  网站投稿  -  广告联系 -  帮助中心  -  

Copyright 2007-2008 Mail1.com.cn All Rights Reserved
本站内容均来自网络,如果侵犯版权请来信告知,核实后我们会在24小时删除 联系方式:
第一邮局QQ群:14743955 E-mail:www@onlinex.com.cn