Oracle 服务器中挖矿病毒怎么办?安全排查与全流程清理指南
最近看到不少朋友在抱怨,明明没跑什么重活,自己的 Oracle Cloud(甲骨文云)服务器 CPU 却常年 100% 占用。一查进程好家伙,全是莫名其妙的陌生脚本在跑——恭喜你,中招了,被种了挖矿木马。
其实甲骨文因为资源免费(或极其便宜),再加上很多用户默认的安全配置比较松懈,早就成了脚本小子们的重点扫描对象。既然事儿已经出了,光骂黑客没用,咱们得赶紧想办法止损并查漏补缺。
服务器中挖矿木马后 CPU 占用通常飙升至 100%
今天这篇不长篇大论讲原理,直接上干货,分三步走:止损、清理、加固。
第一步:紧急止损,切断连接
当你发现服务器异常时,第一反应不是去查这是什么病毒,而是先切断它和外界的联系。
- 暂停实例:这是最快的方法,直接在甲骨文控制台把实例暂停(Stop)。这一步能立刻停止挖矿进程,防止继续消耗配额产生潜在费用(虽然甲骨文免费层比较稳,但被用来做 DDoS 跳板就不好玩了)。
- 进入 VPS 控制台:不要用 SSH 连接,直接用网页版的 VNC Console 串口进去。因为很多高等级的挖矿病毒会篡改 SSH 配置或者连接,直接连可能会触发后门。
第二步:查杀进程与可疑文件
连上去之后,别急着删除,先摸清底细。
1. 查找高 CPU 占用进程
输入 top 命令,按 c 查看完整命令行。通常挖矿进程名字伪装得很隐蔽,比如叫 [kdevtmpfsi]、[sysupdate]、xmrig 或者干脆就是一个乱码文件。记下 PID 和进程启动的路径。
使用 top 命令查看占用 CPU 较高的可疑进程
如果 top 看着眼花缭乱,可以用 htop(如果没有先安装 yum install htop 或 apt install htop),界面更友好。
2. 强制结束进程
找到 PID 后,使用 kill -9 <PID> 结束它。如果一杀掉它立马又自动复活(守护进程在搞鬼),那就需要先找到父进程。用 ps -ef | grep <可疑名字> 查看谁生成了它,把父进程也一起干掉。
3. 清理定时任务(重中之重)
很多新手只杀了进程,过几分钟 CPU 又爆了。原因通常在 Cron 里。
检查这些地方:
crontab -l(查看当前用户的定时任务)cat /etc/crontabls /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 资源免费送给别人啦!

评论已关闭