本文以Centos系統為例講述一下如何檢查Linux系統是否中毒,中毒有哪些特徵以及中毒會帶來什麼樣的後果,如何保障linux系統的安全。
工具/原料
linux、病毒、安全
linux中毒或者被入侵有哪些現象
一、服務器出去的帶寬會跑高這個是中毒的一個特徵。
因為服務器中毒之後被別人拿去利用,常見的就是拿去當肉雞攻擊別人。另外的就是拿你的數據之類的。所以服務器帶寬方面需要注意下,如果服務器出去的帶寬跑很高,那肯定有些異常,需要及時檢查一下
二、系統裡會產生多餘的不明的用戶
中毒或者被入侵之後會導致系統裡產生一些不明用戶或者登陸日誌,所以這方面的檢查也是可以看出一些異常的。
三、開機是否啟動一些不明服務和crond任務裡是否有一些來歷不明的任務?
因為中毒會隨系統的啟動而啟動的,所以一般會開機啟動,檢查一下啟動的服務或者文件是否有異常,一般會在/etc/rc.local 和 crondtab -l 顯示出來。所以要注意檢查一下,以上三點都是比較常見的特徵,還會有些不明顯的特徵需要留意下。
實例講解中毒的Linux系統解決過程
在工作中碰到一次客戶反饋系統經常卡,而且有時候遠程連接不上。於是我就跟進這位客戶,從本地以及遠程檢查一下他的系統,他也發現有不明的系統進程。我腦子裡初步判斷就是可能中毒了。
首先,我在監控裡檢查一下這服務器的帶寬,發現服務器出去的帶寬跑很高,所以才會導致他遠程不上的,這是一個原因。為什麼服務器出去的帶寬這麼高且超出了開通的帶寬值?這個原因只能進入服務器系統裡檢查了。
其次,我向客戶詢問了系統的賬號密碼,遠程進入系統裡檢查了下,也看到了客戶所說的不明進程。 ps -aux 命令可以查看到 ,客戶反饋不是他的遊戲進程,然後我使用命令進行關閉。
再接著,我檢查一下開機啟動項 chkconfig --list grep 3:on
服務器啟動級別是3的,我檢查一下了開機啟動項,沒有特別明顯的服務。然後檢查了一下開機啟動的一個文件,more /etc/rc.local
看到這個文件裡被添加了很多項,詢問客戶,並非是他添加的,所以我也註釋了它。如下圖
在遠程的時候,我覺得還是有些卡,檢查了一下系統的計劃任務crond,使用crondtab -l 命令進行查看,看到很多註釋行,再認真查看,也有添加的計劃任務與/etc/rc.local的內容差不多。如下圖,不是顯示全部
與客戶溝通,也不是客戶添加的,客戶說他也不會這些。所以後來我備份了一個這個內容,就刪除了,然後停止crond任務,並chkconfig crond off 禁用它開機啟動。
最後為了徹底清除危害,我檢查了一下系統的登陸日誌,看到除了root用戶還有其它的用戶登陸過。檢查了一下/etc/passwd ,看到有不明的用戶,詢問客戶並非他添加,然後使用
usermod -L XXX 禁用這些用戶。 然後更新了下系統的複雜密碼,然後通知客戶。附一些相關圖片
如何保障linux系統的安全
一、從以上碰到的實例來分析,密碼太簡單是一個錯
用戶名默認,密碼太簡單是最容易被入侵的對象,所以切忌不要使用太過於簡單的密碼,先前碰到的那位客戶就是使用了太簡單的且規則的密碼 1q2w3e4r5t, 這種密碼在掃描的軟件裡是通用的,所以很容易被別人掃描出來的。
二、不要使用默認的遠程端口,避免被掃描到
掃描的人都是根據端口掃描,然後再進行密碼掃描,默認的端口往往就是掃描器的對象,他們掃描一個大的IP 段,哪些開放22端口的認為是ssh服務的linux系統,所以才會猜這機器的密碼。更改遠程端口也是安全的一個措施
三、使用一些安全策略進行保護系統開放的端口
可以使用到iptables或者簡單的文件安全配置 /etc/hosts.deny 、/etc/hosts.allow等文件進行配置。經常維護也是必須的
本文總結
文章詳細描述了linux系統中毒一般會有哪些牲,然後通過實例講解如何進行檢查與清除病毒的危害,最後分析了中毒的原因以及如何保障linux系統的安全方法。然後對大家有所幫助,謝謝。
注意事項
本文從自己的經驗以及所學所得來解決問題,遇到的一些問題是需要從實際出發分析進行解決的。