首页 | 邮件资讯 | 技术教程 | 解决方案 | 产品评测 | 邮件人才 | 邮件博客 | 邮件系统论坛 | 软件下载 | 邮件周刊 | 热点专题 | 工具
网络技术 | 操作系统 | 邮件系统 | 客户端 | 电子邮箱 | 反垃圾邮件 | 邮件安全 | 邮件营销 | 移动电邮 | 邮件软件下载 | 电子书下载

反垃圾邮件

技术综述 | 客户端 | 服务器端 |
首页 > 反垃圾邮件 > 服务器端反垃圾邮件技术 > Sendmail反垃圾邮件技术 > 正文

Sendmail反垃圾邮件技术

出处:中国反垃圾邮件联盟 作者:wxy 时间:2003-10-4 2:33:00
Sendmail曾经是互联网上最灵活,应用最广泛的MTA,几乎在每一种主要类型的UNIX系统中都可以安装配置相应版本的Sendmail。但是由于Sendmail在安全上存在着种种的先天不足(如:必须运行在超级用户权限下、缺乏足够的安全机制、代码漏洞较多及在反垃圾邮件性能上的不足),近两年,Sendmail逐渐被Postfix或Qmail等MTA所取代。不过做为曾经最流行的MTA软件,Sendmail的影响还是不小的,有必要将其反垃圾邮件技术陈述出来,以供大家参考。

  注意:如果你因为某些原因还在使用8.8.x版本,我们强烈建议你升级到8.9.3和8.10以上(目前最新版本已经是8.12.9)。

  Sendmail反垃圾邮件配置可以从以下几方面进行配置:

    1. 配置RELAY_*特性
    2. 配置Access_db特性
    3. 配置sendmail的SMTP发信认证功能
    4. 使用RBL特性

 

  1、配置RELAY_*特性

  RELAY_*特性是SENDMAIL反垃圾邮件最基本的配置之一。RELAY在8.9后面的版本包括(8.9)均是默认关闭的,在8.9之前的版本Open-Relay是默认开放的,若你坚持要使用之前老版本,你需要使用SENDMAIL(`promiscuous_relay')特性,才能避免垃圾邮件的困扰。

  最常用的方法是通过使用一个文件名为relay-domains(通常在/etc/mail下)的文件来同意某一个特定的域或IP地址通过此台服务器来转发邮件信息。

  举例说,/etc/mail/relay-domains内容如下:
128.32
host.mydomain.com
[UNIX:localhost]

  在上例中,只有IP地址为128.32.x.x、主机名为host.mydomain.com的主机和主机自己才可以通过这台邮件服务器发送邮件。如果有许多网段需要使用此服务器,只需加在里面就可以了。如果不需要对IP地址进行限制,就不必在Relay-domains文件中放置IP地址,并且在Sendmail.mc宏定义文件中加上(‘promiscuous relay’)特性,就可以不用配置relay-domains文件了。
(`accept_unresolvable_domains')特性:如果在Sendmail.mc中加入下面一行: Feature ('accept_unresolvable_domains') 就可以传递那些域名不能从你的邮件服务器所在主机解析的邮件。当邮件服务器处于防火墙里面时会发生这种情况,所以当邮件服务器处于这种情况时必须使用这个特性,否则有些电子邮件不能送达。使用这个特性后,Sendmail就不会直接去试图解析那些邮件地址,而是把邮件转发到上一级邮件服务器,让其去转发,这样就可以绕过防火墙的屏蔽。
ccept_unqualified_senders特性 :如果在Sendmail.mc中加入Feature(‘accept_unqualified_senders’)特性,就可以使那些没有正确填写发送者地址的邮件发送者,比如在用户邮件地址中填入'aaa'之类地址的用户也能发送邮件。一般来说,这个特性是不开放的。
二Access_db特性
在采取上述措施后如果仍然有邮件垃圾,例如,具有系统合法用户的账号,可直接用此帐号发信,那么就要使用access_db选项来进行控制,可以使用Feature(‘access_db',‘hash /etc/mailaccess')或Feature(‘access_db',‘dbm /etc/mailaccess')特性。两者之间只在访问的数据库类型上有所不同,前一种是哈希表,后一种是传统的数据库类型,选用哪一种都不重要,关键是看系统上安装了哪一种数据库。这样当Sendmail启动后就会去读取名为/etc/mail/access的数据库,这个数据库中存放着邮件接收、发送、转发、拒绝和忽略等信息。一般来说,在使用之前需要手工来生成这个数据库如下:
# makemap hash(dbm) /etc/mail/access
Makemap这个应用程序在Sendmail发布包中是有的。 如果执行成功就会生成一个名为access的数据库。在access文本文件中,数据的输入格式如下:
spammer@aol.com REJECT
cyberspammer.com REJECT
TLD REJECT
192.168.212 REJECT
IPv6:2002:c0a8:02c7 RELAY
IPv6:2002:c0a8:51d2::23f4 REJECT
在这个文件中一共可以有如下7个选项:
ok
relay
reject
discard
skip
###anytext
error:###any text
error D.S.N:### anytext
下面对前4项常用选项作一个简单说明。
(1) ok意味着这个地址或地址区域内的用户邮件将会被这个邮件服务器接收,但不一定会有权转发,即使在这个邮件服务器配置文件中的其他规则不允许发送或接收这些用户的信件。
(2) relay意味着接收发往指定区域或从指定区域过来的邮件,并且允许它从这个SMTP服务器转发。
(3) reject意味着拒绝某一个发送者或区域。
(4) discard意味着直接丢弃这个邮件信息

三.配置sendmail的SMTP认证功能
传统的邮件传送协定 (SMTP)不具备对使用者身份进行认证的功能。要解决这个问题,可配置搭配 cyrus sasl身分认证程序库(SENDMAIL也需要8.10以上的版本),具体实现方法如下:
一、 下载并安装cyrus sasl身分认证程序库;下载地址是
(ftp://ftp.andrew.cmu.edu/pub/cyrus-mail/
.回到工作目录,展开并进入cyrus-sasl-1.5.24.tar.gz目录:
  #tar zxvf cyrus-sasl-1.5.24.tar.gz
#cd cyrus-sasl-1.5.24
# ./configure -prefix=/usr --enable-login --with-pwcheck --with-digest
# make
# make install安装完成后,建立一个/var/pwcheck目录,pwcheck程序要用此目录。 接下来必须设置 sendmail 的使用者身分查验方式,这里使用系统帐号与密来进行验证:
# cd /usr/lib/sasl/
# cat > Sendmail.conf
pwcheck_method: shadow
关于 Cyrus SASL 认证程序库更详细的说明,请参阅 Cyrus SASL for System Administrators。 <http://www.sendmail.org/%7Eca/email/cyrus/sysadmin.html>

二、编译和配置sendmail

1.解压sendmail软件到你希望的目录,进入sendmail目录。
在devtools/Site/目录下创建config.site.m4文件,加入如下两行文字,把SMTP认证
功能编译到sendmail中。
APPENDDEF(`confENVDEF', `-DSASL')
APPENDDEF(`conf_sendmail_LIBS', `-lsasl')
2.回到sendmail目录,再进入sendmail目录,开始编译sendmail。
./Build -c(如果不是第一次编译,需要加入-c选项,清除以前的配置)
编译成功后,运行./Build install安装软件。
3.下一步需要改写Sendmail的配置文件。回到上一级目录,再进入cf/cf目录,找到合适
的.mc文件。按照你的要求适当修改,加入如下几行:

TRUST_AUTH_MECH(`LOGIN PLAIN DIGEST-MD5')
define(`confAUTH_MECHANISMS', `LOGIN PLAIN DIGEST-MD5')
FEATURE(`no_default_msa')
DAEMON_OPTIONS(`Port=25, Name=MSA, M=Ea')
说明:"TRUST_AUTH_MECH"的作用是使sendmail不管access文件中如何设置,都能
relay那些通过LOGIN,PLAIN或DIGEST-MD5方式验证的邮件。
"confAUTH_MECHANISMS"的作用是确定系统的认证方式。

4.编译生成/etc/mail/sendmail.cf文件
m4 xxxx.mc >/etc/mail/sendmail.cf,不过记住一定要备份旧的sendmail.cf文件,
否则就可能麻烦了。
5.现在基本上可以了,启动sendmail
sendmail -bd -q20m

在结束服务器端的配置之前,我们还要做一件事,运行pwcheck这个daemon程序,这样才
能完成用户认证功能。
pwcheck &

四 blacklist_recipients特性
若使用blacklist_recipients特性,则意味着有一些服务器上的用户已经不适合再接收邮件,这个选项将全面封锁指定用户或用户群。这个选项还可以对被病毒感染的用户进行有效的隔离。例如:
badlocaluser@ ERROR:550 - Mailbox disabled for this username 错误的用户名
host.mydomain.com ERROR:550 -
That host does not accept mail 此主机不接受邮件
ERROR:550 Mailbox disabled for – 信箱不可用
使用(`dnsbl')特性,我们可以在启动SENDMAIL时将RBL装载进去。一般,SENDMAIL默认为blackholes.mail-abuse.org.提供的列表为其第一黑名单。然,你也可以选择其他的黑名单列表,详情请看http://mail-abuse.org/)
拒绝信息如下:
Rejected: IP-ADDRESS listed at SERVER
where IP-ADDRESS and SERVER are replaced


做为邮件系统管理员,在没有反垃圾邮件网关硬件配置况下,合理的置好MTA,是每个管理员必须做到的事情,除此之外,还应经常对系统资源及系统日志进行检查,发现损耗大量系统资源的发信情况或经常大量发送邮件的用户后应进行特别检查,一经确认,采取应急措施保证服务器运行正常。总之,反垃圾邮件是一项非常艰巨的任务,我们希望整个互联网络联合起来,禁屏蔽垃圾邮件,争取将垃圾圾邮件带给用户的困扰做到最小。

Sendmail使用基础:
Sendmail 是一种通用的 MTA,一直是在UNIX系统中作为缺省的邮件服务器来安装的。实际上,Sendmail也同UNIX其他邮件系统一样,应用程序及配置文件是分开放置的。应用程序则放置在/usr/sbin目录下(可能会随着不同的UNIX版本而略有变化)。Send mail的配置文件叫做Sendmail.cf,通常放置在/etc/mail或/etc/目录下,而且Sendmail.cf已经不象最早的版本需要手工修改生成,完全可以借助引入特性(FEATURE)机制来自动生成我们所需功能的Sendmai.cf。而不必须关心其具体内容。为此我们需要使用匹配系统的Sendmail.mc来产生sendmail.cf文件。
具体用法为如下
进入相应的cf子目录后:
#cp cf/***.mc sendmail.mc
#vi sendmailmc
divert(-1)
# 这里有大量的注释信息,在此省略
divert(0)dnl
VERSIONID(`@(#)subsidiary-v7sun.mc
FEATURE(`remote_mode')dnl
define(`SMART_HOST', `mailhost.$m')
FEATURE(`blacklist_recipients')dnl
DOMAIN(solaris-generic)dnl
MAILER(local)dnl
MAILER(smtp)dnl
用M4宏编辑器生成Sendmail.cf文件,并将此文件放置系统所需目录(/etc/mail/)
# m4 m4/cf.m4 sendmail.mc > /etc/mail/sendmail.cf

相关文章 热门文章
  • 企业邮箱与垃圾邮件的战争
  • 漫画网管员系列:病毒及垃圾邮件伤不起
  • 今年6月垃圾邮件总数400亿件 同比大降82.22%
  • Exchange Server 2003 用白名单脚本拦截垃圾邮件
  • 利用Exchange Server 2007的Edge服务器角色抵制垃圾邮件
  • 如何选择反垃圾邮件网关
  • 企业为什么需要反垃圾邮件网关
  • 企业应如何防范邮件服务器被盗用来发送垃圾邮件
  • 2011年垃圾邮件及钓鱼攻击趋势预测
  • 美国男子通过起诉垃圾邮件制造商获利百万
  • 电信行业反垃圾邮件需求分析及实践案例
  • 中国邮箱用户满意度普遍较低,防病毒反垃圾邮件体验最差
  • Imail反垃圾邮件技术
  • Qmail反垃圾邮件技术
  • 防范垃圾邮件技术
  • 谢绝第三方邮件转发
  • Postfix反垃圾邮件技术
  • Sendmail反垃圾邮件技术
  • 追踪垃圾邮件来源
  • 邮件过滤技术
  • OPEN RELAY的解决方案
  • 美讯智SMG邮件安全网关使用FAQ
  • 三分钟打造反垃圾邮件服务器
  • 黑名单服务器
  • 自由广告区
     
    最新软件下载
  • SharePoint Server 2010 部署文档
  • Exchange 2010 RTM升级至SP1 教程
  • Exchange 2010 OWA下RBAC实现的组功能...
  • Lync Server 2010 Standard Edition 标..
  • Lync Server 2010 Enterprise Edition...
  • Forefront Endpoint Protection 2010 ...
  • Lync Server 2010 Edge 服务器部署文档
  • 《Exchange 2003专家指南》
  • Mastering Hyper-V Deployment
  • Windows Server 2008 R2 Hyper-V
  • Microsoft Lync Server 2010 Unleashed
  • Windows Server 2008 R2 Unleashed
  • 今日邮件技术文章
  • 腾讯,在创新中演绎互联网“进化论”
  • 华科人 张小龙 (中国第二代程序员 QQ...
  • 微软推出新功能 提高Hotmail密码安全性
  • 快压技巧分享:秒传邮件超大附件
  • 不容忽视的邮件营销数据分析过程中的算..
  • 国内手机邮箱的现状与未来发展——访尚..
  • 易观数据:2011Q2中国手机邮箱市场收入..
  • 穿越时空的爱恋 QQ邮箱音视频及贺卡邮件
  • Hotmail新功能:“我的朋友可能被黑了”
  • 入侵邻居网络发骚扰邮件 美国男子被重..
  • 网易邮箱莫子睿:《非你莫属》招聘多过..
  • 中国电信推广189邮箱绿色账单
  • 最新专题
  • 鸟哥的Linux私房菜之Mail服务器
  • Exchange Server 2010技术专题
  • Windows 7 技术专题
  • Sendmail 邮件系统配置
  • 组建Exchange 2003邮件系统
  • Windows Server 2008 专题
  • ORF 反垃圾邮件系统
  • Exchange Server 2007 专题
  • ISA Server 2006 教程专题
  • Windows Vista 技术专题
  • “黑莓”(BlackBerry)专题
  • Apache James 专题
  • 分类导航
    邮件新闻资讯:
    IT业界 | 邮件服务器 | 邮件趣闻 | 移动电邮
    电子邮箱 | 反垃圾邮件|邮件客户端|网络安全
    行业数据 | 邮件人物 | 网站公告 | 行业法规
    网络技术:
    邮件原理 | 网络协议 | 网络管理 | 传输介质
    线路接入 | 路由接口 | 邮件存储 | 华为3Com
    CISCO技术 | 网络与服务器硬件
    操作系统:
    Windows 9X | Linux&Uinx | Windows NT
    Windows Vista | FreeBSD | 其它操作系统
    邮件服务器:
    程序与开发 | Exchange | Qmail | Postfix
    Sendmail | MDaemon | Domino | Foxmail
    KerioMail | JavaMail | Winwebmail |James
    Merak&VisNetic | CMailServer | WinMail
    金笛邮件系统 | 其它 |
    反垃圾邮件:
    综述| 客户端反垃圾邮件|服务器端反垃圾邮件
    邮件客户端软件:
    Outlook | Foxmail | DreamMail| KooMail
    The bat | 雷鸟 | Eudora |Becky! |Pegasus
    IncrediMail |其它
    电子邮箱: 个人邮箱 | 企业邮箱 |Gmail
    移动电子邮件:服务器 | 客户端 | 技术前沿
    邮件网络安全:
    软件漏洞 | 安全知识 | 病毒公告 |防火墙
    攻防技术 | 病毒查杀| ISA | 数字签名
    邮件营销:
    Email营销 | 网络营销 | 营销技巧 |营销案例
    邮件人才:招聘 | 职场 | 培训 | 指南 | 职场
    解决方案:
    邮件系统|反垃圾邮件 |安全 |移动电邮 |招标
    产品评测:
    邮件系统 |反垃圾邮件 |邮箱 |安全 |客户端
    广告联系 | 合作联系 | 关于我们 | 联系我们 | 繁體中文
    版权所有:邮件技术资讯网©2003-2010 www.5dmail.net, All Rights Reserved
    www.5Dmail.net Web Team   粤ICP备05009143号