起因

最近我们的一台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. Nodejs事件引擎libuv源码剖析之:句柄(handle)结构的设计剖析

    声明:本文为原创博文,转载请注明出处. 句柄(handle)代表一种对持有资源的索引,句柄的叫法在window上较多,在unix/linux等系统上大多称之为描述符,为了抽象不同平台的差异,libuv ...

  2. PHP框架模板原理

           PHP框架现在是一种很流行的东西了,很多朋友开发应用与网站都会选择一个PHP框架或模板了,下面我们来看看PHP框架是如何实现的吧. 本文主要来聊聊框架理论,但不针对任何一款框架,不过任何 ...

  3. 5种 JavaScript 调用函数的方法

    一次又一次的,我发现,那些有bug的Javascript代码是由于没有真正理解Javascript函数是如何工作而导致的(顺便说一下,许多那样的代码是我写的).JavaScript拥有函数式编程的特性 ...

  4. vs插件ZunKoIDE

    →〇,配置: vs →壹,默认背景图路径 C:\Users\{用户名}\AppData\Local\Microsoft\VisualStudio\14.0\Extensions\gqyswd1b.dv ...

  5. 【Matlab】特征值

    特征值 clc;clear; %[V,D]=eig(A) //求取特征值 A=[ 1 2 4; 4 0 7; 9 1 3 ]; [V,D]=eig(A) 结果如下: 求解特征值与特征向量时矩阵必须是方 ...

  6. REDHAT一总复习1 输出重定向及head tail的用法

    1.使用bash命令,在server机上完成以下任务.(考点是:head  tail的使用) .显示/usr/bin/clean-binary-files文件的前12行,并将其输出到/home/stu ...

  7. R语言:ggplot2精细化绘图——以实用商业化图表绘图为例

    本文版权归http://www.cnblogs.com/weibaar 本文旨在介绍R语言中ggplot2包的一些精细化操作,主要适用于对R画图有一定了解,需要更精细化作图的人,尤其是那些刚从exce ...

  8. ObjC运行时部分概念解析(一)

    转型iOS已经许久了,Runtime(运行时)还没有好好了解过.之前没有阅读过源码,紧紧凭借自己的臆测.现在阅读下源码,做一些笔记.方便再次翻阅 SEL SEL是一个关键字,如果没有涉及runtime ...

  9. N皇后问题—初级回溯

    N皇后问题,最基础的回溯问题之一,题意简单N*N的正方形格子上放置N个皇后,任意两个皇后不能出现在同一条直线或者斜线上,求不同N对应的解. 提要:N>13时,数量庞大,初级回溯只能保证在N< ...

  10. C#string类型总结

    字符串的特性:不可变性,每对字符串做拼接或者重新赋值之类的操作,都会在内存中产生一个新的实例.  所以说,在.Net平台下,如果你对一个字符串进行大量的拼接赋值等操作,会产生大量的垃圾.    --- ...