本文主要阐述Qmail邮件系统中如何进行反垃圾邮件配置, <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
m&网理$业~2无&6d管{!a
它包括两个方面:一个是不发送垃圾邮件;另外一个是不接收垃圾邮件。
  一、 确认你的qmail服务器不是OPEN-RELAY状态
  这一点非常的关键。如果你的qmail服务器现在是OPEN-RELAY状态的话,就是允许所有的人利用你的邮件服务器对外发送垃圾邮件,这样,你的服务器就成了一个制造垃圾邮件的源头了。∶—(
  如何来解决这个问题?
  通过使用ESMTP协议的SMTP认证功能(SMTP AUTH)来控制发信者,只有通了认证的用户才可以通过服务器发送电子邮件。
  Qmail本身是没有SMTP认证功能的,但是可以使用pacth包对Qmail打补丁增加发信认证功能,重新编译生成qmail-smtpd程序,管理的!9T#垠\y管就有了发信认证的功能了。可以从这里下载qmail-smtpd的auth补丁包。
   [url]http://members.elysium.pl/brush/qmail-smtp-auth/dist/qmail-smtpd-auth-0.31.tar.gz[/url]
  安装方法是:
1.  解开tar.gz的包
tar zxvf qmail-smtpd-auth-0.31.tar.gz
2.  进入解开的qmail-smtpd-auth-0.31目录
cd qmail-smtpd-auth-0.31
3.  将当前目录下的base64.h和base64.c文件拷贝到qmail的源码目录中
cp base64.* ../qmail-1.03
4.  返回上一级目录并应用auth补丁中的path
cd ..
patch -d qmail-1.03 < qmail-smtpd-auth-0.31/auth.patch
5.  重新编译生成qmail-smtpd
make qmail-smtpd
6.  将新生成的qmail-smtpd文件拷贝到/var/qmail/bin下,
d*Im软育9软B}RIgj中6
aW01$?g0@}%V%4_3h1-垠*k管业oZ替换掉原有的qmail-smtpd程序,替换之前最好对前的程序做一个备份。
cp qmail-smtpd /var/qmail/bin
  这样你的qmail就有SMTP发信认证功能了。但是这样是不是就可以算是关闭OPEN-RELAY了?
  不,
)教*z`p*lH~
还是要确认一下,你的/etc/tcp.smtp文件中的内容为
    127.0.0.1:allow,RELAYCLIENT=""
并且成功生成了tcp.smtp.cdb文件,生成方法如下:
    /usr/local/bin/tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp
  同时确认你的服务器启动脚本为
    /usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x \
/home/vpopmail/etc/tcp.smtp.cdb -u qmaild -g nofiles 0 smtp \
/var/qmail/bin/qmail-smtpd hostname /home/vpopmail/bin/vchkpw \
/bin/true 2>&1 | /var/qmail/bin/splogger smtpd 3 &
  这样,你的qmail服务器就完全关闭了OPEN-RELAY。
  二、 拒收垃圾邮件的发件人
  如果邮件系统管理员在对日志进行统计分析,可以发现一些比较集中的收发件人的邮件地址,对于比较集中的发件人,我们可以根据他所发送到的邮件地址来判断,是否是垃圾邮件。如果收件人地址大量是不存在的地址,可以肯定,这是以用户名猜测方式来发送垃圾邮件的手段(这也是比较常见的垃圾邮件发送方式),需要对此发信地址进行拒收。或者是对同一个帐号发送大量的邮件,也需要对此发信地址进行拒收。
  拒收的方法:
  编辑/var/qmail/control/badmailfrom文件(如果没有可以新建一个)将要拒收的邮件地址写入,
3_Le理#8]IgSg供业]yw
每条记录为一行如:
    [email]123@123.com[/email]
  这样所有FROM来自[email]123@123.com[/email]的邮件都会被邮件服务器拒收。
  同样也可以对一个域进行拒收,在badmailfrom文件中加入
    @test.com
  这样所有来自test.com的任何地址的电子邮件都会被服务器拒收。

  三、 拒收垃圾邮件的发送IP
  如果利用一些工具来发送垃圾邮件,可以使发件人的邮件地址变成随机地址,可能发到你的服务器的每一封垃圾邮件的发件人地址都不一样,这样怎么办?拒收发件人的方法,就起不到应有的做用了。
  我们可以通过查看邮件日志和网络的SMTP(25)端口的连接情况,找出发件数目比较高的IP和连接数比较高的IP,用防火墙来对这些IP进行拒收,从网络层就拒收这些垃圾邮件,同时也有相当高的效率。
  如果是Linux系统就可以直接的用ipchains或iptables来拒收。
  ipchains拒收:
ipchains –A INPUT –p tcp –s 你要拒收的IP –d 你的服务器IP 25 –j DENY
  iptables 拒收
    iptables –A INPUT –p tcp –s 你要拒收的IP –d 你的服务器IP --dport 25 –j \ DROP
  有关Linux防火墙的更多使用参考请访问[url]http://www.netfilter.org[/url]。
  四、 正确的设置.qmail-default
  .qmail-default文件在/var/qmail/alias目录下,相关的.qmail-文件是为了实现qmail的转发功能的,而.qmail-default是qmail-local进程找不到合适的转发规则时而要匹配的最后一个文件,如果是默认的设置,qmail会认为所有的Mailbox都是合法存在的。可以设置它的内容为
    /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox
  这样不存在的邮箱都会bounce掉并且返回no-mailbox信息。
  五、 使用第三方RBL
  RBL(Realtime Blackhole List)是实时黑洞列表,是国际上比较流行的反垃圾邮件技术,可以采用RBL来使邮件服务器拒收在列表中已知的垃圾邮件发送服务器所发送的垃圾邮件。
  你需要下载一下补丁程序来增加这个功能。
  下载地址:[url]http://cr.yp.to/software/rblsmtpd-0.70.tar.gz[/url]
  Qmail的rblsmtpd必须要和ucspi-tcp结合在一起使用。
  rblsmtpd的安装方法很简单。在解开的源码目录中
    make
    make setup check
  注:在新版的ucspi-tcp 0.88里,
c的k$育管!n?:vw'
已经包含了rblsmtpd,直接安装ucspi-tcp 0.88就可以了。
  安装完后修改你的SMTP启动脚本,加上/usr/local/bin/rblsmtpd。
    /usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x \
/home/vpopmail/etc/tcp.smtp.cdb -u qmaild -g nofiles 0 \
smtp /usr/local/bin/rblsmtpd \
/var/qmail/bin/qmail-smtpd hostname \
/home/vpopmail/bin/vchkpw /bin/true 2>&1 | \
/var/qmail/bin/splogger smtpd 3 &
  如果你想使用第三方的RBL列表,只要加上-r选项就可以了,比如:
    -r blackholes.mail-abuse.org
  第三方的RBL服务器请参阅本站的【反垃圾邮件技术参考>>反垃圾邮件资源>>黑名单服务器】,
}},5d^+q件!v.
_hz~[64管Hi本站也即将推出自己的黑名单服务器。
  六、 使用Anti-Spam软件
  使用Anti-Spam软件来过滤,现在这项技术被越来越多的人认为是行之有效的。 有很多的Anti-Spam软件,其中一些Anti-Spam是结合Procmail来使用的(Procmail是一个非常优秀的MDA软件,
~o络x^o&(6dF,无教络r件
Procmail使用请参考 [url]http://www.procmail.org[/url])。
  Spamassassin
    [url]http://www.spamassassin.org[/url]
    相当不错的Anti-Spam软件,
软8uW['软教T业c#DbOm^软w
可以用在多个UNIX平台的MTA上。
  spambouncer
    [url]http://www.spambouncer.org[/url]
  Kaspersky Anti-Spam
    [url]http://www.Kaspersky.com[/url]
    可以用在多种邮件MTA上,
Tg网ty8fn育V~'w
并且有邮件头的的检查。

  七、 总结

  垃圾邮件肯定是不能够完全制止的,但是我们采取上面的措施,肯定会制止住相当部分的垃圾邮件。这对于我们的邮件服务器的负载降低、带宽占有减少和工作效率提高都是很有意义的。

转载于:https://blog.51cto.com/liguxk/122597

qmail 反垃圾邮件相关推荐

  1. exchange 2003配置ASSP 反垃圾邮件

    Exchange上第三方反垃圾邮件用得比较多的是ORF,它直接运行在虚拟SMTP服务上,配置非常的方便.ASSP(https://sourceforge.net/projects/assp/) 是一个 ...

  2. 魔与道的反复较量 反垃圾邮件技术

    反垃圾邮件武器库 不同的反垃圾邮件产品采用的技术有所不同,但总体来说,不外乎以下几种技术,其中,针对垃圾邮件的核心技术有贝叶斯智能分析.垃圾邮件评分.垃圾邮件指纹识别. 转载于:https://blo ...

  3. 贝叶斯反垃圾邮件技术

    一. 贝叶斯反垃圾邮件技术介绍 贝叶斯是基于概率的一种算法,是Thomas Bayes:一位伟大的数学大师所创建的,目前此种算法用于过滤垃圾邮件得到了广泛地好评.贝叶斯过滤器是基于"自我学习 ...

  4. 反垃圾邮件,需要全面了解各种方案

    自2000年后,互联网技术飞速发展,邮件技术已经逐步成为了现代社会最重要的沟通工具之一.然而,予生俱来的是垃圾邮件对邮件用户的侵扰:到2006年末,这种侵扰已经成为公认的最大的互联网应用威胁之一. 有 ...

  5. 使用Exchange反垃圾邮件组件解决内部仿冒邮件

    最近一个朋友遇到一个很有意思的问题,在生产环境中我们装好Exchange之后,肯定需要配置外部邮件的收发.按照我们对邮件系统的理解,我们必须在default 接收连接器上的权限设置,允许匿名连接,才能 ...

  6. TURBOMAIL反垃圾邮件清洁工,还你一个清爽的邮箱

    "清明时节雨纷纷,路上行人欲断魂",又到了一年一季的梅雨季节,看到阴沉沉的天气.湿漉漉的地面.发霉的墙壁等等,总让人心情郁闷.昏昏欲睡.员工们每天呼吸着灰蒙蒙的空气上班,再看到垃圾 ...

  7. U-Mail邮件服务器教你反垃圾邮件新方法

    垃圾邮件猖獗防不胜防,这是一个棘手的世界性难题,关于反垃圾邮件的方法,我们此前已反复告诉用户U-Mail邮件系统使用了很多功能,诸如启发式.贝叶斯分类.灰名单.黑白名单等.应该说,这些方法效果都不错, ...

  8. 几个反垃圾邮件的词汇(XBL,SBL,PBL,ROKSO)

    国外最著名的反垃圾邮件组织www.spamhaus.org提供包括以下的几种: XBL(Exploits Block List):它是针对因为安全问题被劫持(比如僵尸机)或是蠕虫/病毒,带有内置式垃圾 ...

  9. Java、JSP反垃圾邮件管理系统

    技术:Java.JSP等 摘要: 随着Internet的普及,电子邮件作为一个主流的应用也日益得到了更多的使用.但是随之而来的垃圾邮件也越来越猖獗.经统计,从2001年开始,垃圾邮件增长的速度非常快, ...

最新文章

  1. OOD知识---对OOA\OOD\OOP思想
  2. 用数学方法构造神经网路的迭代次数1-9
  3. 原生JS forEach()和map()遍历的区别以及兼容写法
  4. postgres 把一个表的值转成另一个表的字段名_Phoenix系列创建Phoenix映射表
  5. c语言程序设计实训教材,C语言程序设计实训指导书
  6. 海量数据库的查询优化及分页算法方案(一)
  7. pgAdminIII使用图解
  8. 明日之后哪个服务器人最多_明日之后,末日寻宝活动上线,远星城宝箱位置攻略...
  9. 事务Transaction
  10. 从零开始制作小车TB6612控制电机
  11. Vue框架——基本知识点+示例(1)
  12. 修复win7更新服务器失败,Win7旗舰版系统Windows Update更新提示遇到未知错误的解决方法...
  13. 【SpringBoot项目No qualifying bean of type ‘×××Mapper‘ available:的错误解决】
  14. 【python】用ChatGPT使用爬虫
  15. 经纬度转换XY坐标,并计算距离
  16. 信而泰BigTao6000网络测试仪使用说明
  17. Python 还原: 网红放置类游戏Cookie Clicker
  18. git commit 代码提交规范
  19. 迷宫问题(搜索+回溯)
  20. 洛谷or牛客数据结构+算法

热门文章

  1. arm-linux-ld segment fault,segment fault 定位 与 远程 gdb
  2. ubuntu怎么切换到root用户,切换到root账号方法
  3. \pset 、\x命令
  4. Windows下,MySQL root用户忘记密码解决方案
  5. 两年的坚持,最后还是决定将ISoft开源
  6. django通过ajax请求接口返回多条数据,并动态生成表格,请求表单后将表格数据并入库
  7. springclould项目启动报错Could not resolve placeholder
  8. MySQL数据库安装Version5.5
  9. logback配置文件详解
  10. linux百度云备份文件夹,Linux环境下载百度网盘文件