判斷Linux系統(tǒng)是否被黑的方法
一不留神而被黑確實讓人感到為難,更嚴重的是某些腳本小鬼還會下載一些眾所周知的“root kits”或者流行的刺探工具,這些都占用了你的CPU,存儲器,數(shù)據(jù)和帶寬。這些壞人是從那里開始著手的呢?這就要從root kit開始說起。
一個root kit其實就是一個軟件包,黑客利用它來提供給自己對你的機器具有root級別的訪問權限。一旦這個黑客能夠以root的身份訪問你的機器,一切都完了。 唯一可以做就是用最快的效率備份你的數(shù)據(jù),清理硬盤,然后重新安裝操作系統(tǒng)。無論如何,一旦你的機器被某人接管了要想恢復并不是一件輕而易舉的事情。
你能信任你的ps命令嗎?
找出root kit的首個竅門是運行ps命令。有可能對你來說一切都看來很正常。圖示是一個ps命令輸出的例子。真正的問題是,“真的一切都正常嗎?”黑客常用的一個 詭計就是把ps命令替換掉,而這個替換上的ps將不會顯示那些正在你的機器上運行的非法程序。為了測試個,應該檢查你的ps文件的大小,它通常位于 /bin/ps。在我們的Linux機器里它大概有60kB。我最近遇到一個被root kit替換的ps程序,這個東西只有大約12kB的大小。
另一個明顯的騙局是把root的命令歷史記錄文件鏈接到/dev/null。這個命令歷史記錄文件是用來跟蹤和記錄一個用戶在登錄上一臺Linux機器后所用過的命令的。黑客們把你的歷史紀錄文件重定向到/dev/null的目的在于使你不能看到他們曾經(jīng)輸入過的命令。
你可以通過在shell提示符下敲入history來訪問你的歷史記錄文件。假如你發(fā)現(xiàn)自己 正在使用history命令,而它并沒有出現(xiàn)在之前使用過的命令列表里,你要看一看你的~/.bash_history 文件。假如這個文件是空的,就執(zhí)行一個ls -l ~/.bash_history命令。在你執(zhí)行了上述的命令后你將看到類似以下的輸出:
-rw------- 1 jd jd 13829 Oct 10 17:06 /home/jd/.bash_history
又或者,你可能會看到類似以下的輸出:
lrwxrwxrwx 1 jd jd 9 Oct 10 19:40 /home/jd/.bash_history -> /dev/null
假如你看到的是第二種,就表明這個 .bash_history 文件已經(jīng)被重定向到/dev/null。這是一個致命的信息,現(xiàn)在就立即把你的機器從Internet上斷掉,盡可能備份你的數(shù)據(jù),并且開始重新安裝系統(tǒng)。
尋找未知的用戶賬號
在你打算對你的Linux機器做一次檢測的時候,首先檢查是否有未知的用戶賬號無疑是明智的。在下一次你登錄到你的Linux機器時,敲入以下的命令:
grep :x:0: /etc/passwd
只有一行,我再強調(diào)一遍,在一個標準的Linux安裝里,grep命令應該只返回一行,類似以下:
root:x:0:0:root:/root:/bin/bash
假如在敲入之前的grep命令后你的系統(tǒng)返回的結果不止一行,那可能就有問題了。應該只有一個用戶的UID為0,而如果grep命令的返回結果超過一行,那就表示不止一個用戶。
認真來說,雖然對于發(fā)現(xiàn)黑客行為,以上都是一些很好的基本方法。但這些技巧本身并不能構成足夠的安全性,而且其深度和廣度和在文章頭提到的入侵檢測系統(tǒng)比起來也差得遠。
我的建議是,假如你懷疑你的系統(tǒng)真的出了問題,打電話給一個Linux的安全專家,參考他的意見。畢竟Linux的安全不是一下子就可以弄好的。
評論