溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

今天,你的服務(wù)器被“挖礦”了嗎?

發(fā)布時間:2020-06-13 09:23:32 來源:網(wǎng)絡(luò) 閱讀:715 作者:云掣YUNCHE 欄目:安全技術(shù)

今天,你的服務(wù)器被“挖礦”了嗎?

本文作者:晨光

運維工程師

web服務(wù)應(yīng)用是最為常見的應(yīng)用之一,主要是通過對公網(wǎng)放行服務(wù)器的端口供客戶訪問來提供服務(wù)。這類服務(wù)對數(shù)據(jù)安全、訪問控制的要求會比較高。但最為核心的還是后端服務(wù)器主機(jī)層,當(dāng)后端主機(jī)不能正常工作時,前端展示的web服務(wù)一定是收到牽連的,如何維護(hù)后端服務(wù)器正常運行就顯得尤為重要了。

這里提到后端主機(jī)的正常運行,就不得不提“***”這個詞了,讓互聯(lián)網(wǎng)小白一籌莫展的無形殺手。他們通過各種軟件的漏洞,網(wǎng)絡(luò)等方面無孔不入地***安全度較低的服務(wù)器,常見的手段有sql注入,挖礦,xss等。

挖礦丨小科普

挖礦:即比特幣挖礦,是一種利用電腦硬件計算出比特幣的位置并獲取的過程。

被挖礦的現(xiàn)象:cpu資源被瘋狂利用。

被挖礦的方式:利用軟件漏洞,如Redis未授權(quán)訪問缺陷,voip環(huán)境等漏洞登錄服務(wù)器,定時下載腳本文件并運行,消耗系統(tǒng)資源。

這里分享一個被“挖礦”事件處理的案例。

背景

有同一批服務(wù)的主機(jī)接連的cpu不斷跑高至打滿,并持續(xù)。導(dǎo)致對外的應(yīng)用服務(wù)無法正常被訪問。通過對服務(wù)器的資源使用情況查看發(fā)現(xiàn),有一個陌生的進(jìn)程在瘋狂占用cpu資源。

處理過程

首先,我們發(fā)現(xiàn)登錄服務(wù)器非???,網(wǎng)站加載速度特別慢,作為優(yōu)秀的運維工程師需要解決一下這個網(wǎng)站速度問題。這時最直觀的查看方式就是top一下系統(tǒng)資源。(如下圖)

今天,你的服務(wù)器被“挖礦”了嗎?

4核的CPU被ksoftirqds進(jìn)程占用了389%,這個進(jìn)程看著也非常的不尋常,一個優(yōu)秀的運維工程師斷定,肯定是“被挖礦”了。

查看該進(jìn)程的運行狀態(tài),可以看得出每隔10min定時執(zhí)行shell,大量產(chǎn)生軟中斷進(jìn)程,此進(jìn)程與網(wǎng)絡(luò)大量通信,進(jìn)行上下文切換,導(dǎo)致占滿CPU:

今天,你的服務(wù)器被“挖礦”了嗎?

嘗試使用kill命令無法正常的結(jié)束這個進(jìn)程,再回到top的顯示,發(fā)現(xiàn)jenkins還運行這個一進(jìn)程watchdog。根據(jù)我多年的經(jīng)驗,看著也不像是一個正常的進(jìn)程。使用lsof查看下這個進(jìn)程打開的文件:

今天,你的服務(wù)器被“挖礦”了嗎?

原來kill不掉,是因為有植入進(jìn)程watchdog所致,而watchdog進(jìn)程與外界存在大量通信。

同時一般都會被設(shè)定一個定時任務(wù),再查看jenkins這個用戶下的crontab:

今天,你的服務(wù)器被“挖礦”了嗎?

果然存在這樣一個定時任務(wù)的去下載腳本并執(zhí)行了。

這時,先刪除這個定時任務(wù):

今天,你的服務(wù)器被“挖礦”了嗎?

然后清除watchdog和ksoftirqds的進(jìn)程文件:

最后kill掉watchdog和ksoftirqds的進(jìn)程,并修改/var/spool/cron/的權(quán)限為000,這時再使用top查看服務(wù)器的資源情況。已經(jīng)恢復(fù)到了正常的狀態(tài):

今天,你的服務(wù)器被“挖礦”了嗎?

到這里,我們已經(jīng)完成了“被挖礦”后的處理,希望各位優(yōu)秀的運維工程師可以處變不驚運籌帷幄保障自己的服務(wù)器不被挖礦?。樽约旱膬?yōu)秀的洞察力點個贊)

總結(jié)|處理挖礦的流程

1、使用top命令查看異常占用cpu資源的進(jìn)程;

2、使用ps -ef|grep pid或lsof -p pid或cd /proc/pid查看進(jìn)程打開的文件;

3、使用for u in cat /etc/passwd | cut -d":" -f1;do crontab -l-u $u;done 查看所有的定時任務(wù),定位異常crontab的用戶;

4、進(jìn)入異常crontab的用戶刪除定時任務(wù);

5、刪除第2步中查到的異常文件;

6、Kill 第1步中異常的進(jìn)程;

7、修改/var/spool/cron的權(quán)限為000,進(jìn)入再次寫入定時任務(wù)。

隱患分析

導(dǎo)致服務(wù)器主機(jī)資源被***的原因應(yīng)從架構(gòu)層,主機(jī)層,應(yīng)用層分析,整個網(wǎng)站的架構(gòu)非常的重要,做到高可用、安全、惡意***攔截才會相對良好的保障應(yīng)用的安全。主機(jī)的安全策略,軟件的部署方式,目錄的權(quán)限等方面是保障主機(jī)與外界通信的安全墻。應(yīng)用程序的結(jié)構(gòu),語句的合理性以及安全性是直接對外的窗口。開發(fā)良好的代碼才不容易被sql注入,收到***。

主機(jī)層

1、防火墻安全措施實施不到位;

2、端口采用默認(rèn);

3、公網(wǎng)提供服務(wù),未做訪問、流量限制

應(yīng)用層

1、應(yīng)用環(huán)境單點,安全系數(shù)低

2、應(yīng)用版本信息未隱藏,容易被找到漏洞

3、域名解析A記錄到主機(jī)公網(wǎng),直接暴露后端服務(wù)器主機(jī)信息

后期預(yù)防

挖礦程序一般都是通過軟件的漏洞進(jìn)入到服務(wù)器,執(zhí)行一些腳本文件占用服務(wù)器資源。規(guī)范使用軟件。做好網(wǎng)絡(luò)安全隔離,可以大大減少這類事件的發(fā)生。

1、redis,數(shù)據(jù)庫等軟件不對外網(wǎng)暴露端口訪問

2、對外端口修改為非常規(guī)端口

3、網(wǎng)絡(luò)訪問做安全產(chǎn)品過濾或限制

4、及時更新軟件,保持最新穩(wěn)定的漏洞修復(fù)

看到這里你學(xué)會了嗎?

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI