linux服務器中病毒后的清除處理


linux服務器中病毒后的清除處理

      之前看到公司同事在部署服務器的時候,發現中了挖礦病毒,很是惱火。因為我平時很少接觸服務器,一般都是部署項目,配置域名就完事。所以遇到這種情況,只能在一旁看着干着急。后來在網上查閱了很多資料,現決定來整理一下,下次如果遇到服務器中病毒的情況,可以拿來參考一下。

一、服務器為什么會中病毒?

1)服務器中病毒,其實是因為黑客的入侵。入侵者的每一次入侵幾乎都是從掃描開始的,掃描軟件首先會判斷遠程計算機是否存在,接着對存在的遠程計算機進行掃描,探測其開放的端口。入侵者通過掃描的結果可以確定目標主機打開的端口、服務、以及存在的各種漏洞等信息,然后實施攻擊。

2)最普遍的情況應該就是服務器被掛載木馬病毒用以挖礦(比特幣/門羅幣...)。因為控制別人的電腦挖礦,成本為零。比如通過redis 6379端口,如果賬號密碼太簡單或者沒有設置密碼,攻擊者可能通過提權,獲取到root的權限。然后在服務器中植入一系列的挖礦病毒。

二、症狀表現

服務器CPU資源使用一直處於100%的狀態或者更高,連接服務器的時候明顯感覺到消耗的時間比以往要久。Kill該進程以后還會更換端口,很快就又被創建出來了。

三、排查方法

1、通過top命令查看,發現可疑進程比如XX

2、查看進程:使用 ps -ef | grep XX 命令查看pid

1)使用命令ls -l proc/{進程號}/exe獲取文件的絕對路徑。下載下來,上傳到VirusTotal,如果界面有相關的病毒顯示信息。那就是病毒實錘了。如果沒有,只能說明還沒有其他用戶提交該種類型病毒。

find $path -ctime -30 print   #找到最近一段時間被修改的文件列表

2)直接 kill -9 pid(進程號)並刪除 /tmp/XX執行文件。如果,沒有過多久,進程又運行了,這時就應該想到,XX 有守護程序或者有計划任務。通過 crontab  -l 查看是否有可疑的計划任務。

3)使用 systemctl status pid(進程號) 發現 XX的守護進程。kill 掉 XX 守護進程 kill -9 pid1 pid2...,再 killall -9 XX挖礦病毒 。

4)進入/tmp目錄(一般挖礦病毒的執行目錄都在這里)。執行程序 rm -f /tmp/XX,如果刪除的過程中,發現提示Operation not permitted(沒有權限,無法刪除),應該是入侵者使用了chattr命令將文件鎖定了。這個時候我們使用命令: chattr -i  文件名 即可正常刪除。

補充一下:lsattr可用來查看文件的屬性:lsattr filename。如果文件屬性中有i與a,或者有其中的一個可以使用chattr去掉這屬性:chattr -ia filename  或者chatter -i  filename

5)在/etc/目錄下,將/etc/update.sh 也一並刪除

6)檢查是否還有免密登錄的后門文件,將/root/.ssh/authorized_keys 也一並刪除

7)檢查定時任務:crontab  -l

將可疑任務清除或者停止:crontab -r 或者service crontab stop

cat /var/spool/cron/root  檢查清除

8)SSH秘鑰刪除

攻擊者可能在/root/.ssh/里面留他們的秘鑰,所以我們要清理掉,重新生成秘鑰。

9)查看賬號文件是否被修改

查看/root/.ssh/authotrized_keys,黑客就是通過ssh授權登錄的,因此需要清除未知的賬號信息,不過一般文件會被加上ia權限。上文已經講過chattr命令的使用。

查看:lsattr /root/.ssh/authotrized_keys

解鎖:chattr -ia /root/.ssh/authotrized_keys  

編輯文件可修改:chmod 600 /root/.ssh/authotrized_keys

10)有的情況,還需要要刪除鏈接文件,或者病毒啟動文件。這個到時候再具體問題具體分析吧。檢查/etc/init.d目錄下的文件

四、檢查

將服務器重啟,檢查是否還有異常

1)top查看以及使用 ps -ef | grep XX 命令查看

2)通過find / -name "*XX*" 命令搜索是否還有 XX文件

3)查看 Linux ssh 登陸審計日志。Centos 與 RedHat 審計日志路徑為 /var/log/secure,Ubuntu 與 Debian 審計日志路徑為 /var/log/auth.log。

4)檢查 crontab 計划任務是否有可疑任務

五、后期防護

1、啟用ssh公鑰登陸,禁用密碼登陸。

2、雲主機:完善安全策略,入口流量,一般只開放 80、443 端口就行,出口流量默認可以不限制,如果有需要根據需求來限制。物理機:可以通過硬件防火牆或者機器上iptables 來開放出入口流量規則

3、本機不是直接需要對外提供服務,可以拒絕外網卡入口所有流量,通過 jumper 機器內網登陸業務機器。

4、有能力的話可以搭建安全掃描服務,定期檢查機器上漏洞並修復。

5、安裝Linux殺毒軟件clamav:yum install clamav

1)在線升級病毒庫:執行命令 freshclam或者 freshclam --verbose

2)掃描所有用戶的主目錄就使用命令 clamscan -r /home

3)掃描計算機上的所有文件並且顯示所有的文件的掃描結果,就使用 clamscan -r /

grep  Infected  /tmp/all.log   #查看被感染文件數量

grep  -i  found  /tmp/all.log  #查看被感染的文件

4)掃描計算機上的所有文件並且顯示有問題的文件的掃描結果,就使用clamscan -r --bell -i /

/usr/local/clamav/bin/clamscan -r --remove(查殺當前目錄並刪除感染的文件)

/usr/local/clamav/bin/clamscan -r --bell -i / (掃描所有文件並且顯示有問題的文件的掃描結果)

>其他參數

> -r/--recursive[=yes/no] 所有文件

>  --log=FILE/-l FILE 增加掃描報告

>  # clamscan -l /var/log/clamscan.log /

>  --move [路徑] 移動病毒文件至..

>  --remove [路徑] 刪除病毒文件

>  --quiet 只輸出錯誤消息

>  --infected/-i 只輸出感染文件

>  --suppress-ok-results/-o 跳過掃描OK的文件

>  --bell 掃描到病毒文件發出警報聲音

>  --unzip(unrar) 解壓壓縮文件掃描

--掃描根目錄下文件,並指定日志文件:/var/log/clamscan.log

clamscan -r -l /var/log/clamscan.log / &

6、redis最好關掉外網訪問權限,或者是修改默認端口。

 

參考鏈接:

https://msd.misuland.com/pd/3691885202524605942?page=1
https://www.cnblogs.com/ushowtime/p/11628002.html
https://blog.csdn.net/heian_99/article/details/105247415


免責聲明!

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



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