动态

详情 返回 返回

😱😱😱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不可
{
    "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

# Ubuntu/Debian 系統
sudo apt update && sudo apt upgrade -y

# CentOS/RHEL 系統
sudo yum update -y

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

關閉非必需的端口(如默認遠程端口 22 可改為自定義端口),減少攻擊面:

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

# 編輯SSH配置
sudo vim /etc/ssh/sshd_config
# 改為:PermitRootLogin no
# 保存後重啓SSH服務
sudo systemctl restart sshd

創建普通用户並授權 sudo:

bash

sudo adduser secure_user  # 創建用户
sudo usermod -aG sudo secure_user  # 授權sudo權限

2. 設置強密碼策略

避免弱密碼被暴力破解:

bash

# 安裝密碼強度檢查工具
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

# 安裝監控工具
sudo apt install htop nethogs -y  # Ubuntu/Debian

# 實時查看進程CPU佔用(按P排序)
htop

# 查看進程網絡佔用(按流量排序)
sudo nethogs

若發現陌生高佔用進程(如kdevtmpfsiminerd等挖礦進程),立即終止並刪除:

bash

sudo kill -9 <進程ID>  # 終止進程
sudo rm -rf /path/to/malicious/file  # 刪除文件

四、安裝防火牆與入侵檢測

1. 配置 UFW 防火牆(Ubuntu 默認)

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

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

# 安裝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...
user avatar tianmiaogongzuoshi_5ca47d59bef41 头像 rustfs 头像 happy2332333 头像 cloudyttt 头像 lovehx_58bc3f5518bf4 头像 shawnphang 头像 pengloo53 头像 populus 头像 _6901c0fb92647 头像
点赞 9 用户, 点赞了这篇动态!
点赞

Add a new 评论

Some HTML is okay.