前言
比上次服务器被黑还要恐怖的数据库被黑,再次强调,数据库不备份不做安全,你就可以准备跑路了。
这次记录一下整个被黑的过程,以及整个检查和处理的过程。
发现
上个月某一天,网站出现了无法登录的情况,出现了大量的错误日志报警,然后就牛逼了,上服务器一查发现数据库里面就剩了一个名叫PLEASE_READ的数据库,里面留下了一张表,然后留下了比特币的地址,说24小时不转账就删数据库备份。
马上就明白了,数据库被黑了。
然后百度了一下,发现相同的案例有很多。
三个想法
第一个想法就是,不能按他说的做,因为比特币的转账是完全匿名的,你根本不知道对面是谁,所以即使你转了也不可能还你数据,如果我是一个黑客,我大可以就不还给你,我还要保存你的数据,我累不累。所以用钱买回来是绝对不可取的。
第二个想法就是,数据能否恢复。恢复数据只要需要一些要求,一个是需要进行数据库备份,如果你有备份当然就可以恢复,只是可能恢复后的数据可能会有丢失,还是一种情况是使用binlog日志进行恢复,虽然比较麻烦,但是还是可以做的,不过需要你配置文件里面开启binlog。然后我看了一下,完蛋~!这个数据库完全没有备份,也没有开启日志,所有等于0
第三个想法就是,怎么被黑的。可能性最多两个,一个是你服务器本身被黑了,那黑你数据库很容易。还有就是数据库本身被黑了。然后我查询了一下服务器上的历史登录情况,以及服务器上的应用,发现服务器本身没有什么问题。那很明显是数据库被黑了。要不就是数据库被人通过某种方式入侵,后人从内部被人用sql进行修改,要不就是数据库密码直接被试出来了。
查找原因
1、我查询个服务器的各个角落,发现只有mysql的data目录里面存在问题,mysql用户目录都没有发现有特殊用户的存在,所以可以明确下来,是mysql密码泄露了。
2、应用代码没有上