回覆列表
  • 1 # 使用者3926722064098

    以下幾種方法檢測linux伺服器是否被攻擊:

    1、檢查系統密碼檔案

    首先從明顯的入手,檢視一下passwd檔案,ls –l /etc/passwd檢視檔案修改的日期。

    2、檢視一下程序,看看有沒有奇怪的程序

    重點檢視程序:ps –aef | grep inetd inetd是UNIX系統的守護程序,正常的inetd的pid都比較靠前,如果看到輸出了一個類似inetd –s

    /tmp/.xxx之類的程序,著重看inetd

    –s後面的內容。在正常情況下,LINUX系統中的inetd服務後面是沒有-s引數的,當然也沒有用inetd去啟動某個檔案;而solaris系統中

    也僅僅是inetd

    –s,同樣沒有用inetd去啟動某個特定的檔案;如果使用ps命令看到inetd啟動了某個檔案,而自己又沒有用inetd啟動這個檔案,那就說明已經有人入侵了系統,並且以root許可權起了一個簡單的後門。

    3、檢查系統守護程序

    檢查/etc/inetd.conf檔案,輸入:cat /etc/inetd.conf | grep –v “^#”,輸出的資訊就是這臺機器所開啟的遠端服務。

    一般入侵者可以透過直接替換in.xxx程式來建立一個後門,比如用/bin/sh 替換掉in.telnetd,然後重新啟動inetd服務,那麼telnet到伺服器上的所有使用者將不用輸入使用者名稱和密碼而直接獲得一個rootshell。

    4、檢查網路連線和監聽埠

    輸入netstat -an,列出本機所有的連線和監聽的埠,檢視有沒有非法連線。

    輸入netstat –rn,檢視本機的路由、閘道器設定是否正確。

    輸入 ifconfig –a,檢視網絡卡設定。

    5、檢查系統日誌

    命令last |

    more檢視在正常情況下登入到本機的所有使用者的歷史記錄。但last命令依賴於syslog程序,這已經成為入侵者攻擊的重要目標。入侵者通常會停止系

    統的syslog,檢視系統syslog程序的情況,判斷syslog上次啟動的時間是否正常,因為syslog是以root身份執行的,如果發現

    syslog被非法動過,那說明有重大的入侵事件。

    在linux下輸入ls –al /var/log

    檢查wtmp utmp,包括messgae等檔案的完整性和修改時間是否正常,這也是手工擦除入侵痕跡的一種方法。

    6、檢查系統中的core檔案

    透過傳送畸形請求來攻擊伺服器的某一服務來入侵系統是一種常規的入侵方法,典型的RPC攻擊就是透過這種方式。這種方式有一定的成功率,也就是說並不能

    100%保證成功入侵系統,而且通常會在伺服器相應目錄下產生core檔案,全域性查詢系統中的core檔案,輸入find / -name core

    –exec ls –l {} \; 依據core所在的目錄、查詢core檔案來判斷是否有入侵行為。

    7、檢查系統檔案完整性

    檢查檔案的完整性有多種方法,通常透過輸入ls –l

    檔名來查詢和比較檔案,這種方法雖然簡單,但還是有一定的實用性。但是如果ls檔案都已經被替換了就比較麻煩。在LINUX下可以用rpm –V

    `rpm –qf 檔名`

    來查詢,查詢的結果是否正常來判斷檔案是否完整。在LINUX下使用rpm來檢查檔案的完整性的方法也很多,這裡不一一贅述,可以man

    rpm來獲得更多的格式。

  • 中秋節和大豐收的關聯?
  • 氣溫全球升高,南極冰山大量融化,海平面增高,喜馬拉雅山的冰川為何不像南極那樣融化?