Linux服务器SMTP端口被盗用发送垃圾邮件,又GMAIL/Yahoo等列入垃圾邮件列表之后的对策

 

原文地址:http://blog.csdn.net/thefirstwind/archive/2007/10/31/1858983.aspx

作者:邢晓宁
时间:2007年10月31日
声明:版权没有,任你转载

标题:

Linux服务器SMTP端口被盗用发送垃圾邮件,又GMAIL/Yahoo等列入垃圾邮件列表之后的对策

 


1.问题描述:
公司邮件服务器被挂成肉鸡,无限制的向外发送垃圾邮件, 又gmail、yahoo列入了垃圾邮件黑名单,向gmail、yahoo发送邮件立即被退回。

2.对策:
根据google推荐的策略,首先是添加邮件服务器的smtp auth送信认证,再有就是添加DNS端的电子签名(DomainKeys)。
smtp-auth的相关文章很多,就不介绍了,这里介绍DomainKeys的配置。

3.适应环境:
操作系统 CentOS Redhat Fedoa
邮件服务器 Qmail 
DNS服务器 Bind
邮件服务器插件 DomainKeys

4.主要参考
http://jeremy.kister.net/howto/dk.html
http://domainkeys.sourceforge.net/
http://machtype.com/~flesh_gogo/linux-other-bind-qmail-spf.html

[安装手册]

邮件服务器端

安装DomainKeys

 
# cd /usr/local/src/
# wget
http://cr.yp.to/software/qmail-1.03.tar.gz
# wget http://superb-east.dl.sourceforge.net/sourceforge/domainkeys/libdomainkeys-0.68.tar.gz
# wget http://www.qmail.org/qmail-1.03-dk-0.54.patch
# wget http://jeremy.kister.net/code/qmail-dk-0.54-auth.patch
# 可选,对应smtp-auth
# tar -zxvf libdomainkeys-0.68.tar.gz
# cd libdomainkeys-0.68
# make
# 如果出现错误 参考下面红色文字
# make
./libdomainkeys.a(dns_txt.o): In function `dns_text':
dns_txt.c:(.text+0x55): undefined reference to `__res_query'
dns_txt.c:(.text+0xd3): undefined reference to `__dn_expand'
dns_txt.c:(.text+0x18b): undefined reference to `__dn_expand'
collect2: ld はステータス 1 で終了しました
make: *** [dktest] エラー 1
# make clean
# echo -lresolv > dns.lib
# make


# tar -zxvf /usr/local/src/qmail-1.03.tar.gz
# echo 'gcc -O2 -include /usr/include/errno.h' > qmail-1.03/conf-cc
# patch -d qmail-1.03/ < ../qmail-1.03-dk-0.54.patch
# patch -d qmail-1.03/ < ../qmail-dk-0.54-auth.patch   # 可选,对应 smtp-auth
# cd qmail-1.03
# make qmail-dk
# cp qmail-dk /var/qmail/bin/
# cp qmail-dk.8 /var/qmail/man/man8/
# chown qmailq /var/qmail/bin/qmail-dk
# chmod 4711 /var/qmail/bin/qmail-dk



生成电子密钥


#mkdir -p /etc/domainkeys/`hostname -d`/
#cd /etc/domainkeys/`hostname -d`/    
在DNS端用“邮件服务器域名” 代替上面的 `hostname -d`
#/usr/local/ssl/bin/openssl genrsa -out rsa.private 768
#/usr/local/ssl/bin/openssl rsa -in rsa.private -out rsa.public -pubout -outform PEM
#mv rsa.private default
#chown -R qmailq /etc/domainkeys
#chmod 0600 default



生成公钥


#grep -v ^- rsa.public | perl -e 'while(<>){chop;$l.=$_;}print "t=y; p=$l;/n";'
t=y; p=MHwwD7XKKIUeTXPTzPrXQIDAQABJhALrzMz86s1SVjDKmD5Rj/Nakwk41i7bD
mGHjRIccPf1Po7Ng57XKKIUeTXPTzPr7XKKIUeTXPTzPrXQIDAQABn+ulatFGT99qDW
7roK3nb48Uwen3sKmiLHTsIYH7i3t4MFn7XKKIUeTXPTzPrXQIDAQAB;





DNS服务器端

最后添加
_domainkey.example.com. IN TXT "t=y; o=-";
default._domainkey.example.com. IN TXT "DomainKey_from_step_5"


# vi /var/named/chroot/var/named/邮件服务器域名

$TTL 3D
@               IN      SOA     DNS服务器.       postmaster.邮件服务器域名. (
                                200106074
                                1M
                                15M
                                4W
                                1D)


                        NS      DNS服务器.
                        MX      10 邮件服务器.

ns              IN      A       邮件服务器IP
www             IN      A       邮件服务器IP
mail            IN      A       邮件服务器IP
asset           IN      A       邮件服务器IP

以下为添加部分
_domainkey.邮件服务器域名. IN TXT "t=y; o=-";
default._domainkey.邮件服务器域名. IN TXT "生成的公钥"




邮件服务器端

修改qmailqueue文件


# ln /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.orig
# ln /var/qmail/bin/qmail-dk /var/qmail/bin/qmail-queue.new
# mv /var/qmail/bin/qmail-queue.new /var/qmail/bin/qmail-queue


修改tcp.smtp文件,返信策略


# vi /etc/tcp.smtp
10.0.0.2:allow,RELAYCLIENT="",DKSIGN="/etc/domainkeys/邮件服务器域名/default",QMAILQUEUE="bin/qmail-dk"
:allow,DKVERIFY="DEGIJKfh",QMAILQUEUE="bin/qmail-dk"
127.:allow,RELAYCLIENT=""

从新创建cdb文件

tcprules /etc/tcp.smtp.cdb /etc/tcp.smtp.tmp < /etc/tcp.smtp

最后把环境变两添加到/etc/profile文件中

# echo "QMAILQUEUE=/var/qmail/bin/qmail-dk" >> /etc/profile
# echo "DKSIGN=/etc/domainkeys/`hostname -d`/default" >> /etc/profile
# echo "export QMAILQUEUE DKSIGN " >> /etc/profile

# source /etc/profile


别忘记从新启动qmail和dns服务哦。
展开阅读全文
©️2020 CSDN 皮肤主题: 大白 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值