就在今天,不少使用宝塔面板7.4.2的网站都被批量删库!甚至是政府网也无一幸免!
以目前的形式来看,宝塔不仅失去的是政府与大企的信任,甚至是即将失去大部分忠诚用户!

为什么说会失去信任?

这个pma漏洞指的是公网鉴权,俗称“公网脱裤”; 方法在内行已经被不法分子传开,这里不宜描述,但从删库的手段来看是明显的傻瓜式操作,所以目前截止包含政府网均被批量删库。
就在几个小时前,宝塔官方也给所有用户发送了2次短信,再次提醒立即在线升级版本修复新漏洞,可惜到目前为止还有大部分站长已经放弃了升级宝塔面板的版本,而是到处寻找恢复数据库的方法。

总结:

  1. 每天定时备份全站数据(宝塔定时备份)
  2. 每天关注安全漏洞话题
  3. 每天关注术文章
  4. 数据库等敏感地址做好防火墙以及限制你的IP才可以访问
  5. 数据库独立定时备份(总共几百M,别说没空间,大的定时传百度盘)

不管什么问题,坏人终将会受到法律的制裁,还有一些关于这个漏洞吐槽的各种图片就不发出来了,这样对宝塔的名誉也会有所损失。

如何恢复数据库

前言已经大致描述,现在言归正传,讲讲该如何恢复数据库。

引言

二进制日志记录了由开启到停止所有数据库的所有增删改操作(这里的数据库指的是mysql里面的所有数据库),所以只能恢复出现过的sql语句的数据;适用于数据灾难的、证据库总体和高精度的恢复;此方法不适合日常的数据恢复,所以平常要做好数据备份!

此方法在使用前做好创建快照的准备(如备份整个服务器)。

系统环境:

操作系统:CentOS 系统;
WEB服务:PHP+Mysql+apache/nginx;
网站:演示站;

先登陆Mysql
指令: mysql -h localhost -u root -p 输入你的数据库密码
当出现 mysql> 代表你已成功登录数据库!
检查mysqlbinlog日志功能,图中返回 NO代表开启,OFF代表未开启

show variables like '%log\_bin%';

默认都是开启的,不要手欠给关了

首先我们mysql命令行中,用show master logs;show binary logs;命令查看已有的binlog文件。

然后查看当前二进制日志文件状态show master status;

恢复数据库
mysqlbinlog命令用于将二进制日志文件恢复数据库

主要的参数有
--start-date(指定开始日期,时间格式为2020-08-23 10:14:51,恢复到这个时间之后的数据,包括此时间)
--stop-date(指定结束时间,时间格式为2020-08-23 23:15:50,恢复到这个时间段之前的,不包括此指定时间)

例子,上面参数是可以单独一个使用
[root@iZcyriae88knxxZ ~]# \mysql\bin-log>mysqlbinlog --start-date="2020-08-23 10:14:51" --stop-date="2020-08-23 23:15:50" mysql-binlog.000012 | mysql -uroot -proot

--start-position(指定开始位置,恢复到此位置之后的数据,包括此位置)
--stop-position(指定结束位置,恢复此位置之前的数据,不包括此位置)

[root@iZcyriae88knxxZ ~]# \mysql\bin-log>mysqlbinlog --start-position=951 --stop-position=1391 mysql-binlog.000012 | mysql -uroot -proot

然后回到数据库表再看看是否恢复