1、背景linux
晚上看到有台服务器流量跑的很高,明显和日常不同,流量达到了800Mbps,第一感受应该是中***了,被人当作nginx
肉鸡了,在大量发包。安全
咱们的服务器为了最好性能,防火墙(iptables)什么的都没有开启,可是服务器前面有物理防火墙,并且机器都是作服务器
的端口映射,也不是常见的端口,按理来讲应该是满安全的,可能最近和***有缘吧,总是让我遇到,也趁此次机会把ssh
发现过程记录一下。ide
2、发现并追踪处理性能
一、查看流量图发现问题spa
查看的时候网页很是卡,有的时候甚至没有响应3d
二、top动态查看进程日志
我立刻远程登陆出问题的服务器,远程操做很卡,网卡出去的流量很是大,经过top发现了一个异常的进程占用资源
比较高,名字不仔细看还真觉得是一个Web服务进程。
三、ps命令查看进程的路径
发现这个程序文件在/etc目录下面,是个二进制文件。
四、结束异常进程并继续追踪
killall -9 nginx1 rm -f /etc/nginx1
干掉进程以后,流量马上下来了,远程也不卡顿了,难道删掉程序文件,干掉异常进程咱们就认为处理完成了么?想
想也确定没那么简单的,这个是***啊,确定还会本身生成程序文件(果真不出我所料,在我没有搞清楚以前,后面确
实又生成了)咱们得继续追查。
五、查看登陆记录及日志文件secure
经过命令last查看帐户登陆记录,一切正常。查看系统文件message并无发现什么,可是当我查看secure文件的时候
发现有些异常,反正是和认证有关的,应该是尝试连进来控制发包?
六、再次ps查看进程
其实第一次ps的时候就有这个问题,那时候没有发现,第二次是仔细查看每一个进程,仔细寻找不太正常的进程,发现了一个奇怪的ps进程。
找了台正常的机器,查看了一下ps命令的大小,正常的大约是81KB,而后这台机器上面的ps却高达1.2M,命令文件确定是被替换了。
七、更多异常文件的发现
查看定时任务文件crontab并无发现什么一次,而后查看系统启动文件rc.local,也没有什么异常,而后进
入/etc/init.d目录查看,发现比较奇怪的脚本文件DbSecuritySpt、selinux。
第一个文件能够看出他就是开机启动那个异常文件,第二个应该和登陆有关。
既然和登陆有关,那就找和ssh相关的,找到了下面的一个文件,是隐藏文件,这个也是***文件,咱们先记录下俩,这样程序名字都和咱们的服务名字很相近,就是为了迷惑咱们,他们的大小都是1.2M,他们有多是一个文件。
我又看了一下***喜欢出现的目录/tmp,也发现了异常文件,从名字上感受好像是监控***程序的。
3、***手动清除
如今综合总结了大概步骤以下:
一、简单判断有无***
#有无下列文件 cat /etc/rc.d/init.d/selinux cat /etc/rc.d/init.d/DbSecuritySpt ls /usr/bin/bsd-port ls /usr/bin/dpkgd #查看大小是否正常 ls -lh /bin/netstat ls -lh /bin/ps ls -lh /usr/sbin/lsof ls -lh /usr/sbin/ss
二、上传以下命令到/root下
ps netstat ss lsof
三、删除以下目录及文件
rm -rf /usr/bin/dpkgd (ps netstat lsof ss) rm -rf /usr/bin/bsd-port #***程序 rm -f /usr/bin/.sshd #***后门 rm -f /tmp/gates.lod rm -f /tmp/moni.lod rm -f /etc/rc.d/init.d/DbSecuritySpt(启动上述描述的那些***变种程序) rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt rm -f /etc/rc.d/init.d/selinux(默认是启动/usr/bin/bsd-port/getty) rm -f /etc/rc.d/rc1.d/S99selinux rm -f /etc/rc.d/rc2.d/S99selinux rm -f /etc/rc.d/rc3.d/S99selinux rm -f /etc/rc.d/rc4.d/S99selinux rm -f /etc/rc.d/rc5.d/S99selinux
四、找出异常程序并杀死
五、删除含***命令并从新安装(或者把上传的正常程序复制过去也行)
我本身从新安装好像不行,我是找的正常的机器复制的命令。
#ps /root/chattr -i -a /bin/ps && rm /bin/ps -f yum reinstall procps -y 或 cp /root/ps /bin #netstat /root/chattr -i -a /bin/netstat && rm /bin/netstat -f yum reinstall net-tools -y 或 cp /root/netstat /bin #lsof /root/chattr -i -a /bin/lsof && rm /usr/sbin/lsof -f yum reinstall lsof -y 或 cp /root/lsof /usr/sbin #ss /root/chattr -i -a /usr/sbin/ss && rm /usr/sbin/ss -f yum -y reinstall iproute 或 cp /root/ss /usr/sbin
本文出自 “zpp” 博客,请务必保留此出处http://1439337369.blog.51cto.com/10270624/1931437