前两天突然接到一封邮件,说我的另外一台VPS CPU内存占用100%超过了12小时,直接把VPS主机给强行关机了。我当时正在备考就没注意,以为是遭到攻击。
等到今日登录VPS才发现是某个进程占用了过多的CPU,VPS资源都被挤爆了。
我想着我的VPS上面没有JAVA的程序呀,然后查看程序目录,发现他在
/var/tmp/.cache/java
目录下面,得。中挖矿了。。。。
cd /var/tmp/.cache
ls
a bash.pid cron.d dir.dir h32 h64 java run upd x
进行下列操作。
排查问题,首先使用 top 命令查看占用资源的进程
然后使用命令 ls -l /proc//exe 来查看该进程是由哪个文件启动
杀死该进程(可能无效,需要在删除定时任务后再次进行此操作)
删除对应的定时任务
删除对应的文件,文件夹
排查入侵点
从VPS监控得知,黑客的挖矿程序是从11月8日1:45分左右开始运行。我们就查看相应的日志
通过查询,发现异常登录成功的IP地址
[root@FileSer .cache]# grep 'Accepted' /var/log/messages-20241108
Nov 5 22:37:11 FileSer sshd[84838]: Accepted password for root from 45.183.247.34 port 55988 ssh2
Nov 7 21:54:11 FileSer sshd[99054]: Accepted password for root from 113.98.201.248 port 58146 ssh2
Nov 7 21:54:13 FileSer sshd[99111]: Accepted password for root from 113.98.201.248 port 58162 ssh2
Nov 8 01:44:15 FileSer sshd[100481]: Accepted password for root from 113.98.201.248 port 36422 ssh2
Nov 8 01:44:17 FileSer sshd[100538]: Accepted password for root from 113.98.201.248 port 36432 ssh2
Nov 8 01:57:56 FileSer sshd[100691]: Accepted password for root from 113.98.201.248 port 37822 ssh2
Nov 8 01:58:03 FileSer sshd[100748]: Accepted password for root from 113.98.201.248 port 37836 ssh2
Nov 8 02:13:16 FileSer sshd[101011]: Accepted password for root from 113.98.201.248 port 44466 ssh2
得,是被境内的IP攻陷的。
我这台主机迁移后重装系统,就安装了一个Nginx静态页面,没有其他业务。想起这台主机的密码被我设置成huawei123这个弱口令忘记改了。阴沟翻船。。。
主要是我的SSH端口还改成了12333这种非知名端口,放松了警惕导致机器沦陷。给我上了一课。。。。