記錄一次服務器被入侵的解決方法
一:問題說明
1、我的服務器是使用的阿里雲的CentOS,收到的阿里雲發來的提示郵件如下
然後我查看了運行的進程情況(top
命令),看到一個名爲minerd的進程佔用了99.5%的CPU
2、minerd是個挖礦程序,什麼是“挖礦”,特此百度了一下,
所謂“挖礦”實質上是用計算機解決一項複雜的數學問題,來保證比特幣網絡分佈式記賬系統的一致性。比特幣網絡會自動調整數學問題的難度,讓整個網絡約每10分鐘得到一個合格答案。隨後比特幣網絡會新生成一定量的比特幣作爲賞金,獎勵獲得答案的人。
比特幣的本質其實就是一堆複雜算法所生成的特解。特解是指方程組所能得到無限個(其實比特幣是有限個)解中的一組。而每一個特解都能解開方程並且是唯一的。[8] 以人民幣來比喻的話,比特幣就是人民幣的序列號,你知道了某張鈔票上的序列號,你就擁有了這張鈔票。而挖礦的過程就是通過龐大的計算量不斷的去尋求這個方程組的特解,這個方程組被設計成了只有 2100 萬個特解,所以比特幣的上限就是 2100 萬。[8]
所以纔會這麼佔CPU。
二:解決方法
1、網上看到有人遇到了同樣的問題,鏈接地址:
http://blog.csdn.net/hu_wen/article/details/51908597
文中使用了StackExchange上一個回答的解決方法:
http://security.stackexchange.com/questions/129448/how-can-i-kill-minerd-malware-on-an-aws-ec2-instance
嘗試使用上述步驟解決:
(1)關閉訪問挖礦服務器的訪問 iptables -A INPUT -s xmr.crypto-pool.fr -j DROP
和 iptables -A OUTPUT -d xmr.crypto-pool.fr -j DROP
(2)刪除/usr/local/etc
下root文件中的內容
(3)刪除yam
文件(我的yam文件不是在上面說的/opt
目錄下的,使用find
命令查找,然後刪除)
(4)刪除 /root/.ssh/KHK75NEOiq
(5)刪除/opt/minerd
和 /opt/KHK75NEOiq33
(6)殺死minerd進程,pkill minerd
或者kill -9 進程Id
(7)前面步驟沒有問題,到這裏我是沒有lady
這個服務的,殺死minerd
進程後過大約5分鐘左右minerd
進程又出現了。
問題沒有解決。
2、然後看到如下一個解決方法
http://www.cnblogs.com/zhouto/p/5680594.html
(1)同1中的第一步
(2)chmod -x minerd
,取消掉執行權限
(3)殺死進程 pkill minerd
(4)然後運行一段時間發現minerd沒有出現了
問題解決。
三:總結
因爲我CentOS上安裝了Redis,看網上說是黑客利用Redis的漏洞獲得了服務器的訪問權限。http://blog.jobbole.com/94518/