起因
最近我們的一台Ubuntu阿里雲服務器一直提示有肉雞行為,提示了好幾天,開始並沒有關注,然后連續幾天后發現應該是個大問題啊。很可能服務被侵入了!!!
尋找線索
一開始我是完全懵逼的狀態的,Linux不是很熟悉,只會簡單的命令,安裝部署redis,mongo這些東西。好吧,只能百度Google了!
- 尋找可疑進程
ps -ef
然而結果看起來一點頭緒都沒,非常不熟悉Linux底下常見的進程!
- 尋找相關的Log線索
Linux里有非常的多的日志文件,統一都存放在/var/log底下,這里我想先看看是不是有人破解了賬號入侵了服務器
cat /var/log/faillog --登陸失敗日志
cat /var/log/auth.log --驗證日志
確實發現了一些蛛絲馬跡(解決完后發現可能並非如此,暫時還沒有研究下去)
在auth.log
中發現了大量的Failed,這說明有人在嘗試暴力破解密碼,最可疑的是大量的session opened for user root by (uid=0)
(開始我覺得是入侵進去了?)。百度了下,發現幾個線索:
- 阿里雲官方發布了臟牛漏洞的公告https://bbs.aliyun.com/read/297492.html
- 一篇黑客對決http://ruby-china.org/topics/23848
仔細看了下之后發現,卧槽!黑客對決這篇和我的情況如出一轍啊~前幾天為了部署ExceptionLess,遷移ElasticSearch到Linux。並沒有注意El的安全性啊。
尋找木馬
再一次查看進程,這次有文檔幫助,有了大致的了解,並且拿另外一台Linux服務器的進程做了一次對比。立馬定位到了可疑進程。
通過elastic+ 啟動的這幾個進程顯然是木馬進程,依據上邊的文檔,可以初步說明木馬沒有取得root權限,而運行在elastic的用戶權限底下。
找到了進程,怎么找到文件?百度!
cd /proc/31598
ls -l exe
卧槽還刪除了!不過也定位到可疑的地方/tmp
立即去/tmp
查看
這些文件應該就是木馬了,down下來打開看了下,確實是木馬!也百度到了一些信息,這些就是肉雞程序了!文檔
干掉木馬
找到了木馬,最后就要干掉它,不過謹慎起見我還是做了一些其他的功課,防止隨意殺掉之后,造成木馬的更大破壞。(然而也就是百度了下,發現Linux只是太薄弱)
-
停止ElasticSearch
service elasticsearch stop
-
更換ElasticSearch配置,這是這個漏洞的關鍵!
script.disable_dynamic: true --從flase改成true
我在想這樣的一個動態腳本能力是怎么考慮的?妥妥的漏洞啊,就像上次的Redis默認無安全驗證問題一樣啊!!!
-
刪掉temp
rm -rf /tmp
我這是很憤怒的!不過沖動是魔鬼,rm -rf
請慎重!!!整個服務器刪掉的悲傷故事就是它惹的。 -
批量殺掉進程
kill -9 $(ps -ef | grep elastic | grep -v grep | awk '{print $2}')
-
重新查看下進程列表 確保木馬不重啟
ps -ef
結果看起來是樂觀的,不過是不是真的殺掉了?還需要時間的檢驗了?
-
重啟Elastichsearch
service elasticearch start
-
為了更安全起見,服務器都加強了密碼,還用ClamAV掃了一遍。
-
續集?? 希望不要有續集了!!!
總結
這次的安全事故,我想大概像我這樣的Linux新手不在少數,隨着.NET的跨平台,大量的.NET應用會依賴更多的linux環境組件,Linux的應用安全一定也是需要更受我們重視的(雖然Linux不是在業界號稱比Windows安全嘛,不過Linux應該會說這是Elasticsearch的鍋啊!!!)
后續
今天配置了防火牆,把內網機器的外網端口都限制了一遍,這下應該消停了。
但是也發現,elaticsearch禁用了動態腳本之后,貌似exceptionless報錯了。
參考文檔
- http://blog.csdn.net/nancygreen/article/details/9873895 Linux日志文件說明
- https://bbs.aliyun.com/read/297492.html阿里雲官方發布了臟牛漏洞的公告
- http://ruby-china.org/topics/23848一篇黑客對決,最重要的參考!
- https://segmentfault.com/a/1190000000470060 實時流量監測
- http://www.2cto.com/os/201307/230084.html 批量殺進程
- http://www.clamav.net/download.html clamav
- http://wiki.ubuntu.org.cn/ClamAV#.E5.AE.89.E8.A3.85ClamAV
- http://www.cnblogs.com/kerrycode/archive/2015/08/24/4754820.html 同樣的經歷
- http://www.2cto.com/article/201409/336468.html El的漏洞
- http://blog.csdn.net/wang794686714/article/details/41978487 端口掃描
- http://blog.csdn.net/u011066706/article/details/51175761 El漏洞
- http://www.freebuf.com/sectool/38025.html El漏洞工具
- http://www.jianshu.com/p/4441c966583f Linux終端命令
- http://blog.csdn.net/zfs_kuai/article/details/36625949 查看進程目錄
- http://www.hackdig.com/03/hack-19281.htm 肉雞
話說這里應該有一句,Edit By Markdown。第一次用markdown寫完一整篇,排版有些難看,請見諒。