😱😱😱CPU和内存飙到100%——我的火山引擎服务器被印度的ip恶意植入挖矿程序了!😡😡😡

发现问题

  • 笔者的阿里云服务器快到期了,前段时间买了一个火山引擎服务器
  • 除此之外,笔者也用腾讯云服务器
  • 三家云服务器供应商都挺不错,各有千秋
  • 今天,笔者忽然发现自己的火山引擎服务挂了
  • 试试winscp远程登录不行,使用火山引擎自带的ECS Terminal也不行
  • 重启服务器也不行
  • 各种尝试都不行,没办法只能提交一个工单

售后极速响应

  • 不得不说,火山引擎服务器的售后是真的给力
  • 工单提交后,不到一分钟,立马响应
  • 售后工程师看了一下,说是我的服务器CPU和内存打满了
  • 想想也是,没资源空间使用了,自然无法远程登录
  • 不过,我的火山引擎服务器并没有跑太多服务
  • 怎么可能会让CPU和内存飙到100%呢?
  • 更何况,4核8G的配置,也勉强凑合够用了
  • 这是为何?

猛然间,一个可怕的念头,在我脑海中浮现😱😱😱

我的服务器被挖矿了!!!😡😡😡

先关机,再开机,极速登录,htop命令查看CPU明细

  • 但是,我无法登录,没法操作
  • 这可不行
  • 忽然我灵机一动,我可以先关机再开机
  • 在开机的一瞬间,使用ECS Terminal登录上去
  • 果然,可行!
  • 然后执行 htop 命令,查看一下

删除不掉的挖矿程序文件

  • 上图中,发现问题出现在/user/lib/updated/文件夹
  • 想了想这个文件夹有古怪
  • 其中有如下的文件
  • 挖矿软件程序文件一般都不太好删除掉,或者删除不干净,如下:
  • 挖矿的核心程序是 dhcpi 的二进制文件
  • 此文件通过 config 文件,把结果给到对应的 挖矿池

挖矿配置文件分析(印度 卡纳塔克邦班加罗尔DigitalOcean数据中心的挖矿ip)

  • 笔者打开/user/lib/updated/config.json文件
  • 看到了,对应信息确定了,就是一个挖矿程序软件文件
  • 首先config.json 中包含 randomx(一种加密货币挖矿算法)、cpu.enabled: true 等挖矿相关配置
  • 然后,明确指向了矿池ip地址 139.59.2.141:3333 和矿工账号 Rinho.288000
  • 并且,包含显卡挖矿(OpenCL/CUDA)的配置选项
  • 再一个,挖矿程序dhcpi伪装成 DHCP,但实际是静态编译的 ELF 可执行文件
  • 占用极高 CPU ,符合挖矿程序的行为特征,安装路径 /usr/lib/updated/ 也不是系统标准路径

笔者查了一下ip: 139.59.2.141 是印度的 😡😡😡

可惜,笔者不太会黑客技术,要不然非得攻击这个ip不可

js 复制代码
{
    "api": {
        "id": null,
        "worker-id": null
    },
    "http": {
        "enabled": false,
        "host": "127.0.0.1",
        "port": 0,
        "access-token": null,
        "restricted": true
    },
    "autosave": true,
    "background": false,
    "colors": true,
    "title": true,
    "randomx": {
        "init": -1,
        "init-avx2": -1,
        "mode": "auto",
        "1gb-pages": false,
        "rdmsr": true,
        "wrmsr": true,
        "cache_qos": false,
        "numa": true,
        "scratchpad_prefetch_mode": 1
    },
    "cpu": {
        "enabled": true,
        "huge-pages": true,
        "huge-pages-jit": false,
        "hw-aes": null,
        "priority": null,
        "memory-pool": false,
        "yield": true,
        "max-threads-hint": 100,
        "asm": true,
        "argon2-impl": null,
        "cn/0": false,
        "cn-lite/0": false
    },
    "opencl": {
        "enabled": false,
        "cache": true,
        "loader": null,
        "platform": "AMD",
        "adl": true,
        "cn/0": false,
        "cn-lite/0": false
    },
    "cuda": {
        "enabled": false,
        "loader": null,
        "nvml": true,
        "cn/0": false,
        "cn-lite/0": false
    },
    "donate-level": 0,
    "donate-over-proxy": 0,
    "log-file": null,
    "pools": [
        {
            "algo":"rx/0",
            "coin": null,
            "url": "139.59.2.141:3333",
            "user": "Rinho.288000",
            "pass": "NewHeaven",
            "rig-id": null,
            "nicehash": false,
            "keepalive": false,
            "enabled": true,
            "tls": false,
            "tls-fingerprint": null,
            "daemon": false,
            "socks5": null,
            "self-select": null,
            "submit-to-origin": false
        }
    ],
    "print-time": 60,
    "health-print-time": 60,
    "dmi": true,
    "retries": 5,
    "retry-pause": 5,
    "syslog": false,
    "tls": {
        "enabled": false,
        "protocols": null,
        "cert": null,
        "cert_key": null,
        "ciphers": null,
        "ciphersuites": null,
        "dhparam": null
    },
    "dns": {
        "ipv6": false,
        "ttl": 30
    },
    "user-agent": null,
    "verbose": 0,
    "watch": true,
    "pause-on-battery": false,
    "pause-on-active": false
}

植入挖矿软件的解决方案------重装系统

  • 各种尝试,的确不太行,后来删除了,但是删不干净
  • 最终只能重装系统了
  • 不过,火山引擎也有对方的方案
  • 快照备份后,并没有丢失太多东西
  • 最终问题解决
  • 不过还是要反思一下

原因:笔者的这个云服务器,纯属于新买的,没做什么配置,没上什么防护策略....

如何避免自己的云服务器被挖矿

一、基础安全加固

1. 及时更新系统补丁

挖矿程序常利用系统漏洞入侵,需定期更新系统:

bash

bash 复制代码
# Ubuntu/Debian 系统
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL 系统
sudo yum update -y

2. 禁用不必要的服务和端口

关闭非必需的端口(如默认远程端口 22 可改为自定义端口),减少攻击面:

bash

bash 复制代码
# 查看当前开放的端口
sudo netstat -tulpn

# 关闭不必要的服务(以ftp为例)
sudo systemctl stop vsftpd
sudo systemctl disable vsftpd

# 修改SSH默认端口(编辑配置文件)
sudo vim /etc/ssh/sshd_config
# 将 Port 22 改为自定义端口(如2022),保存后重启SSH服务
sudo systemctl restart sshd  # Ubuntu/Debian
# 或
sudo systemctl restart sshd.service  # CentOS

二、强化账号与权限管理

1. 禁用 root 直接登录,使用普通用户 sudo

挖矿程序常尝试暴力破解 root 账号,建议禁用 root 直接登录:

bash

bash 复制代码
# 编辑SSH配置
sudo vim /etc/ssh/sshd_config
# 改为:PermitRootLogin no
# 保存后重启SSH服务
sudo systemctl restart sshd

创建普通用户并授权 sudo:

bash

bash 复制代码
sudo adduser secure_user  # 创建用户
sudo usermod -aG sudo secure_user  # 授权sudo权限

2. 设置强密码策略

避免弱密码被暴力破解:

bash

ini 复制代码
# 安装密码强度检查工具
sudo apt install libpam-cracklib -y  # Ubuntu/Debian
# 或
sudo yum install cracklib -y  # CentOS

# 编辑PAM配置,强制密码复杂度
sudo vim /etc/pam.d/common-password
# 添加以下行(要求密码至少8位,包含大小写、数字和特殊字符)
password    requisite    pam_cracklib.so minlen=8 ucredit=-1 lcredit=-1 dcredit=-1 ocredit=-1

三、限制异常进程与资源占用

1. 监控 CPU / 内存 / 网络异常占用

挖矿程序通常会占用大量 CPU 和网络资源,可通过工具实时监控:

bash

bash 复制代码
# 安装监控工具
sudo apt install htop nethogs -y  # Ubuntu/Debian

# 实时查看进程CPU占用(按P排序)
htop

# 查看进程网络占用(按流量排序)
sudo nethogs

若发现陌生高占用进程(如kdevtmpfsiminerd等挖矿进程),立即终止并删除:

bash

bash 复制代码
sudo kill -9 <进程ID>  # 终止进程
sudo rm -rf /path/to/malicious/file  # 删除文件

四、安装防火墙与入侵检测

1. 配置 UFW 防火墙(Ubuntu 默认)

只开放必要端口(如 SSH、HTTP 等):

bash

bash 复制代码
# 启用防火墙
sudo ufw enable

# 允许SSH端口(以2022为例)
sudo ufw allow 2022/tcp

# 允许HTTP/HTTPS(如需)
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# 查看规则
sudo ufw status

2. 安装入侵检测工具(如 Fail2ban)

自动封禁多次失败登录的 IP(补充之前的 SSH 锁定配置):

bash

ini 复制代码
# 安装Fail2ban
sudo apt install fail2ban -y  # Ubuntu/Debian

# 配置SSH防护(复制默认配置)
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo vim /etc/fail2ban/jail.local

# 找到[sshd]部分,修改如下:
[sshd]
enabled = true
port = 2022  # 改为你的SSH端口
maxretry = 3  # 失败3次
bantime = 300  # 封禁5分钟

# 重启Fail2ban
sudo systemctl restart fail2ban

五、其他其他注意事项

  1. 禁止未授权的 SSH 密钥登录 :定期检查~/.ssh/authorized_keys,删除陌生密钥。
  2. 避免使用明文密码存储:不将密码写在脚本或配置文件中,优先使用密钥登录。
  3. 定期备份系统 :使用rsync或云服务商快照功能,被入侵后可快速恢复。
  4. 警惕第三方软件:只从官方源安装软件,避免下载未知脚本或压缩包(挖矿程序常伪装成工具包)。

通过以上步骤,可大幅降低服务器被挖矿程序入侵的风险。若发现异常,建议立即隔离服务器并检查日志(如/var/log/auth.log/var/log/syslog)排查入侵来源。

A good memory is better than a bad pen. Record it down...

相关推荐
专注VB编程开发20年2 小时前
用ADO操作EXCEL文件创建表格,删除表格CREATE TABLE,DROP TABLE
服务器·windows·excel·ado·创建表格·删除表格·读写xlsx
wanhengidc2 小时前
DDOS攻击和CC攻击对服务器的伤害有哪些?
运维·服务器·ddos
gnawkhhkwang2 小时前
Linux 调度器函数sched_*系统调用及示例
linux·服务器
春时似衿里2 小时前
【Navicat 连接MySQL时出现错误1251:客户端不支持服务器请求的身份验证协议;请考虑升级MySQL客户端】
服务器·数据库·mysql
上海云盾商务经理杨杨3 小时前
2025年服务器僵尸攻防战:从AI勒索到量子免疫,构建下一代“数字抗体”
运维·服务器·人工智能
科大饭桶3 小时前
Linux系统编程Day5 -- Vim工具的使用
linux·运维·服务器·c语言·c++
XR101yqm12213 小时前
川翔云电脑:引领开启算力无边界时代
服务器·网络·云计算
I'm a winner3 小时前
基于 Ubuntu 的 Linux 系统中 Vivado 2020.1 下载安装教程
linux·ubuntu·fpga开发
风车带走过往3 小时前
centos通过DockerCompose搭建开源MediaCMS
linux·开源·centos