qmail 反垃圾邮件

本文主要阐述 Qmail 邮件系统中如何进行反垃圾邮件配置,
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_3 h1- *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 protected]
  这样所有 FROM 来自 [email protected] 的邮件都会被邮件服务器拒收。
  同样也可以对一个域进行拒收,在 badmailfrom 文件中加入
     @test.com
  这样所有来自 test.com 的任何地址的电子邮件都会被服务器拒收。

   三、 拒收垃圾邮件的发送 IP
  如果利用一些工具来发送垃圾邮件,可以使发件人的邮件地址变成随机地址,可能发到你的服务器的每一封垃圾邮件的发件人地址都不一样,这样怎么办?拒收发件人的方法,就起不到应有的做用了。
  我们可以通过查看邮件日志和网络的 SMTP 25 )端口的连接情况,找出发件数目比较高的 IP 和连接数比较高的 IP ,用防火墙来对这些 IP 进行拒收,从网络层就拒收这些垃圾邮件,同时也有相当高的效率。
  如果是 Linux 系统就可以直接的用 ipchains iptables 来拒收。
   ipchains 拒收:
ipchains �CA INPUT �Cp tcp �Cs 你要拒收的IP �Cd 你的服务器IP 25 �Cj DENY
   iptables 拒收
     iptables �CA INPUT �Cp tcp �Cs 你要拒收的IP �Cd 你的服务器IP --dport 25 �Cj \ 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
并且有邮件头的的检查。

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

你可能感兴趣的:(邮件,职场,休闲,垃圾,qmail)