導語
經常有使用者報障系統被植入惡意程式,如挖礦軟體、ddos攻擊病毒、syn對映攻擊病毒等,可以按照以下流程為使用者排查入侵病毒型別:
一、定位病毒程式
對於使用者反饋雲主機效能卡頓,CPU和記憶體佔用較高的情況:
執行TOP命令,檢視佔用CPU較高的異常程式,一般多為80%以上,有個別病毒佔用CPU可能不高,但是從command名稱明顯不是系統程式或使用者程式,如TSM,Lixsyn,ynlyvtpxia等。
如圖所示:
注意執行異常程式的使用者,大部分為root,也有可能為其他應用使用者,一般為可以登入系統的使用者,病毒破解使用者登入密碼後使用該使用者登入系統,根據入侵的使用者的許可權等將病毒程式上傳到不同目錄,此類病毒一般具有防止被刪除和程式自動啟動的功能。
即無法從目錄中刪除,刪除後還會自動恢復。使用Kill -9命令清理程式後片刻會再次自動啟動該程式。
上圖紅框中的即為病毒程式,雖然佔用CPU和出網頻寬不高,但是仍然具有防止刪除和自動啟動的特徵。
找到程式後記錄PID程式號,後續定位病毒程式未知會用到。
對於使用者反饋連線雲主機卡頓,但CPU和記憶體佔用不高的情況,可能是雲主機出網頻寬跑滿導致。此時ping雲主機公網IP會出現大量丟包。
透過VNC連線雲主機,使用iftop命令可以定位到佔用頻寬較高的程式(iftop命令使用教程可參考文件《Linux流量監控工具 - iftop (最全面的iftop教程)》:
https://developer.jdcloud.com/article/1729),一般多為同一埠有大量外部公網IP的資料進出,此種現象也多為病毒或惡意攻擊導致。
使用iftop -P定位佔用流量較高的埠,再使用lsof -i:埠號命令檢視佔用埠的程式號並記錄。
二、定位病毒程式位置
按照第一步定位的病毒程式號定位執行的病毒程式路徑,命令如下:
ll /proc/程式號
linux系統對於每個執行的程式會在/proc目錄下建立以程式號命名的臨時目錄,該目錄記錄了程式的相關資訊,其中exe專案即為程式對應的程式路徑,如圖所示:
病毒檔案被上傳到了/usr/bin目錄下,顯然病毒獲取了root許可權。有時也會放置在/tmp目錄下,因病毒獲得的不同使用者許可權而異。進入檔案所在路徑,大多數病毒檔案刪除後還會再次出現,無法徹底清除。
這也是我們一般建議使用者中毒後重置系統的原因。將病毒檔案或者病毒檔案所在的由病毒建立的目錄生成tar包,然後使用lrzsz工具下載至本地。
單個檔案之所以打tar包是避免下載至本地後防止被防毒軟體刪除,之後上傳至病毒分析網站後如果不是tar包格式有時也會無法分析出結果。
病毒分析網站有很多,常用的有:
https://x.threatbook.cn/
http://www.virustotal.com
http://r.virscan.org
以https://x.threatbook.cn/為例,開啟網頁後,點選下圖紅框的上傳檔案,選擇病毒tar包上傳。
等待檔案上傳完成後,點選下面紅框中的掃描檔案,進入分析頁面,網站會使用不同的安全軟體分析病毒並給出分析結果。
有些能檢測出是病毒,有些檢測不是病毒,有一款以上的檔案報毒即可確認是病毒。
如圖所示,掃描出病毒是DDoS攻擊病毒 。
確認病毒型別後,可以嘗試參考文件《Linux系統對DDoS木馬病毒排查及清除》(附產品)進行清除。
如果無法徹底清除,建議備份好系統中的個人資料後使用私有映象或官方映象重置系統。
通常絕大多數安全入侵都是透過完全開放的埠策略以及應用漏洞實現,因此使用預設安全組開放所有埠的安全風險極高。
特別提示:
針對linux雲主機,建議您繫結linux開放22埠安全組,移除預設安全組,單獨開放需要的埠,操作方法請參考下列文件:
安全組概述(https://docs.jdcloud.com/cn/virtual-machines/security-group-overview)
安全組繫結雲主機(https://docs.jdcloud.com/cn/virtual-machines/associate-security-group)
安全組解綁雲主機(https://docs.jdcloud.com/cn/virtual-machines/disassociate-security-group)
配置安全組入站規則(https://docs.jdcloud.com/cn/virtual-machines/configurate-inbound-rules)
配置安全組出站規則(https://docs.jdcloud.com/cn/virtual-machines/configurate-outbound-rules)
修改ssh協議埠(https://docs.jdcloud.com/cn/virtual-machines/ssh-service-change-port)
使用複雜密碼並定期更換
同時定期對您的雲主機制作私有映象(https://docs.jdcloud.com/cn/virtual-machines/create-private-image)和雲硬碟快照(https://docs.jdcloud.com/cn/cloud-disk-service/create-clouddisk-snapshot),備份您的系統配置和資料,以便在出現意外時可以使用私有映象重置您的系統。