Qmail被黑经历

12/3/2006来源:Qmail人气:10123

这次是被人偷了一个email账号,利用这个帐号乱发垃圾邮件,导致queue很快被塞满

一.现象:
信件发送后,要等一天才能收到,或者根本收不到
后来发现qmail的queue邮件队列巨长,主要是mess,info,remote三个目录
# du -d1 /usr/local/qmail/queue/
2 /usr/local/qmail/queue/pid
2 /usr/local/qmail/queue/intd
2 /usr/local/qmail/queue/todo
2 /usr/local/qmail/queue/bounce
219660 /usr/local/qmail/queue/mess
217660 /usr/local/qmail/queue/info
64 /usr/local/qmail/queue/local
217500 /usr/local/qmail/queue/remote
4 /usr/local/qmail/queue/lock
65560 /usr/local/qmail/queue/

二.找出入侵者:
1.先看日志,注意带有"new msg","info msg"的信息行:
#more /var/log/maillog
...
APR 3 11:49:03 www qmail: 1049341743.532642 new msg 297872------记住这个队列号,查找这个队列号的邮件
Apr 3 11:49:03 www qmail: 1049341743.533064 info msg 297872: bytes 893 from <
STEFANI_102150_XP@TRipOD.COM>qp 16985 uid 1038
Apr 3 11:49:03 www qmail: 1049341743.706272 new msg 298223
Apr 3 11:49:03 www qmail: 1049341743.706691 info msg 298223: bytes 881 from <
THURMAN_102150_XP@YAHOO.COM>qp 16986 uid 1038
...
2.然后看看那家伙是从哪里登录的:
#find /usr/local/qmail/queue/ -name 297872
/usr/local/qmail/queue/mess/22/297872
/usr/local/qmail/queue/info/22/297872
/usr/local/qmail/queue/remote/22/297872
#more /usr/local/qmail/queue/mess/22/297872
Received: from unknown (HELO smtp0251.mail.yahoo.com) (210.21.6.44)------这就是入侵者的ip地址
From: "jenypher "<
LENNY_102150_XP@YAHOO.COM>
X-Priority: 3
To:
sesto@altaVista.net
Subject: Enlarge your PENIS and improve your SEX Life!
Mime-Version: 1.0
Content-Type: text/html; charset=us-ascii
Content-Transfer-Encoding: base64

三.找出被入侵的账号:
通过lastauth文件,查找在210.21.6.44上登录的用户
因为有很多用户,所以我写了个脚本来找被黑的用户
#!/bin/sh
#set -x

echo "" > maillastauth.txt
ls -d1 /home/vpopmail/domains/bsd.com/*/ > mailusers.txt-----------输出所有用户的email路径

for MAILUSERS in `cat mailusers.txt`
do
more ${MAILUSERS}lastauth >> maillastauth.txt--------------------输出所有用户的lastauth文件
echo $MAILUSERS >> maillastauth.txt------------------------------以及对应的用户
done

more maillastauth.txt | grep 210.21.6.44----------------------------输出在210.21.6.44上登录的用户

四.找到那个被黑的账号了,赶快修改密码,重新启动服务器(多此一举,呵呵~,只是自己感觉心里踏实一点)
因为那家伙乱发邮件,所以postmaster收到很多
MAILER-DAEMON@bsd.com的文件,删除这些垃圾
/home/vpopmail/domains/bsd.com/postmaster/Maildir/cur/*
/home/vpopmail/domains/bsd.com/postmaster/Maildir/new/*
如果你的postmaster用户有其他的重要文件,可不要这么做
还要看看你的queue邮件队列是不是在减少,如果还在继续增加,那完蛋了,估计系统账号都被黑了

五.昨天还干了点愚蠢的事情,因为看到queue里的文件很多,所以直接删除了queue队列里的文件,事实上这些文件是不能删除的
否则就会出现类似"unable to stat mess/22/176892"这样的错误
#more /var/log/maillog
...
Apr 1 18:07:41 www qmail: 1049191661.303612 warning: unable to stat mess/22/176892
Apr 1 18:07:41 www qmail: 1049191661.303972 warning: unable to stat mess/16/346258
Apr 1 18:07:41 www qmail: 1049191661.304059 warning: unable to stat mess/9/33773
Apr 1 18:07:41 www qmail: 1049191661.304139 warning: unable to stat mess/2/190258
...
如果不小心,删除了queue队列里的文件,可以从qmail.org上下载qmail-fix来修复这个错误

=================================================


、看队列中的邮件可以用
#mailq


2、如果你要删除队列中的邮件,你可以看下面的提示,由于我这里没有环境,没法帮你确认可行性???

处理队列中的邮件:

A)如想在队列中的邮件马上传递,可以

#kill –HUP qmail-send


B)如果要删除队列中的邮件

1) 停止QMAIL
2) find /var/qmail/queue/$i -type f -exec rm {} ;
3) 重启QMAIL.
队列中的邮件包含在以下目录中 /var/qmail/queue/{info,mess,remote,local}/hash/#number

,