MySQL安全加固实验

【实验目的】

1、了解MySQL数据库几种常见威胁

2、掌握几种常见的安全加固方式

【知识点】

信息修改、安全加固、空用户。

【实验原理】

       为了保证数据库的安全,一般需要对数据库进行安全加固操作。Mysql数据库安全加固属主要涉及用户、权限、日志、远程等方面。常用的安全加固方法有以下几种。

       第一种:删除空用户。某些版本的MySQL系统会默认创建一个无用户名无密码的匿名用户(Anonymous Account),也叫空用户。这使得数据库服务器存在无需密码便可以登录的风险。为消除此类安全隐患,应当删除空用户。

       第二种:防止文件注入。mysql对本地文件的存取主要通过Load DATA LOCAL INFILE等SQL语句实现,因此能够通过禁用该功能来防止黑客通过SQL注入的方式获取系统核心文件。

       第三:日志输出。Mysql默认有error日志文件输出,默认在data文件夹。若想获得更高的安全性,则可以增加查询日志、二进制日志、更新日志和慢查询日志文件输出。

【实验设备】

Windows7*1

【实验思路】

1、删除空用户。

2、防止文件注入。

3、开启日志文件。

【实验步骤】

1、单击屏幕左下角的【开始】图标。

2、在搜索框中搜索cmd,选中cmd,右键以管理员身份运行。

3、成功打开命令行。

4、输入命令mysql-u root-p并输入密码111,使用root账号连接到数据库。连接成功界面

5、第一种常见的安全加固方式是删除空用户。

执行下图所示命令,删除空用户。

MySQL 加固建议 mysql安全加固_mysql

6、第二种常见的安全防固方式是防止文件注入。

首先点击桌面左下角的【文件夹】图标。

7、在弹出的窗口中点击【本地磁盘(C:)】选项,在界面右侧左键双击“Tools”文件夹(以实际设备MySQL安装位置为准)。

8、进入Tools文件夹后,双击MySQL文件夹,再双击MySQLServer5.5文件夹,进入MySQL目录。

9、找到文件名为“my”的配置文件,双击打开。

10、在配置文件末尾加上local_infile=0表示不允许文件注入,保存。

MySQL 加固建议 mysql安全加固_MySQL_02

11、第三种常见的安全防固方式是日志输出。

在第9步的目录下,找到data文件夹,双击打开.

12、打开data文件后,单击地址栏。

13、右击鼠标,选择复制,将data的位置进行复制

14、单击左箭头按钮,返回上一级目录。

15、找到文件名为“my”的配置文件,双击打开。

16、在文件底部添上如下内容,使MySQL新增了日志输出。(目录地址即为第14步复制的data目录地址,注意:输入地址时请使用“/”隔开每一级目录)。log:查询日志;log-error:错误日志,log-bin:二进制日志;log-slow-queries:慢查询日志。

//注意复制过来的地址要把 \ 改为 / ,否则mysql无法启动;

MySQL 加固建议 mysql安全加固_MySQL 加固建议_03

17、修改配置文件后需要重启MySQL服务。先关闭MySQL。

18、再开启MySQL服务。

MySQL 加固建议 mysql安全加固_MySQL_04

MySQL 加固建议 mysql安全加固_MySQL 加固建议_05

19、重新启动MySQL后打开第11步中的data文件夹,发现多了四个文件,这四个文件就是之前设置的日志文件。

MySQL 加固建议 mysql安全加固_MySQL_06

【实验预期】

1、不存在空用户,即空用户无法进行连接。

2、不允许文件注入。

3、生成日志文件。

【实验结果】

1、直接输入mysql时,无法连接,证明匿名用户已删除。

2、使用root账号登录mysql服务器。

3、使用seller数据库。

4、将seller数据库中user表的内容注入到test.txt文件中(test.txt是计算机中任意一文件),执行失败,证明配置成功,已禁止文件注入。如图

5、开启日志之前,data文件夹中只有关于库的两个文件夹。

6、重启MySQL服务器。

7、启动MySQL后打开data文件夹,发现多了五个日志相关文件,证明日志开启成功。

【实验思考】

1、如何通过禁止远程访问的方式实现安全加固?

 

 

 

小丑竟是我自己