平時會有一些朋友遇見伺服器被黑的問題,經過搜集和整理相關的相關的材料,在這裡本人給大家找到了linux伺服器被黑的解決方案,希望大家看後會有不少收穫。如果你安裝了所有正確的補丁,擁有經過測試的防火牆,並且在多個層級都啟用了先進的入侵偵測系統,那麼只有在一種情況下你才會被黑,那就是,你太懶了以至沒去做該做的事情,例如,安裝BIND的最新補丁。
一不留神而被黑確實讓人感到為難,更嚴重的是某些指令碼小鬼還會下載一些眾所周知的”root kits”或者流行的刺探工具,這些都佔用了你的CPU,儲存空間,資料和頻寬。這些壞人是從那裡開始著手的呢?這就要從root kit開始說起。
一個root kit其實就是一個軟體包,駭客利用它來提供給自己對你的機器具有root層級的存取權限。一旦這個駭客能夠以root的身份訪問你的機器,一切都完了。唯一可以做就是用最快的效率備份你的資料,清理硬碟,然後重新安裝作業系統。無論如何,一旦你的機器被某人接管了要想恢複並不是一件輕而易舉事情。
你能信任你的ps命令嗎?
找出root kit的首個竅門是運行ps命令。有可能對你來說一切都看來很正常。圖示是一個ps命令輸出的例子。真正的問題是,”真的一切都正常嗎?”駭客常用的一個詭計就是把ps命令替換掉,而這個替換上的ps將不會顯示那些正在你的機器上啟動並執行非法程式。為了測試個,應該檢查你的ps檔案的大小,它通常位於 /bin/ps.在我們的linux機器裡它大概有60kB.我最近遇到一個被root kit替換的ps程式,這個東西只有大約12kB的大小。
另一個明顯的騙局是把root的命令記錄檔案連結到/dev/null.這個命令記錄檔案是用來跟蹤和記錄一個使用者在登入上一台linux機器後所用過的命令的。駭客們把你的曆史紀錄檔案重新導向到/dev/null的目的在於使你不能看到他們曾經輸入過的命令。
你可以通過在 shell提示符下敲入history來訪問你的記錄檔案。假如你發現自己正在使用history命令,而它並沒有出現在之前使用過的命令列表裡,你要看一看你的~/.bash_history 檔案。假如這個檔案是空的,就執行一個ls -l ~/.bash_history命令。在你執行了上述的命令後你將看到類似以下的輸出:
-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 檔案已經被重新導向到/dev/null.這是一個致命的資訊,現在就立即把你的機器從Internet上斷掉,儘可能備份你的資料,並且開始重新安裝系統。
解決linux伺服器被黑,需要尋找未知的使用者帳號:
在你打算對你的linux機器做一次檢測的時候,首先檢查是否有未知的使用者帳號無疑是明智的。在下一次你登入到你的linux伺服器時,敲入以下的命令:
grep :0: /etc/passwd
只有一行,我再強調一遍,在一個標準的linux安裝裡,grep命令應該只返回一行,類似以下:
root:x:0:0:root:/root:/bin/bash
假如在敲入之前的grep命令後你的系統返回的結果不止一行,那可能就有問題了。應該只有一個使用者的UID為0,而如果grep命令的返回結果超過一行,那就表示不止一個使用者。認真來說,雖然對於發現駭客行為,以上都是一些很好的基本方法。但這些技巧本身並不能構成足夠的安全性,而且其深度和廣度和在文章頭提到的入侵偵測系統比起來也差得遠。