檢查使用者登入記錄
more /var/log/secure
who /var/log/wtmp
檢查系統守護進程
檢查/etc/inetd.conf檔案,輸入:cat /etc/inetd.conf | grep –v “^#”,輸出的資訊就是你這台機器所開啟的遠程服務。
一般入侵者可以通過直接替換in.xxx程式來建立一個後門,比如用/bin/sh 替換掉in.telnetd,然後重新啟動inetd服務,那麼telnet到伺服器上的所有使用者將不用輸入使用者名稱和密碼而直接獲得一個rootshell。
檢查網路連接和監聽連接埠
輸入netstat -an,列出本機所有的串連和監聽的連接埠,查看有沒有非法串連。
輸入netstat –rn,查看原生路由、網關設定是否正確。
輸入 ifconfig –a,查看網卡設定。
檢查系統日誌
命令last | more查看在正常情況下登入到原生所有使用者的記錄。但last命令依賴於syslog進程,這已經成為入侵者攻擊的重要目標。入侵者通常會停止系統的syslog,查看系統syslog進程的情況,判斷syslog上次啟動的時間是否正常,因為syslog是以root身份執行的,如果發現syslog被非法動過,那說明有重大的入侵事件。
在linux下輸入ls –al /var/log
在solaris下輸入 ls –al /var/adm
檢查wtmp utmp,包括messgae等檔案的完整性和修改時間是否正常,這也是手工擦除入侵痕迹的一種方法
幹了些什嗎?
root賬戶下輸入history
能看到這個使用者曆史命令,預設最近的1000條
.撥掉網線
這是最安全的取消連結的方法,除了保護自己外,也可能保護同網段的其他主機.
2.分析登入檔案資訊,搜尋可能入侵的途徑
被入侵後,決不是重新安裝就可以了,還要分析主機被入侵的原因和途徑,如果找出了問題點,就可能使您的主機以後更安全,同時也提高了自己的Linux水平.
如果不知道如何找出入侵途徑,下次還有可能發生同樣的事.一般:
1.分析登入檔案:可以通過分析一些主要的登入檔案找到對方的IP以及可能出現的漏洞.一般分析的檔案為:/var/log/messages和/var/log/secure檔案.還可以使用last命令找出最後一個登入者的資訊.
2.檢查主機開放的服務:很多Linux管理員不知道自己的主機上開放了多少服務,每個服務都有漏洞或不該啟動的增強型或測試型功能.找出系統上的服務,逐個檢查服務是否有漏洞或設定上的失誤.
3.重要資料備份
所謂重要的資料就是非Linux上的原有資料.如/etc/passwd,/etc/shadow,WWW網頁的資料,/home裡的使用者檔案,至於/etc/*,/usr/,/var等目錄下的資料就不要備份了.
4.系統重裝
重要的是選擇合適的包,不要將所有的包都安裝.
5.包漏洞修補
安裝後,要立即更新系統包,更新後再設定防火牆機制,同時關閉一些不必要的服務,最後才插上網線.
6.關閉或卸載不需要的服務
啟動的服務越少,系統入侵的可能性就越底
7.資料恢複與恢複服務設定
備份的資料要複製回系統,然後將提供的服務再次開放.
8.將主機開放到網路上
尋找Centos Linux伺服器上入侵者的WebShell後門
伺服器被掛馬或被黑的朋友應該知道,駭客入侵web伺服器的第一目標是往伺服器上上傳一個webshell,有了webshell駭客就可以幹更多的事 情。網站被掛馬後很多人會束手無策,無從查起,其實並不複雜,這裡我將以php環境為例講幾個小技巧,希望對大家有協助。
先講一下思路,如果伺服器上被上傳了webshell那麼我們肯定能夠查到蛛絲馬跡,比如php檔案的時間,如果我們可以尋找最後一次網站代碼更新以後的所有php檔案,方法如下。
假設最後更新是10天前,我們可以尋找10天內產生的可以php檔案:
find /var/webroot -name “*.php” -mtime -10
命令說明:
/var/webroot為網站根目錄
-name “*.php”為尋找所有php檔案
-time -10為截止到現在10天
如果檔案更新時間不確定,我們可以通過尋找關鍵字的方法來確定。要想查的準確需要熟悉webshell常用的關鍵字,我這裡列出一些常用的,其他的大家可 以從網收集一些webshell,總結自己的關鍵字,括弧裡面我總結的一些關鍵字 (eval,shell_exec,passthru,popen,system)尋找方法如下:
find /var/webroot -name “*.php” |xargs grep “eval” |more
find /var/webroot -name “*.php” |xargs grep “shell_exec” |more
find /var/webroot -name “*.php” |xargs grep “passthru” |more
當然你還可以匯出到檔案,下載下來慢慢分析:
find /home -name “*.php”|xargs grep “fsockopen”|more >test.log
這裡我就不一一羅列了,如果有自己總結的關鍵字直接替換就可以。當然並不是所有的找出的檔案都是webshell需要自己做一下判斷,判斷的方法也簡單,直接從瀏覽器訪問一下這個檔案或者和自己找的一些webshell比較一下,看得多了,基本上一眼就可以判斷是不是webshell檔案