Qmail反垃圾邮件技术----完全关闭OPEN-RELAY

Open Relay 测试链接:http://www.antispam-ufrj.pads.ufrj.br/test-relay.html

什么是mail relay及为何要防止被滥用?   设置好一个qmail服务器以后,该服务器将具有一个或若干个域名(这些域名应该出现在local或viritualdomains文件内),这时qmail-smtpd将监听25号端口,等待远程的发送邮件的请求。网络上其他的mail服务器或者请求发送邮件的MUA(Mail User Agent,如outlook express、foxmail等等)会连接qmail服务器的25号端口,请求发送邮件,SMTP会话过程一般是从远程标识自己的身份开始,过程如下:    HELO remote.system.domainname    250 qmailserver.domain    MAIL FROM:[email protected]    250 OK    RCPT TO: [email protected]   邮件的接收者[email protected]中的域名并不一定是本地域名,这时候本地系统可能有两种回答,接受它:    250 OK   或者拒绝接受它:    553 sorry,.that domain is not in my domain list of allowed recphosts   第一种情况下,本地qmail服务器是允许relay的,它接收并同意传递一个目的地址不是本地的邮件;而第二种情况则不接收非本地邮件。   qmail有一个名为rcpthosts(该文件名源于RCPT TO命令)的配置文件,其决定了是否接受一个邮件。只有当一个RCPT TO命令中的接收者地址的域名存在于rcpthosts文件中时,才接受该邮件,否则就拒绝该邮件。若该文件不存在,则所有的邮件将被接受。当一个邮件服务器不管邮件接收者和邮件接收者是谁,而是对所有邮件进行转发(relay),则该邮件服务器就被称为开放转发(open relay)的。当qmail服务器没有rcpthosts时,其是开放转发的。   如果系统管理员将自己的邮件服务器设置为open relay,将会导致一些垃圾邮件发送者将你的邮件服务器作为转发自圾邮件的中继站,这将使垃圾邮件的接收者将矛头对准你,可能会导致报复性的邮件;垃圾邮件还能消耗你大量的资源,占用你的带宽。更为糟糕的事情可能是你的名字可能会上了黑名单,成为其他邮件接收者共同抵制的目标,你的邮件将被这些接收者所拒绝。

如果open relay没有关闭,则我们来关闭它:

下载smtp验证补丁:qmail-smtp:http://members.elysium.pl/brush/qmail-smtpd-auth/

安装是:

  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下,替换掉原有的qmail-smtpd程序,替换之前最好对前的程序做一个备份。 cp qmail-smtpd /var/qmail/bin
  7. 编辑/etc/tcp.smtp

/usr/local/bin/tcpserver -H -R -l 0 -t 1 -v -p -x /etc/tcp.smtp.cdb    -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd    /home/vpopmail/bin/vchkpw /bin/true /bin/cmd5checkpw /bin/true 2>&1

重新启动qmail    /etc/rc.d/init.d/qmailstart stop    /etc/rc.d/init.d/qmailstart start

这样OPEN RELAY就被关闭掉

你可能感兴趣的:(应用服务器,.net,网络应用,配置管理)