起因

最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊。很可能服务被侵入了!!!

寻找线索

一开始我是完全懵逼的状态的,Linux不是很熟悉,只会简单的命令,安装部署redis,mongo这些东西。好吧,只能百度Google了!

  1. 寻找可疑进程

ps -ef
然而结果看起来一点头绪都没,非常不熟悉Linux底下常见的进程!

  1. 寻找相关的Log线索

Linux里有非常的多的日志文件,统一都存放在/var/log底下,这里我想先看看是不是有人破解了账号入侵了服务器
cat /var/log/faillog --登陆失败日志
cat /var/log/auth.log --验证日志

确实发现了一些蛛丝马迹(解决完后发现可能并非如此,暂时还没有研究下去)

auth.log中发现了大量的Failed,这说明有人在尝试暴力破解密码,最可疑的是大量的session opened for user root by (uid=0)(开始我觉得是入侵进去了?)。百度了下,发现几个线索:

  1. 阿里云官方发布了脏牛漏洞的公告https://bbs.aliyun.com/read/297492.html
  2. 一篇黑客对决http://ruby-china.org/topics/23848

仔细看了下之后发现,卧槽!黑客对决这篇和我的情况如出一辙啊~前几天为了部署ExceptionLess,迁移ElasticSearch到Linux。并没有注意El的安全性啊。

寻找木马

再一次查看进程,这次有文档帮助,有了大致的了解,并且拿另外一台Linux服务器的进程做了一次对比。立马定位到了可疑进程。

通过elastic+ 启动的这几个进程显然是木马进程,依据上边的文档,可以初步说明木马没有取得root权限,而运行在elastic的用户权限底下。

找到了进程,怎么找到文件?百度!
cd /proc/31598
ls -l exe

卧槽还删除了!不过也定位到可疑的地方/tmp
立即去/tmp查看

这些文件应该就是木马了,down下来打开看了下,确实是木马!也百度到了一些信息,这些就是肉鸡程序了!文档

干掉木马

找到了木马,最后就要干掉它,不过谨慎起见我还是做了一些其他的功课,防止随意杀掉之后,造成木马的更大破坏。(然而也就是百度了下,发现Linux只是太薄弱)

  1. 停止ElasticSearch

    service elasticsearch stop

  2. 更换ElasticSearch配置,这是这个漏洞的关键!

    script.disable_dynamic: true --从flase改成true

    我在想这样的一个动态脚本能力是怎么考虑的?妥妥的漏洞啊,就像上次的Redis默认无安全验证问题一样啊!!!

  3. 删掉temp
    rm -rf /tmp
    我这是很愤怒的!不过冲动是魔鬼,rm -rf请慎重!!!整个服务器删掉的悲伤故事就是它惹的。

  4. 批量杀掉进程

    kill -9 $(ps -ef | grep elastic | grep -v grep | awk '{print $2}')

  5. 重新查看下进程列表 确保木马不重启

    ps -ef

    结果看起来是乐观的,不过是不是真的杀掉了?还需要时间的检验了?

  6. 重启Elastichsearch

    service elasticearch start

  7. 为了更安全起见,服务器都加强了密码,还用ClamAV扫了一遍。

  8. 续集?? 希望不要有续集了!!!

总结

这次的安全事故,我想大概像我这样的Linux新手不在少数,随着.NET的跨平台,大量的.NET应用会依赖更多的linux环境组件,Linux的应用安全一定也是需要更受我们重视的(虽然Linux不是在业界号称比Windows安全嘛,不过Linux应该会说这是Elasticsearch的锅啊!!!)

后续

今天配置了防火墙,把内网机器的外网端口都限制了一遍,这下应该消停了。
但是也发现,elaticsearch禁用了动态脚本之后,貌似exceptionless报错了。

参考文档

话说这里应该有一句,Edit By Markdown。第一次用markdown写完一整篇,排版有些难看,请见谅。

Ubuntu服务器被黑经历(ElastichSearch漏洞)的更多相关文章

  1. ElastichSearch漏洞

    Ubuntu服务器被黑经历(ElastichSearch漏洞) 起因 最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊.很可能 ...

  2. ubuntu服务器远程连接xshell,putty,xftp的简单使用教程

    当你自己千辛万苦终于搞到一个服务器(ubuntu(linux)系统的)之后,却不知道怎么进行时,xshell,putty,xftp是个很不错的选择 xshell和xftp是win下访问ubuntu(l ...

  3. dedecms织梦建站后怎么防止被黑,加强安全漏洞措施?

    dedecms织梦建站后怎么防止被黑,加强安全漏洞措施? 很多人反映dedecms织梦网站被黑的情况,因为织梦相对来说漏洞还是挺多的,特别是新建设的站点,有些目录.文件该删的删,权限及安全都要设置,以 ...

  4. Flask+Nginx+uWSGI在Ubuntu服务器上的配置

    Flask+Nginx+uWSGI在Ubuntu服务器上的配置 Step1 安装系统环境 Ubuntu服务器选择是阿里云的ECS服务,ECS提供单独的内存\CPU\带宽\存储规格可以选择,并且提供合适 ...

  5. 在ubuntu服务器上安装tomcat 9

    前提条件: 确保ubuntu服务器上 已经安装 java 8 或更高版本,安装java8可以参考我的另一篇博文 通过 ppa 在ubuntu server 上安装java 8 java -versio ...

  6. PHP载入GIF图像造成服务器宕机(CVE-2018-5711)的漏洞复现

    参考链接: http://www.freebuf.com/vuls/161262.html 今日看新漏洞发现一个UC编辑部的标题,CVE-2018-5711:一张GIF图片就能让服务器宕机的PHP漏洞 ...

  7. 如何将web项目部署到Ubuntu服务器上

    情景回顾: 前几天在下本着人道主义原则帮我老师的一个朋友做了个小网页,(啥人道不人道的,主要是给钱了),做完之后本来是想偷懒直接把网页扔给他自己部署去吧,结果让我帮忙部署一下,得,偷懒也偷不成了,搞吧 ...

  8. win10 Xshell5连ubuntu服务器

    相当于ubuntu做服务器,win10远程访问,同一局域网下,完全参考度娘 教你怎么使用xshell远程连接linux服务器 ubuntu系统ifconfig -a查看ip地址,添加到主机那里,连接时 ...

  9. Ubuntu服务器如何搭建PPTPD(原创保证可用)

    Ubuntu是一款基于linux的操作系统,无需许可和订购的费用,Ubuntu Server可以帮助您高效地扩展您的数据中心.它精简的架构和自动化部署的能力让您只需花费更少的运算能力和资源,便可提供更 ...

随机推荐

  1. DataTable DataRow DataColumn DataSet

    1.DataTable 数据表(内存) 2.DataRow DataTable 的行 3.DataColumn DataTable 的列 4.DataSet 内存中的缓存

  2. unity之自制玻璃啤酒瓶shader

    客户的要求如下 步骤: 1.进行玻璃瓶效果分析 效果如下:高光,类次表面散射(里层通透而外层较为暗淡),外层白色勾勒轮廓. 高光:unity内部提供光滑度参数,越光滑则高光效果越明显,啤酒瓶材质是属于 ...

  3. JS 循环给li绑定参数不同的点击事

    以下内容纯属个人理解,不正确的地方还请大神留言,不胜感激! 源代码:(按个人方式选用一种即可) <ul> <li>1</li> <li>2</li ...

  4. SQL批量更新 关系表更新

    很多人在做数据的批量更新时..如果更新的内容是从其他表查出来的..很容易这么写.. UPDATE TABLE1 SET COLUMN1=(SELECT SUM(SOMETHING) FROM TABL ...

  5. 第二章 --- 关于Javascript 设计模式 之 策略模式

    这一章节里面,我们会主要的针对JavaScript中的策略模式进行理解和学习 一.定义 策略模式: 定义一系列的算法,把他们封装起来,并且是他们可以相互替换. (这样的大的定义纲领,真的不好理解,特别 ...

  6. [HttpPost]和[AcceptVerbs(HttpVerbs.Post)]区别

    1.共同点:[HttpPost]和[AcceptVerbs(HttpVerbs.Post)]都是只接受POST请求过来的数据. 2.不同点:在MVC中如果想一个action既可以回应POST请求也可以 ...

  7. 利用exp/imp备份恢复数据库实例

    用exp/imp备份数据库: Oracle数据导入导出imp/exp功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的 ...

  8. c++语言友元函数和成员函数对运算符重载

    #include<iostream> using namespace std; /******************************************/ /*use mem ...

  9. webservice客户端开发

    一.根据约定条件生成客户端 1.需要axis.jar包 2.调用 import org.apache.axis.client.Call; import org.apache.axis.client.S ...

  10. runtime理论知识

    http://southpeak.github.io/2014/10/25/objective-c-runtime-1/ 转载http://www.jianshu.com/p/6b905584f536 ...