centos系统中perl进程病毒占用大量网络流量导致网络瘫痪的问题分析及解决方案
故障现象:
1.系统在早上9点的时候非常慢,单台服务器占用流量很大,使交换机流量被占满,而连累挂在同一交换机上的其他应用也无法提供服务,或者速度非常慢
2.通过查看进程发现大量的perl程序占用了大量的CPU,并且无法被kill掉
3.通过查看网络设备的监控,发现网络带宽在8点20分左右被OA服务器所在的交换端口占满,拔掉该OA服务器的网线,网络恢复正常,重新插上系统瘫痪,可以断定问题出在该服务器上
4.重启系统后恢复正常
防火墙日志
流量走势
临时解决办法:
1.将OA系统挂载在单独的交换机上,并且对该交换机连接OA的端口限速,这样可以保证OA不会占用过多的带宽
2.安装安全狗服务器版,找到了部分asp的程序(没有对asp过滤,里面有一句话木马,系统是PHP的)
3.启用硬件防火墙的防DDOS功能
咨询多方专家后给出的解决方案如下:
1.针对系统做优化(这样可以抵御少量的攻击)
2.够买专业的防火墙设备
3.把系统迁移到云服务器上,用云来清洗流量
4.在系统发生故障时抓包,对包进行分析
# tcpdump -i em1 -w > /tmp/em120160317
5.使用nethops进行流量定位,找到引发流量对应的程序
# yum -y install nethogs
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: ftp.sjtu.edu.cn
* updates: ftp.isu.edu.tw
Setting up Install Process
No package nethogs available.
Error: Nothing to do
# yum install epel-release -y
# nethops em1
真实的解决方法:
通过咨询其他同事,之前在北京的应用windows系统碰到类似的情况,是病毒引起的,杀毒后解决了问题,但当时可能被杀毒软件误删了操作系统文件,需要谨慎
后来搜索了下还真有linux下的杀毒软件
此次我们选择了nod32 linux x64版进行杀毒,查杀出了恶意木马,经过几天的观察发现没有再次出现服务器大量带宽被占用的情况,该问题暂时得到缓解
为什么选nod32,是因为之前在上一家公司任职的时候也碰到类似2003系统占用大量带宽使公司员工都上不了网的情况,用nod32杀掉蠕虫后解决问题
具体安装步骤,请参考前面的博文:
centos系统安装nod32杀毒软件并通过xmanager进行远程管理
安装需要输入用户名及注册码,输入后并升级到最新版本的病毒库
通过安装nod32 linux 64位版,升级病毒库以后,确实干掉了进程中出现的perl脚步,并且运行的用户也对上了,该事件暂告一段落
注意:
需要测试,不要直接在服务器运行,中间碰到了很多问题,测试的时候没有碰到类似问题(硬件不一样,测试环境是联想的PC,生产环境的服务器是dellr720,这个需要引起注意,下班后操作,并且需要做好备机,避免出现致命问题能及时恢复)