记一次linux系统进程资源被耗尽的事件

1.问题背景

在开发调试时,发现进程fork失败,正常指令如ls也执行失败。

ps查看,多出 很多sh进程和tail进程,每个都有两百多个,总共四百多个进程:

sh -c while [ -d /proc/$PPID ]; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /pro

sh -c while [ -d /proc/$PPID ]; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /pro

...

sh -c while [ -d /proc/$PPID ]; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /pro

tail -v -n 16 /proc/net/dev

tail -v -n 16 /proc/net/dev

...

tail -v -n 16 /proc/net/dev

这个问题会导致业务中断,且不可恢复,属于极度严重的问题,必须马上定位消除。

2.问题排查

1)花了大量时间,仔细分析系统上所有的脚本和可能调用脚本的代码,都没有发现有调用这两个指令的 -- 由此排除自身代码问题

2)开始怀疑是病毒注入,于是开始查找其原始父进程PPID

发现sh指令都是由dropbear -p 22 这个进程拉起的。

进一步分析,发现

sh -c while [ -d /proc/$PPID ]; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /pro

tail -v -n 16 /proc/net/dev

都是获取系统资源情况的,比如系统内存总量,剩余内存,缓存,内核版本,网口流量这些信息,再结合拉起这个指令的是dropbear -p 22(dropbear是ssh服务器22是ssh默认端口),到此可以确定:

有不明ssh 客户端连接到了系统,并且在不断监视系统资源信息,看着不像是病毒,有点hacker的味道了

3)分析所有能连接到系统的ssh客户端,设备处于内网,不可能有远程ssh连接,那只能是本地ssh的连接了

内网ssh连接,最直接的就是自己使用的mobaXterm

果然在mobaXterm最下面有监控系统资源的界面

4)验证:

关掉mobaXterm的remote monitoring,sh进程和tail进程消失

停掉mobaXterm,改用其他软件连接系统,sh进程和tail进程消失

3.结论

sh -c while [ -d /proc/$PPID ]; do sleep 1;head -v -n 8 /proc/meminfo; head -v -n 2 /proc/stat /proc/version /pro

tail -v -n 16 /proc/net/dev

这四百多个进程是mobaXterm连接系统后创建的,目的是为了获取系统资源情况。

使用的mobaXterm版本

但是暂时不知道mobaXterm为什么会创建多个重复进程,可能是mobaXterm的一个BUG

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值