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、第一种常见的安全加固方式是删除空用户。
执行下图所示命令,删除空用户。
6、第二种常见的安全防固方式是防止文件注入。
首先点击桌面左下角的【文件夹】图标。
7、在弹出的窗口中点击【本地磁盘(C:)】选项,在界面右侧左键双击“Tools”文件夹(以实际设备MySQL安装位置为准)。
8、进入Tools文件夹后,双击MySQL文件夹,再双击MySQLServer5.5文件夹,进入MySQL目录。
9、找到文件名为“my”的配置文件,双击打开。
10、在配置文件末尾加上local_infile=0表示不允许文件注入,保存。
11、第三种常见的安全防固方式是日志输出。
在第9步的目录下,找到data文件夹,双击打开.
12、打开data文件后,单击地址栏。
13、右击鼠标,选择复制,将data的位置进行复制
14、单击左箭头按钮,返回上一级目录。
15、找到文件名为“my”的配置文件,双击打开。
16、在文件底部添上如下内容,使MySQL新增了日志输出。(目录地址即为第14步复制的data目录地址,注意:输入地址时请使用“/”隔开每一级目录)。log:查询日志;log-error:错误日志,log-bin:二进制日志;log-slow-queries:慢查询日志。
//注意复制过来的地址要把 \ 改为 / ,否则mysql无法启动;
17、修改配置文件后需要重启MySQL服务。先关闭MySQL。
18、再开启MySQL服务。
19、重新启动MySQL后打开第11步中的data文件夹,发现多了四个文件,这四个文件就是之前设置的日志文件。
【实验预期】
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、如何通过禁止远程访问的方式实现安全加固?
小丑竟是我自己