云服务器部署的mysql数据库怎么防止被“黑”?
2020-11-13 17:26:22 【

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

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

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

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

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

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

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

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

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

首先登陆mysql

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

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 root@'119.137.52.210'IDENTIFIED BY '123456' WiTH GRANT OPTION;

flush privileges;(执行这个指令,就生效啦,注意这里的@后面的ip写你自己需要允许访问的ip)

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


】【打印关闭】 【返回顶部
上一篇棋牌Web服务器安全攻击及防护机制 下一篇这些特定的DDoS保护和预防技你都..