JB的測試之旅-遠端伺服器失敗,原來是被搞了

jb發表於2019-05-06

前言

昨天遇到了伺服器很卡的問題,重啟下及清理下伺服器,當時正常了,但今天又重新遠端伺服器時,一直在連線中,最終是超時失敗處理;

image.png-46.1kB

其實這個問題早幾次就已經出現過,但沒上心,畢竟重啟大法好,而且可能是因為一直以來的指令碼導致的,因此沒怎麼管;

但現在是重啟後,就沒跑指令碼了,依然出現這情況,不能忍,因此就一起看看這個問題,篇幅很短,2-3分鐘即可;

跟進

第一反應就是上阿里雲遠端看看,看到的內容是這樣的:

image.png-153.3kB

密密麻麻一堆內容,但都是重複的,隨便挑個關鍵詞,直接某度搜尋,如systemd-logind,會看到以下內容:

image.png-14.8kB
image.png-158.9kB

看描述,跟Jb遇到的相似,那這玩意是什麼?

image.png-119.9kB

看描述,是個系統服務啊,難道正如網上說的,這玩意會一直佔用CPU?因此嘗試了網上提供的解決方案-關閉systemd-logind

systemctl stop systemd-logind
複製程式碼

但是試了下,不管用啊。。

image.png-28.3kB

那就說明問題不是它,但是呢,一直遠端失敗,而且服務很卡,感覺就是CPU一直被佔用,那就用top來看下吧:

但是,因為伺服器太卡了,輸入一個字母等半天,因此決定重啟伺服器,重啟後用top觀察:

image.png-128.7kB

結果發現一起來,就各種awk、sh、kill等各種系統命令佔用那麼高的CPU?第一反應就是什麼鬼?

image.png-67.1kB

繼續放著觀察,結果過幾分鐘,佔比開始變了:

image.png-289.6kB

syslog是系統日誌啊,為啥會一直記錄日誌?

繼續往下翻top的記錄,底部有新發現:

image.png-307.5kB
image.png-326.4kB

後面的記錄都是跟上圖一樣,重複的;那問題來了,systemd_conjestion_helper是什麼?

一開始以為是系統指令碼,但是網站找了半天,沒有這樣的檔名啊;既然如此,就下載下來吧;

有興趣的小夥伴可自行下載:

連結:https://pan.baidu.com/s/1h6q4oOxHJL7BjS0fwas_dQ 
提取碼:ovbb 
複製程式碼

開啟檔案,看頂部註釋資訊:

image.png-17.1kB

寫著makeself,不知道是什麼,就網上找下:

image.png-172.9kB

這,一重啟伺服器就自動跑這個,是執行程式,並且網上沒查到類似資訊,這TM是被搞了?

順著上面的截圖,這個systemd_conjestion_helper是在tmp目錄,那就看看這個目錄下有什麼?

image.png-65.1kB

臥槽,好多東西,因為不懂,所以不知道有啥用,但是systemd_conjestion_helper絕逼有問題。。

再看看,下面有個root目錄,裡面全都是.sh。。

image.png-832.6kB

再看回剛下載的systemd_conjestion_helper檔案,內容太多了,不會一一看,直接搜尋.sh,發現有匹配結果:

image.png-26.6kB

行吧,雖然不知道這些是什麼,但是感覺跟它們脫不了關係,因此直接把帶有systemd的檔案全部rm掉;

然後再重啟伺服器,開機持續觀察top,至今4個小時暫時還沒問題,至少還沒出現單項佔用CPU超過5%的程式;

小結

這問題應該是算到此結束了,這個問題,並不難,但是因為對這塊不瞭解,花了很多時間去嘗試跟查閱資料,也從沒懷疑過伺服器被幹的情況,一直以為是自己伺服器太爛導致的,也側面反映出自身對Linux這塊的不熟悉;

至於為什麼會被搞,可能是之前在公網搭了個上傳檔案的功能,雖然只開放了幾天,但因為寫了個帖子,可能就被人利用了,建議能別放公網就儘量放內網。。

最後謝謝全乾工程師@老羅的幫忙,不然一個人折騰半天都不知所云;

相關文章