如何判斷服務器是否被入侵了?


前言

暴露在公網的服務器多多少少都會遇到被“侵犯”的機遇。如何深入了解“入侵”以及檢查“入侵”,不着急,小編給大家簡單Solo下。

 

什么叫“入侵”

服務器被入侵不是一件小事,一旦被入侵了重要的服務,會產生不可預估的風險。

服務器入侵可分為以下四種:

1.未經授權;

2.獲取敏感數據;

3.篡改數據;

4.控制資產。


 

 

如何判斷自己的服務器是否被入侵了呢?

小編先來簡單介紹一下小編個人在用的雲主機的配置情況。

雲商:睿江雲

節點選擇:浙江B(經典網絡、SSD磁盤性能高)

雲主機配置:2核4G(2核2G也支持,但會存在內存不足情況)

網絡選擇:經典網絡(方便快捷、實惠)

帶寬:5M

系統版本:Centos7.6

 

01 查看服務器當前登錄用戶

最基礎的方法之一,查看當前登錄服務器的用戶,如有異常用戶或IP地址正在登錄,說明服務器很可能被入侵(侵犯),命令的話,使用w,who,users等都可以:

 

02 查看服務器歷史登錄痕跡

服務器會記錄曾經登錄過的用戶和IP,以及登錄時間和使用時長,如果存在異常用戶或IP地址曾經登錄過,就要注意了,服務器很可能被入侵,當然,對方為了掩蓋登錄,會清空/var/log/wtmp日志文件,要是你運行了last命令,只有你一個人登錄,而你又從來沒清空過記錄,說明被入侵了:

 

03 查看異常消耗CPU進程

非異常情況下,服務器被入侵后,對方通常會執行一些非常消耗CPU任務或程序,這時你就可以運行top命令,查看進程使用CPU的情況,如果有異常進程非常消耗CPU,而你又從來沒有執行過這個任務,說明服務器很可能被入侵了:

 

04 檢查服務器系統進程

消耗CPU不嚴重或者未經授權的進程,通常不會在top命令中顯示出來,這時你就需要運行“ps auxf”命令檢查所有系統進程,如果有異常進程在后台悄悄運行,而你又從來沒有執行過,這時就要注意了,服務器很可能被入侵了:

 

05 查看端口、進程網絡連接

通常攻擊者會安裝一個后門程序(進程)專門用於監聽網絡端口收取指令,這些進程在等待期間不會消耗CPU和帶寬,top命令難以發現,這時你就可以運行“netstat -plunt”命令,查看當前系統端口、進程的網絡連接情況,如果有異常端口開放,就需要注意了,服務器很可能被入侵:

檢查網絡連接和對各個監聽端口的分析,也是必須要走的程序。比如:

輸入netstat -an,列出本機所有的連接和監聽的端口,查看有沒有非法連接。

輸入netstat –rn,查看本機的路由、網關設置是否正確。

輸入 ifconfig –a,查看網卡設置。

通過查詢訪問的端口和異常IP地址進行異常分析也是常用的一種手段。

 

06 檢查系統的密碼相關文件

查看一下passwd文件,尤其是查看passwd當中是否有一些特權用戶,一般系統中Uid為0的用戶特權權限較高,可能會存在拿到控制權的可能性,但是能到這一步,我覺得這個入侵的黑客也太傻了,居然還給你留個你能看到的賬戶。另外還有查看空口令賬號,一把這些賬號都是用來提升權限用的。

首先從明顯的入手,查看一下passwd文件,ls –l /etc/passwd查看文件修改的日期。

檢查一下passwd文件中有哪些特權用戶,系統中uid為0的用戶都會被顯示出來。

 

07 檢查系統日志

查看在正常情況下登錄到本機的所有用戶的歷史記錄,通過登錄賬戶的時間和登錄用戶名可以判斷是由於系統自身因鑒權或者其他操作登錄,還是人為性質的登錄,雖然登錄日志比較多,但是也會為入侵分析帶來一些輔助性的判斷依據。一般情況下linux系統下輸入在linux下輸入ls –al /var/log,既可以看到登錄操作日志,對了還要看下系統的syslog進程是否被停用了,因為如果但凡有點技術的黑客都會停止這個進程,來防止log記錄。

命令last | more查看在正常情況下登錄到本機的所有用戶的歷史記錄。但last命令依賴於syslog進程,這已經成為入侵者攻擊的重要目標。入侵者通常會停止系統的syslog,查看系統syslog進程的情況,判斷syslog上次啟動的時間是否正常,因為syslog是以root身份執行的,如果發現syslog被非法動過,那說明有重大的入侵事件。

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

在solaris下輸入 ls –al /var/adm

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

 

08 .rhosts和.forward

這是兩種比較著名的后門文件,如果想檢查你的系統是否被入侵者安裝了后門,不妨全局查找這兩個文件,分別進行這兩個文件和正常內容的對比。一般要是於異常,說明你的系統已經被攻破。
這是兩種比較著名的后門文件,如果想檢查你的系統是否被入侵者安裝了后門,不妨全局查找這兩個文件:

find / -name “.rhosts”

find / -name “.forward”

 

09 檢查系統文件完整性

服務器檢查相關文件的完整性有多種方法,通常我們通過輸入ls -l 文件名來查詢和比較文件,這種方法雖然簡單,但還是有一定的實用性。但是如果ls文件都已經被替換了就比較難搞。在LINUX下可以用rpm -V rpm –qf 文件名 來查詢,國家查詢的結果是否正常來判斷文件是否完整。在LINUX下使用rpm來檢查文件的完整性的方法也很多,這里不做相關贅述,可以man rpm來獲得更多的格式。

 

總結

目前,就分享這9個方面來判斷服務器是否被入侵。服務器如果已經被入侵,你就需要趕在對方發現你之前奪回服務器的控制權,然后修改密碼、設定權限、限定IP登錄等。總之入侵分析是一個經驗工作,只有不斷提升攻防技術和分析各種攻防實際案例,你才能更好的做好服務器入侵檢測以及服務器安全防御,因此這既是一個枯燥的工作,還需要你長期不斷學習,很多時候技術經驗是非常有用的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM