起因
最近我们的一台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的锅啊!!!)
以上所述是小编给大家介绍的Ubuntu服务器被黑经历,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!