有站长问我:服务器最近特别卡,CPU一直100%,网站打开慢得离谱,跑top一看有个叫kworker或者java的进程占了90%多的CPU,名字看着挺正经,kill了过一会又出来。这描述太典型了,基本可以断定:中挖矿木马了。
挖矿木马是近几年最烦人的一类入侵。它不像勒索病毒那样敲诈你,而是悄悄占用你的CPU挖虚拟币,把算力偷走去换钱。你损失的是性能、电费和带宽,它赚的是白来的币。因为不声不响,很多站长是收到云厂商的告警或者电费账单才发现。
怎么判断?三个信号:CPU无故长期高占用,特别是单核或者多核飙到90%以上;带宽被占满,网站访问变慢但流量统计又没涨;进程列表里出现奇怪名字,常见的有kworkerds(注意是带d的仿冒名)、xmrig、kinsing、cron里的可疑定时任务。看到这些,基本实锤。
排查分四步。第一步,top和ps抓现行:top -c看CPU排行,ps aux --sort=-%cpu看进程全路径,重点看启动参数里有没有矿池地址,比如stratum+tcp这种协议,这是铁证。第二步,看定时任务:crontab -l和/etc/cron.d、/var/spool/cron下的文件都翻一遍,挖矿木马最爱写个定时任务保证自己复活。第三步,查启动项:/etc/rc.local、systemd的service文件、/root/.bashrc和/etc/profile,很多木马靠这些开机自启。第四步,找入口:查最近的登录记录last、查Web日志里有没有上传webshell的痕迹、查开放的端口netstat -tlnp。
清除的顺序有讲究,别先kill进程,先断掉它的复活通道。正确顺序:先删定时任务,再删启动项,然后kill进程,最后删掉木马文件本体(一般在/tmp、/var/tmp、/usr/lib下,名字随机)。少删一步,重启就复活。
清完之后必须加固,不然第二天还会回来。改掉所有弱密码,特别是SSH密码和数据库密码,这两个是最常见的突破口;SSH禁止root直接登录、改端口、开密钥登录;不用的端口全关掉,只留80、443和必要端口;Web目录权限收紧,上传目录禁止执行脚本;装个云锁或者宝塔的防爆破插件,盯着登录日志。
最后说句实在话:挖矿木马清不干净的例子太多了,根因就是服务器上留了漏洞入口。如果自己排查两个小时还没找到入口,最省心的方案是:备份数据,重装系统,换一套强密码,然后只装必要软件。重装治标也治本,比跟木马捉迷藏划算。
还木有评论哦,快来抢沙发吧~