IT 邦德

一觉醒来,国产数据库云服务器被挖矿、勒索!

1.盘点事故

一觉醒来,朋友反馈,新上线的国产数据库云服务器被挖矿、勒索!,CPU的占用达到了90%左右,根据朋友反馈得知,他昨天才做过数据库巡检,我第一反应就是,服务器应该是被挖矿!

Image

同时朋友的邮箱也收到了被勒索的邮件!

Image

此时登陆到数据库发现,数据库尽然都被改名字了,原来的库名叫reportdb,现在变成了restoredb,真是让人吐血!

Image

2.故障处理

2.1.干掉挖矿程序

由于服务器密码设置的很简单,ssh的端口使用的默认端口22,这样就很容易被别人暴力破解了

find /var/log -name 'secure*' 
-type f | while read line;do awk '/Failed/{print $(NF-3)}' 
$line;done | awk '{a[$0]++}END{for (j in a) if(a[j] > 20) 
print j"="a[j]}'
 | sort -n -t'=' -k 2

接下来就干掉这个挖矿程序,用ssh远程链接到服务器后,首先用top和htop分别看了下CPU占用,并且找到这个进程

Image

找到挖矿程序的pid 进入这个进程的目录 找一下文件位置

cd /proc/196121
--将这个异常目录直接给删除
exe -> '/root/864954f50a56c303d427168efc739e93'
kill -9 196121  //杀掉进程

修改掉ssh默认端口号,改为Port为2368

朋友用的是阿里云的服务器 
此时需要在阿里云控制台配置安全组打开2368端口,
并关闭22端口, 然后重启ssh服务就可以了
systemctl restart sshd.service

2.2.恢复数据库

还好这套opengauss之前已经做过物理备份,而且有全备和增备

Image
1.应先停止gaussdb进程
gs_ctl stop -D /app/openGauss/install/data/dn

2.执行restore恢复到被勒索前的状态
gs_probackup restore 
-B /home/omm/probkp 
--instance instance_local  
-D /app/openGauss/install/data/dn

3.启动数据库登陆
gs_ctl start -D /app/openGauss/install/data/dn
gsql -d dumpdb -U dumpuser -p 15400

发现以上备份的全部被恢复了,原来的库名reportdb
也能看到正常使用了

Image

2.3 若密码修改

因为设置了弱密码!相当于将数据库直接裸露在外网上,这时候设置一下强密码

openGauss=# 
ALTER ROLE dbuser IDENTIFIED 
BY ‘XXXXXXXX’ REPLACE ‘XXXXXXXX’;

总结

数据库作为信息系统的核心,不仅承载着海量的关键数据,还负责向各类用户提供高效、可靠的信息服务,那么确保服务器和数据的安全至关重要!