记一次Ubuntu服务器被黑经历

起因

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

(0)

相关推荐

  • linux服务器系统CentOS、uBuntu、Gentoo、FreeBSD、Debian的比较

    官网:http://www.centos.org/ CentOS其实是Redhat的内核,感觉是会成熟稳定一点,相比旧Redhat,他多了一个yum的命令,学Debian一样自动安装软件:但我感觉CentOS的可以Yum的东西相比Debian或Ubuntu,实在太少了:CentOS游走在年轻与成熟之间,它比Ubuntu更注重安全性,你看他的CentOS5.0默认一装好就自带并打开防火墙就知道:而且有一个叫SELinux的东东在里面,让不同的程序之间权限有所限制,这也是我装CentOS一些软件经常

  • 获取服务器信息的Shell脚本分享(ubuntu、centos测试通过)

    此脚本已经在ubuntu以及centos版本上测试通过,脚本如下: 复制代码 代码如下: #!/bin/bash Line='===========' #linux发行版名称 if [[ -f /usr/bin/lsb_release ]]; then OS=$(/usr/bin/lsb_release -a |grep Description |awk -F : '{print $2}' |sed 's/^[ \t]*//g') else OS=$(cat /etc/issue |sed -n

  • linux服务器用centos还是ubuntu系统

    linux服务器系统多使用CentOS.uBuntu.Gentoo.FreeBSD.Debian. 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS ,CENTOS现在市场占有率第一了 [小议]centos与ubuntu的区别 CentOS(Community ENTerprise Operating System)是Linux发行版之一,它是来自于Red Hat Enterprise Linux依照开放源代码规定释出的源代码所编译而成.由于出自同样的源代码,因此有些要求高

  • 在Ubuntu系统上安装Nginx服务器的简单方法

    安装 Nginx sudo apt-get install nginx 如果你安装了 Apache ,并且此时 Apache 在运行,那么请先修改一下配置文件(没有的同学直接跳过): #打开配置文件 sudo vim /etc/nginx/sites-available/default 然后按以下两处修改(为了不和 Apache 冲突): server { #修改这里 我将 80 改为 88 listen 88 default_server; #还有这里 同样改为你想要的监听端口 listen

  • 在ubuntu中重置mysql服务器root密码的方法

    首先停止mysql服务: 复制代码 代码如下: root@webserver:/home/webmaster# service mysql stop 接着采用忽略密码认证模式重新创建一个mysql服务: 复制代码 代码如下: root@webserver:/home/webmaster# mysqld --user=mysql --skip-grant-tables --skip-networking & 成功启动后返回PID及其它启动信息 复制代码 代码如下: [1] 3591 root@we

  • ubuntu上配置Nginx+PHP5 FastCGI服务器配置

    首先安装或编译Nginx.安装Nginx源码包可以在官方主页上下载.Ubuntu 9.04可以直接通过apt安装,也可以从这里下载最新的deb包:sudo apt-get install nginx如果要自己编译的话,需要确保自己已经有编译器和PCRE的库(用于Nginx的rewrite模块,如果不需要这个模块可以在configure时使用./configure –without-rewrite).编译方法如下:wget http://sysoev.ru/nginx/nginx-0.5.34.t

  • Ubuntu下配置Tomcat服务器以及设置自动启动的方法

    既然是Ubuntu,那就要利用好"新立得软件包管理器"了. 1.Tomcat需要jdk的支持,所以先说一下jdk的安装,已经安装好了jdk的可以直接看第2条. 1.1安装jdk 在新立得中搜索"sun-java",安装最新的jdk,比如"sun-java6-jdk",然后点击应用就自动安装完成了. 1.2配置jdk环境变量 安装是自动的,但是配置需要自己动手了. 1.2.1修改用户环境变量 $ vi /home/fancy(你的用户名)/.bas

  • 记一次Ubuntu服务器被黑经历

    起因 最近我们的一台Ubuntu阿里云服务器一直提示有肉鸡行为,提示了好几天,开始并没有关注,然后连续几天后发现应该是个大问题啊.很可能服务被侵入了!!! 寻找线索 一开始我是完全懵逼的状态的,Linux不是很熟悉,只会简单的命令,安装部署redis,mongo这些东西.好吧,只能百度Google了! 寻找可疑进程 ps -ef 然而结果看起来一点头绪都没,非常不熟悉Linux底下常见的进程! 寻找相关的Log线索 Linux里有非常的多的日志文件,统一都存放在/var/log底下,这里我想先看

  • Linux服务器被黑以后的详细处理步骤

    随着开源产品的越来越盛行,作为一个Linux运维工程师,能够清晰地鉴别异常机器是否已经被入侵了显得至关重要,个人结合自己的工作经历,整理了几种常见的机器被黑情况供参考 背景信息:以下情况是在CentOS 6.9的系统中查看的,其它Linux发行版类似 1.入侵者可能会删除机器的日志信息,可以查看日志信息是否还存在或者是否被清空,相关命令示例: [<a href="/cdn-cgi/l/email-protection" rel="external nofollow&qu

  • ubuntu服务器上快速部署docker的方法

    最近在学习docker,今天学习了一下ubuntu服务器上快速部署docker,所以,今天添加一点小笔记. 安装curl sudo apt-get install curl 安装docker curl -sSL https://get.daocloud.io/docker | sh 添加非root用户到docker group(这里是ubuntu) sudo usermod -aG docker ubuntu 设置daocloud加速 step1 在www.daocloud.io上注册一个账户

  • 腾讯云ubuntu服务器tomcat访问慢的原因分析及解决方法

    在腾讯云上配了个一元的学生云,开始一切正常,直到配置tomcat开始出现各种莫名其妙的问题.最莫名其妙的是tomcat启动了,端口也 正常监听,安全组也放行端口了,然后问题来了. 用浏览器访问tomcat主页,会发现超级慢,浏览器一直在等待服务器的响应,从这里可以看出能够接入8080端口,但是服务器没有返回数据.(这个问题折腾几天) 后来在网上找了无数资料,终于发现了原因.tomcat8.0在腾讯云ubuntu14.04上有bug. 问题原因: 随机数引起线程阻塞. tomcat不断启动,关闭,

  • Ubuntu服务器下搭建php运行环境的方法

    本文实例讲述了Ubuntu服务器下搭建php运行环境的方法.分享给大家供大家参考,具体如下: 安装 Apache2: sudo apt-get install apache2 安装PHP模块: sudo apt-get install php5 安装Mysql sudo apt-get installmysql-server 其他模块安装: sudo apt-get install libapache2-mod-php5 sudo apt-get installlibapache2-mod-au

  • ubuntu服务器环境下安装python的方法

    本文实例讲述了ubuntu服务器环境下安装python的方法.分享给大家供大家参考,具体如下: ubuntu 14.04 --16.04 版本默认是安装的是python 2.7 1.查看当前python版本 $python --version 2.升级到python3.X版本 $sudo add-apt-repository ppa:fkrull/deadsnakes#添加一个源 $sudo apt-get update#更新源列表,以获取最新的版本 $sudo apt-get install

  • 怎么禁用 Ubuntu 服务器中终端欢迎消息中的广告

    如果你正在使用最新的 Ubuntu 服务器版本,你可能已经注意到欢迎消息中有一些与 Ubuntu 服务器平台无关的促销链接.你可能已经知道 MOTD,即 Message Of The Day 的开头首字母,在 Linux 系统每次登录时都会显示欢迎信息.通常,欢迎消息包含操作系统版本,基本系统信息,官方文档链接以及有关最新安全更新等的链接.这些是我们每次通过 SSH 或本地登录时通常会看到的内容.但是,最近在终端欢迎消息中出现了一些其他链接.我已经几次注意到这些链接,但我并在意,也从未点击过.题

  • Python Web程序部署到Ubuntu服务器上的方法

    在本文记录了我在Ubuntu中部署Flask Web站点的过程, 其中包括用户创建.代码获取.Python3环境的安装.虚拟环境设置.uWSGI启动程序设置,并将Nginx作为前端反向代理.希望对各位有所帮助. 建立一个Python Web程序专用账户 adduser haseo vim /etc/sudoers #将haseo用户加入导sudo用户清单中 sudo usermod -a -G www-data haseo 安装Python3并配置程序运行环境 1.更新Ubuntu的软件库 su

  • ubuntu 服务器中文乱码问题的解决方法

    之前买了阿里云的服务器,后来在上面编辑中文字符的时候发现乱码,在网上找了下解决方案,发现比较乱,有的也不太好用,特此整理了一下可用的一个方案. 检查 检查是否已经安装了中文包支持.终端输入: sudo dpkg -l 查看是否安装了中文支持( language-pack-zh )的软件包. 安装 没有安装,那就终端执行命令 : apt-get install language-pack-zh 配置语言环境变量 vim /etc/environment 在下面添加如下两行: LANG="zh_CN

  • 记一次Centos服务器被挂马的抓马经历

    今天早上五点,收到监控宝的警告短信,说是网站M无法访问了.睡的正香,再说网站所在系统是centos,重要数据每天都备份,应该很安全,也没有在意.倒头接着睡觉去了. 早上九点,机房负责人直接给我打来电话,说是全机房网络巨慢,单位的所有网站都打不开或打开的很慢.Centos服务器被挂马的一次抓马经历. 我赶紧赶了过去,查看了一下那里网络,发现175服务总是以50M/S速度向外发包,而175服务器正是网站M所在的服务器. 果断SSH连接175服务器,发现175服务器连接也很慢,连上之后top一下,查看

随机推荐