第一次遭遇黑客勒索病毒威胁
发现问题
今天我突发奇想去看看9月份上线的自学项目,打开登录页提交表单后一直处于响应状态,一会后就报了系统错误;我的图形验证码可以正常接受,想想应该是数据库的问题了;于是就用Navicat连了一下数据库,却一直提示连接失败;查看了一下mysql服务是正常运行的;然后我进入服务器使用命令连接mysql,使用了正确的密码和账户但一直登录不上;这是什么情况呢?我想应该是账号出了问题。
并且最后我发现我的mysql是被暴力侵入了,我的root用户信息被删除,其余的表都删除了留下一个 readme 表;表中说明了找回数据备份条件,需要支付0.01比特币联系他们来恢复。
恢复流程
1、设置免密登录
如果远程连接不上可能是权限没有打开,由于一直登录不上,于是我在配置文件 my.cnf 中添加了以下内容:
▼bash复制代码# 跳过权限免密登录 skip-grant-tables # 重启服务 sudo service mysql restart
2、设置远程权限
我非常确信之前是设置过的,这里通过免密登录进去后执行以下命令查看:
▼bash复制代码use mysql; # 查询用户 select host,user,plugin from user; # 为root用户授权其他主机访问 update user set host='%' where user='root'; # 刷新权限 flush privileges;
最后发现并没有生效,并且重新查询不存在root用户了;于是我就重新添加root用户、修改密码、开通远程连接:
▼bash复制代码# 创建用户root,如果创建失败先执行删除操作 create user 'root'@'localhost' identified by 'xxxx'; drop user 'root'@'localhost'; # 赋予root用户所有库所有表操作权限 GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION; flush privileges;
最后删除配置文件中的 skip-grant-tables ,重启mysql服务;
3、数据恢复
成功修改后,原来的数据表都没了,就留了 readme 数据表;并且我的 binlog 文件都被删除了,就不能通过这个文件来恢复数据了,好在这只是我的学习项目而已,我就直接传输本地数据文件上去;如果是重要文件或者公司的数据,没什么好办法就只能乖乖付钱拿回备份文件,而且还不一定真把备份给你。
4、总结
由此我也意识到网络安全的重要性,如果真是重要数据丢失就得不偿失了!以下是我分享关于通过 binlog 恢复数据方式,以及一些防范内容;大家可以分享一下更好的经验和防护手段:
binlog数据恢复:https://blog.csdn.net/weixin_43944305/article/details/108620849 勒索病毒认识与防范:https://mbd.baidu.com/newspage/data/landingsuper?rs=2569663835&ruk=arJJFuriwaOHSIOYsWsxtw&urlext=%7B%22cuid%22%3A%2208vVf0aqB8gba2850ivnu0itSal08SaUgavga0uCS8KZ0qqSB%22%7D&isBdboxFrom=1&pageType=1&sid_for_share=99125_3&context=%7B%22nid%22%3A%22news_9007586961346752994%22,%22sourceFrom%22%3A%22search%22%7D https://yebd1h.smartapps.cn/pages/blog/index?blogId=137491952&_swebfr=1&_swebFromHost=baiduboxapp
