云服务器部署的mysql数据库怎么防止被“黑”? 

云服务器部署的mysql数据库怎么防止被“黑”?      

  前些天登陆自己写的博客系统突然发现页面一片空白,当时大惊,系统这是又出什么幺蛾子了?于是感觉看控制台,分析一波。随之发现博客前台调用后台的方法全都是一片红,再一看系统后台发现后台数据库操作全都报错了,在一看数据库发现部署在云服务器的几个数据库的数据全空了!!只留下了一张warning的表提示我联系某个邮箱支付比特币就给恢复数据。。。。。(心里无数草泥马奔腾而过),刚毕业的俺啥时候见过这阵仗,于是各种百度恢复数据的方法,无果。最终只找到可以根据系统表结构生成sql的工具方法,最终艰难的恢复了各个表,但是无疑数据肯定是么的了~ 痛定思痛,花了许久的时间去了解怎么提高部署在云服务上的数据安全性,今天就作一个简单的总结,希望对大家有点帮助。

        首先,数据库被黑的原因:

1、数据库root用户有开放远程连接。

2、root密码过于简单,是弱密码。

3、网站程序本身存在木马漏洞。

        第三点我们就不说了,所以其实被黑的原因基本就是root用户有开放远程连接,并且密码过于简单。

我们部署在云服务器的数据库很多时候root用户是需要开放远程连接的,所以,防止被黑我们可以设置一个密码复杂度比较高的密码!!

        但是问题是密码的话我也不喜欢弄太复杂的记不住,那咋办? 其实,除了设置复杂的密码以外,这时候我们其实还可以通过限制ip访问来做到保护数据安全,简单粗暴。

         一、mysql自己的限ip访问方法

首先登陆mysql

取消掉任意都能访问为本地才可以访问

use mysql;

UPDATE user SET Host = 'localhost' where Host = '%';

flush privileges;

然后再创建创建一个专门用来远程用的账号并指定ip,授权(需要给哪个ip就创几个,有点麻烦哈哈。。。。)

CREATE USER 'root'@'119.137.52.210' IDENTIFIED BY '123456';

GRANT ALL ON *.*To [email protected]'119.137.52.210'IDENTIFIED BY '123456' WiTH GRANT OPTION;

flush privileges;(执行这个指令,就生效啦)

        二、使用云服务器自己的防火墙设置 使用这个就方便很多啦,我现在也是这么用的,以我用的滴滴云服务器为例~ 云服务器部署的mysql数据库怎么防止被“黑”? 云服务器部署的mysql数据库怎么防止被“黑”?  添加一条安全组规则,端口填添加一条安全组,端口填mysql的3306,授权对象填允许访问的ip 就欧克啦!需要允许哪些ip可以访问就添加几条安全组规则。