记录阿里云服务器mysql被黑
前言
比上次服务器被黑还要恐怖的数据库被黑,再次强调,数据库不备份不做安全,你就可以准备跑路了。
这次记录一下整个被黑的过程,以及整个检查和处理的过程。
发现
上个月某一天,网站出现了无法登录的情况,出现了大量的错误日志报警,然后就牛逼了,上服务器一查发现数据库里面就剩了一个名叫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被黑的更多相关文章
- 阿里云服务器mysql修改编码问题
最近在学习struts+spring+hibernate,强烈推荐新手一本书:陈天河<轻量级web应用开发>,这本书是我见过的国内最好的书,初学者可以买本读读. 不说这个了,来说说我的问题 ...
- 阿里云服务器 Mysql数据库的安装和使用
为了做服务迁移,mysql的安装总是不那么顺利, 教程很多, 但都不能够一蹴而就, 所以,单独总结一篇, 当然也借鉴了一些前辈的经验. ================================ ...
- 阿里云服务器Mysql修改密码
核心架构基于阿里云服务器CentOS7.2操作系统,全面支持Java Web运行环境 Tomcat 8.5.8 JDK 8u111 MySQL5.7.16 详细信息,请在服务器执行 more r ...
- 阿里云服务器上配置并使用: PHP + Redis + Mysql 从配置到使用
(原创出处为本博客,http://www.cnblogs.com/linguanh/) 目录: 一,下载 二,解压 三,配置与启动 四,测试 Redis 五,配置 phpRedis 扩展 六,综合测试 ...
- 阿里云服务器CentOS 5.7(64位)安装配置LAMP服务器(Apache+PHP5+MySQL)
一.快速安装Apache+PHP5+MySql ----------------------------------------------------- 补充:由于163的yum源上只有php5.1 ...
- 阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7) 1.效果图 1 2. 部署步骤 1 1. mysql安装附加(centos7) 7 ...
- 阿里云服务器Linux CentOS安装配置(三)yum安装mysql
阿里云服务器Linux CentOS安装配置(三)yum安装mysql 1.执行yum安装mysql命令:yum -y install mysql-server mysql-devel 2.启动mys ...
- 阿里云服务器上安装mysql的心路历程(博友们进来看看哦)
在阿里云花了100买了一台云服务器,配置如下: CPU: 1核 内存: 512MB 数据盘: 0G 带宽: 1Mbps 阿里云服务器安装mysql搞得我想吐血,搞了一个多星期,现在才搞好,而且,还有许 ...
- jdbc连接阿里云服务器上的MySQL数据库 及 数据库IP限制
问题1:Jdbc 如何连接阿里云服务器上的MySQL数据库? 解决: 上截图: 其中IP是阿里云服务器的公网IP地址. 问题2: 刚开始接手开发的时候,使用Navicat连接阿里云服务器上的数据后 ...
随机推荐
- block学习二:使用Block替代回调
使用Block替代回调,分为三步进行:
- Spark环境搭建(七)-----------spark的Local和standalone模式启动
spark的启动方式有两种,一种单机模式(Local),另一种是多机器的集群模式(Standalone) Standalone 搭建: 准备:hadoop001,hadoop002两台安装spark的 ...
- JOISC2019 游记
JOISC2019 游记 Day 1: 試験 (Examination) 题目大意: 有\(n(n\le10^5)\)个人,每个人有两种属性\(s_i,t_i\).\(q(q\le10^5)\)次询问 ...
- 如何简单地理解Python中的if __name__ == '__main__'
https://blog.csdn.net/yjk13703623757/article/details/77918633 1. 摘要 通俗的理解__name__ == '__main__':假如你叫 ...
- redis在windows和Linux系统下的下载、安装、配置
1.下载redis安装包 在redis的官网只有Linux系统下的安装包,微软的GitHub上有提供windows版本的redis安装包 redis中文网:http://www.redis.cn/ 微 ...
- vue创建状态管理(vuex的store机制)
1:为什么说要是永远状态管理 在使用 Vue 框架做单页面应用时,我们时常会遇到传值,组件公用状态的问题.(子父间传值文章传送门) ,如果是简单的应用,兄弟组件之间通信还能使用 eventBus 来作 ...
- [LeetCode] Transpose Matrix 转置矩阵
Given a matrix A, return the transpose of A. The transpose of a matrix is the matrix flipped over it ...
- vue中添加title中的小图标
webpack.prod.conf.js 这个文件中: 引入代码const path = require('path') :下面是进行配置: new HtmlWebpackPlugin({ filen ...
- VS 2013+ ArcGIS 10.3 AddIn 断点不断异常解决
1. http://resources.arcgis.com/en/help/arcobjects-net/conceptualhelp/index.html#/How_to_debug_add_in ...
- sqlserver 电脑重启以后服务突然无法启动 报错
可能是sql server 评估期已过 在升级中输入产品密钥试试