前言

比上次服务器被黑还要恐怖的数据库被黑,再次强调,数据库不备份不做安全,你就可以准备跑路了。
这次记录一下整个被黑的过程,以及整个检查和处理的过程。

发现

上个月某一天,网站出现了无法登录的情况,出现了大量的错误日志报警,然后就牛逼了,上服务器一查发现数据库里面就剩了一个名叫PLEASE_READ的数据库,里面留下了一张表,然后留下了比特币的地址,说24小时不转账就删数据库备份。
马上就明白了,数据库被黑了。
然后百度了一下,发现相同的案例有很多。

三个想法

第一个想法就是,不能按他说的做,因为比特币的转账是完全匿名的,你根本不知道对面是谁,所以即使你转了也不可能还你数据,如果我是一个黑客,我大可以就不还给你,我还要保存你的数据,我累不累。所以用钱买回来是绝对不可取的。

第二个想法就是,数据能否恢复。恢复数据只要需要一些要求,一个是需要进行数据库备份,如果你有备份当然就可以恢复,只是可能恢复后的数据可能会有丢失,还是一种情况是使用binlog日志进行恢复,虽然比较麻烦,但是还是可以做的,不过需要你配置文件里面开启binlog。然后我看了一下,完蛋~!这个数据库完全没有备份,也没有开启日志,所有等于0

第三个想法就是,怎么被黑的。可能性最多两个,一个是你服务器本身被黑了,那黑你数据库很容易。还有就是数据库本身被黑了。然后我查询了一下服务器上的历史登录情况,以及服务器上的应用,发现服务器本身没有什么问题。那很明显是数据库被黑了。要不就是数据库被人通过某种方式入侵,后人从内部被人用sql进行修改,要不就是数据库密码直接被试出来了。

查找原因

1、我查询个服务器的各个角落,发现只有mysql的data目录里面存在问题,mysql用户目录都没有发现有特殊用户的存在,所以可以明确下来,是mysql密码泄露了。

2、应用代码没有上传数据库配置,所以数据库的配置只有我自己知道,所以不可能是由于别人透露了数据库密码导致,那么就是由于数据库密码被试出来了。

3、然后上阿里云看了一下,发现

Mysql异常UDF执行是啥?还有这种操作的呀?
然后发现:http://blog.51cto.com/laoxu/1305240
但是时间是在三月的时候,那个时候服务器才刚刚买,然后数据库也是刚刚装上去的时候,也就是说,其实可能那个时候服务器就已经出现问题了。而别人只是放长线钓大鱼?

处理

删除data目录,重置数据库,重启服务,正常了。

后续安全措施

1、数据库备份 敲黑板!!!
2、开启binlog日志
3、更换超级复杂的mysql密码
4、更换mysql端口号
5、禁止mysql远程访问

这几个安全措施个人认为是最简单有效的措施,数据库备份和开启日志是为了防一手用来恢复数据;一般黑客就是不断扫端口,而mysql默认的3306端口太容易被扫描到了,然后如果你的密码是123456,那么就GG了;禁止远程访问,这个是非常手段,如果只有本机或者几个固定的IP能访问你的数据库,那么你的数据库就肯定处于一个相对安全的位置,缺点是你维护mysql数据比较麻烦,你需要使用固定的IP去维护数据库,或者使用vpn通过内网访问数据库。

总之,数据库的安全还有很多措施,这里只是想提醒各位,公网上的数据库极度不安全,别人想黑你,那就是分分钟的事情,所以一定记得数据就是你的命。应用出现bug可以修复,数据出现问题,那就神仙难保了。

PS:这次出现问题的是我自己的测试服,所以宝宝一点也不慌,随你黑,最后我直接快照恢复了。但是也给自己一个警告⚠️

记录阿里云服务器mysql被黑的更多相关文章

  1. 阿里云服务器mysql修改编码问题

    最近在学习struts+spring+hibernate,强烈推荐新手一本书:陈天河<轻量级web应用开发>,这本书是我见过的国内最好的书,初学者可以买本读读. 不说这个了,来说说我的问题 ...

  2. 阿里云服务器 Mysql数据库的安装和使用

    为了做服务迁移,mysql的安装总是不那么顺利, 教程很多, 但都不能够一蹴而就, 所以,单独总结一篇, 当然也借鉴了一些前辈的经验. ================================ ...

  3. 阿里云服务器Mysql修改密码

    核心架构基于阿里云服务器CentOS7.2操作系统,全面支持Java Web运行环境   Tomcat 8.5.8 JDK 8u111 MySQL5.7.16 详细信息,请在服务器执行  more r ...

  4. 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用

    (原创出处为本博客,http://www.cnblogs.com/linguanh/) 目录: 一,下载 二,解压 三,配置与启动 四,测试 Redis 五,配置 phpRedis 扩展 六,综合测试 ...

  5. 阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)

    一.快速安装Apache+PHP5+MySql ----------------------------------------------------- 补充:由于163的yum源上只有php5.1 ...

  6. 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)

    阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...

  7. 阿里云服务器Linux CentOS安装配置(三)yum安装mysql

    阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...

  8. 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)

    在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...

  9. jdbc连接阿里云服务器上的MySQL数据库 及 数据库IP限制

    问题1:Jdbc 如何连接阿里云服务器上的MySQL数据库? 解决: 上截图: 其中IP是阿里云服务器的公网IP地址. 问题2:   刚开始接手开发的时候,使用Navicat连接阿里云服务器上的数据后 ...

随机推荐

  1. MSDN i TELL YOU 又更新了,win10 1809版本的 3月29日的

    MSDN i TELL YOU 又更新了,1809版本的 3月29日的 WINDOWS 10 现在只有64位的 很好,估计 64位的普及了. 是一大改变

  2. IDEA快捷键积累

    对于用习惯了eclipse快捷键或刚转用idea的用户,可以把idea的大部分快捷键设置成eclipse风格的. 设置方式:左上角 file--->setings--->keymap,如下 ...

  3. APIO2018 被屠记

    占坑 day0 10:40才起床 感觉一点也不好 下午去了趟80中拿牌子然而没有到,白浪费我颓废时间. day0.5 早上第一课讲二分凸优化,有点瞌睡 第二课讲匹配相关,感觉这篇文章涵盖了大部分内容 ...

  4. 我的 FPGA 学习历程(12)—— 电子钟项目准备

    初学 FPGA 的时候,我们总是存在很多疑问,比如:xilinx 和 altera 的 FPGA 那种比较好.verilog 语言被如何综合成具体硬件电路.RTL 级电路是什么意思等等.现在我们就不会 ...

  5. [HEOI2016/TJOI2016]游戏

    Description: 在2016年,佳缘姐姐喜欢上了一款游戏,叫做泡泡堂.简单的说,这个游戏就是在一张地图上放上若干个炸弹,看是否能炸到对手,或者躲开对手的炸弹.在玩游戏的过程中,小H想到了这样一 ...

  6. S0.4 二值图与阈值化

    目录 二值图的定义 二值图的应用 阈值化 二值化/阈值化方法 1,无脑简单判断 opencv3函数threshold()实现 2,Otsu算法(大律法或最大类间方差法) OpenCV3 纯代码实现大津 ...

  7. Android四大组件的简介

    Android开发四大组件分别是: 一.活动(Activity): 用于表现功能.二.服务(Service): 后台运行服务,不提供界面呈现. 三.广播接收器(BroadcastReceiver):用 ...

  8. Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'

    提示哪个引用修改哪个引用的属性: Could not load file or assembly 'System.Web.Http, Version=4.0.0.0, Culture=neutral, ...

  9. Http_4个新的http状态码:428、429、431、511

    1.428 Precondition Required (要求先决条件) 先决条件是客户端发送 HTTP 请求时,必须要满足的一些预设条件.一个好的例子就是 If-None-Match 头,经常用在 ...

  10. 《SpringMVC从入门到放肆》七、模型与视图ModelAndView

    上一篇我们了解了开发一个Controller的4种方法,如果不记得的朋友可以看看上一篇博文,今天我们来继续了解SpringMVC的模型与视图ModelAndView. 一.什么是Model? Mode ...