我的這次Qmail被黑經歷
前兩天Exchang伺服器被黑了一次,這兩天Qmail又被黑了
真是奇怪,知道我水平不行,故意黑我,不過終於還是讓我搞定了
非常感謝gadfly和各位兄弟的幫助,kiss~kiss~kiss~kiss~kiss~kiss~
我說說被黑的經過,如果哪位兄弟不小心也被黑了,希望有點幫助
#-----------------------------------------------------------------
這次是被人偷了一個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來修復這個錯誤
《解決方案》
我的這次Qmail被黑經歷
如果用mysql的話,資料庫裡面有個lastauth的表.
不知道記不紀錄smtp的auth
《解決方案》
我的這次Qmail被黑經歷
我不同意樓主的看法。。。
1、你這個不是入侵,只是有人借用你的帳號在向外發郵件罷了;
2、你的哪些所謂的入侵地址是假的,不是真實的,要是你對郵件系統有所了解,哪個地址是可以偽造的。你這次的還好,可能IP地址有相對固定性,我上次統計過,幾乎過一會就變一下IP,要是你細心查,很多IP與地址都是不對的。。。
3、至於解決方法上次說過了,就是把數據導出來,變成沒用戶的帳號系統,就能找到答案了。
4、最後出錯信息只是在隊列中沒有刪除相關的信息,當你重啟后,MTA又向外發郵件,可是一大部門信息讓你刪除了,當然出錯了,要是你刪除隊列中的信息,就不會有出錯了。
總之,你的系統不是讓人入侵了,只是有人破解你的某個郵箱的密碼,再用一個高明的工具在向外不信發信罷了。
以上個人觀點。請觀摩!!!
《解決方案》
我的這次Qmail被黑經歷
同意樓主的說法。
很簡單,如果你知道別人的用戶名和密碼,利用這個去幹壞事?還不叫黑。
他的這種情況和你說的不一樣。auth smtp方式,除了本系統用戶,是沒辦法relay垃圾郵件的。即使被黑,也是通過本系統用戶乾的事,從管理上很容易杜絕。
總之smtp auth后,能杜絕絕大部分的垃圾郵件情況。
《解決方案》
我的這次Qmail被黑經歷
前2個,我同意,確實只是被人利用了一下email賬號,我算比較幸運的
第3個,我不知道怎麼用,呵呵,我再仔細看看
第4個嘛,我還專門為這個做了個刪除的腳本,刪除queue及子目錄里所有的文件,好像還是不管用,也許是我看錯了
我對郵件系統確實不了解 :oops: :oops: :oops:
《解決方案》
我的這次Qmail被黑經歷
1.你就用我說的那種查找信件的方式,將幾個文件同時刪除就可以了.
2.或者刪除其中一個,用queue-fix刪除其它的
《解決方案》
我的這次Qmail被黑經歷
原帖由 "gadfly" 發表:
1.你就用我說的那種查找信件的方式,將幾個文件同時刪除就可以了.
2.或者刪除其中一個,用queue-fix刪除其它的
i see,i see
good idea啊~
《解決方案》
我的這次Qmail被黑經歷
1、看隊列中的郵件可以用
#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
------------------------------------------------
要是能行,回個帖子!!!多交流!!相信大眾的力量是能解決問題的!!!!
《解決方案》
我的這次Qmail被黑經歷
我把queue及其子目錄里的文件全刪除了,這樣可以嗎?
《解決方案》
我的這次Qmail被黑經歷
暈,兄弟,不要誤導別人,
1.mailq是系統自帶的,與sendmail搭配用的,如果sendmail沒有被替換成qmail對應的,是不起作用的.qmail-qread可以做這種事情
2.你那樣刪除會有問題,lock目錄中有普通文件,是不能隨便刪除的,
而且,如果有用的信件在目錄中,也會被刪除掉。做好的辦法還是根據一些
特徵判斷這封信件是否是垃圾,然後再刪除。特徵很多,例如:垃圾的from或者
to還是有固定串的。或者ip
3.你說的看日誌的方式並不能看出用哪個用戶發的,因為auth的用戶並不紀錄在日誌中。比較之下,FUN-FreeBSD的看lastlog的方法是很有效的。