阿里云服务器告警提示挖矿,怎么办

前言

最近我们团队为了研究数据湖相关的技术,在阿里云服务中购买了云服务器,但是突然被告警提示被挖矿,而且要在一定期限内解决挖矿问题,否则就会被关停服务。

本篇记录了我们处理挖矿告警的过程,仅供参考。

一、服务器为什么会被告警挖矿?

云服务器中被恶意安装了脚本,然后脚本运行占用了大量的cpu 和内存,触发了云服务器监控的告警;

点击“详情”查看:

这里就可以看到挖矿程序的路径:/var/tmp/.22/mine

二、如何查找和删除挖矿程序?

挖矿行为需要强大的算力支持,所以其一定会占用大量的cpu 资源,所以我们以此关键点展开检查使用cpu资源较高的进程。

1.top命令查看进程cpu占用情况

top

cpu 占用越多,该进程是挖矿进程的可能性越大,可以清楚的看到有进程竟然将cpu 的占用率达到了100%

 

2.通过pid进程号查找改程序所在目录

提示{pid} top 命令 第一列对应的PID

 ls -l /proc/{pid}| grep exe

 

这里可以清楚的看到改进程脚本所在的目录;

怀疑该目录(.22)下所有文件都为恶意挖矿程序,因为含有initinit.d这样的文件,这些明显为开机自启动程序。

 

3. 强制删除脚本文件或者目录

rm  -f  文件的路径

 

4. 强制杀死挖矿进程

kill -9  {pid}

通过以上步骤,我们已经删掉了脚本文件,并且杀死了进程,此时cpu 的占用应该会显著下降,可以使用top 命令在观察下;

 

5. 检查是否有脚本的定时任务

防止定时有挖矿的定时任务存在;

5.1 检查定时任务是否开启:

systemctl status crond

 

5.2 查看存在的任务:

可以到/var/log目录中查看下日志。

grep  文件目录   *

发现cron定时任务日志中使用hadoop用户每一分钟执行一次/var/tmp/.22/auto文件。

 

1)首先检查root用户

crontab  -l

(2)然后检查hadoop用户。

crontab  -l

如果发现有可疑的任务 则编辑删掉任务(记得看下这个脚本的位置将脚本也一起删掉):

 vi  /etc/crontab

然后重新加载任务:

/bin/systemctl restart crond

 

6. 检查是否被创建了其它用户

cat /etc/passwd

如果发现被创建了用户则进行删除:

删除用户和用户组:其中 username 是需要删除的用户的用户名

userdel -r username && groupdel username

 

7. 开启服务器防火墙

关闭防火墙端口可能会导致系统暴露在网络攻击的风险之下。

(1)开启防火墙

systemctl start firewalld ;

(2)查看防火墙状态
systemctl status firewalld ;

 

对于需要开放和关闭端口,通过命令手动添加:

--开放端口

firewall-cmd --zone=public --add-port=端口/tcp --permanent ;

firewall-cmd --reload ;

--关闭端口

firewall-cmd --zone=public --remove-port=端口/tcp --permanent;

firewall-cmd --reload ;

 

8. 登录阿里云的后端在云安全中心处理告警事件

当出现挖矿事件时,云安全中心会产生挖矿程序的告警事件,在这个列表下单击操作列的处理,完成处理。

posted @ 2024-01-18 14:22  业余砖家  阅读(3364)  评论(0编辑  收藏  举报