下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922

学习提高MySQL系统安全的七个建议

作者:课课家教育     来源: http://www.kokojia.com点击数:828发布时间: 2018-09-13 10:07:51

标签: MySQL私房菜sqlSQL2005

  SQL是专为数据库而建立的操作命令集,是一种功能齐全的数据库语言。在使用它时,只需要发出"做什么"的命令,"怎么做"是不用使用者考虑的。今天小编要给大家分享一篇教程,那就是:学习提高MySQL系统安全的七个建议。

  最近有很多的朋友都在问小编,究竟怎样才可以提高MySQL系统安全呢?在这里小编就简单的介绍一下吧,关于提高MySQL系统安全的七点建议吧,希望这对大家有所帮助!有兴趣的朋友,可以现在跟着小编一起来学习一下。

  为了能够直接让得MySQL系统变得更加的安全,小编在这里强烈要求大家考虑下列的建议,具体的建议如下所示:

  第一点建议:假如说大家想要限制单个账户允许的连接数量,大家能够直接设置mysqld里面的max_user_connections变量来完成目的。GRANT语句也能够直接支持资源控制选项来限制服务器对一个账户允许的使用范围。

  第二点建议:对所有MySQL用户使用密码

  小编相信大家都应该知道,客户端程序不需要知道运行它的人员的身份。对于客户端/服务器应用程序,用户能够直接指定客户端程序的用户名。就比如说:假如说大家other_user没有密码的话,任何人都能够直接简单地用mysql-uother_userdb_name冒充他人调用mysql程序进行连接,进行MySQL攻击。相反的是,假如说大家所有用户有密码,使用其它用户的账户进行连接要困难得多了。

学习提高MySQL系统安全的七个建议_MySQL私房菜_sql_SQL2005_课课家

  第三点建议:千万不要允许使用表的符号链接

  假如说大家使用root运行mysqld则特别重要,主要就是因为任何对服务器的数据目录有写访问权限的人则能够删除系统里面的任何文件!

  第四点建议:确保mysqld运行的时候,仅仅只使用对数据库目录具有读又或者是写权限的Unix用户来运行。

  第五点建议:千万不要将PROCESS又或者是SUPER权限授给一些非管理用户mysqladminprocesslist的输出显示出当前执行的查询正文,假如说大家另外的用户发出一个UPDATEuserSETpassword=PASSWORD('not_secure')进行相关的查询,被允许执行那个命令的任何用户非常有可能会看得到。mysqld为有SUPER权限的用户专门保留一个额外的连接,因此即使所有普通连接被占用,MySQLroot用户仍然能够直接登录并检查服务器的活动。能够直接使用SUPER权限来终止客户端连接,主要就是通过更改系统变量的值从而来更改服务的器操作,并且还可以控制复制服务器,从而防止MySQL攻击的发生。

  第六点建议:千万不要向非管理用户授予FILE权限

  有这一个权限的任何用户都能够直接在拥有mysqld守护进程权限的文件系统那里写一个文件!所以为了让SQL系统变得更加的安全,由SELECT...INTOOUTFILE生成的所有文件对每一个人是可写的,并且大家不能够直接覆盖已经存在的文件。另外一个方面,file权限也能够直接被用来读取任何作为运行服务器的Unix用户可读取又或者是访问的文件。使用这一个权限的时候,大家能够直接将任何文件读入数据库表。当然拉这也有可能会被滥用,就比如说:通过使用LOADDATA装载“/etc/passwd”进一个数据库表,接下来就能够直接使用SELECT显示它。

  第七点建议:假如说大家不信任各自的DNS(DomainNameSystem,域名系统),大家应该在授权表里面使用IP数字而不是主机名。在任何情况下面,大家都应该非常小心地使用包含通配符的主机名来创建授权表条目,从而防止MySQL攻击的发生!

  小编结语:

  在这里小编想说的是,每个IP地址都可以有一个主机名,主机名由一个或多个字符串组成,字符串之间用小数点隔开。有了主机名,就不要死记硬背每台IP设备的IP地址,只要记住相对直观有意义的主机名就行了。这就是DNS协议所要完成的功能。

赞(24)
踩(0)
分享到:
华为认证网络工程师 HCIE直播课视频教程