MYSQL数据库攻防与加固

MYSQL数据库攻防与加固

练习环境:DCST-6000-N10mysql加固
任务内容:
1.配置lnux-mysql防火墙,允许mysql服务能够被访问

执行命令 iptables –l RH –Firewall-1-INPUT 11 –p tcp –dport 3306 –j ACCEPT
执行命令 iptables –L
在这里插入图片描述

发现已经允许mysql服务被访问

2.访问DCST中的MysqlServer,在/var/log目录下创建access.log文件,并修改mysql的配置文件,使其能够记录所有的访问记录

首先创建记录日志的文件
#touch /var/log/access.log
在这里插入图片描述

一般mysql的配置文件的路径是/etc/my.cnf,我们也可以通过命令来查找配置文件
#find –name ‘my.cnf’
在这里插入图片描述

接下来修改mysql的配置文件my.cnf,将访问记录保存到access.log中
#vi /etc/my.cnf
#log=/var/log/access.log
在这里插入图片描述

执行命令 /etc/init.d/mysqld restart 重启mysql服务

3.进入mysql数据库,找到可以从任何IP地址进行访问的用户

终端输入mysql启动mysql客户端
在这里插入图片描述

执行命令 mysql>use mysql 使用mysql数据库
在这里插入图片描述

执行命令 mysql>select host,user from user; 查看mysql数据库里的所有用户权限
在这里插入图片描述

发现test用户可以从任意地点访问

4.对题号3中的漏洞进行加固,删除可以任意IP地址进行访问的用户

执行命令 mysql>delete user from user where user=”test”; 删除test用户
执行命令 mysql>flush privileges; 避免重启数据库来让我们之前所作的修改生效
执行命令 mysql>select host,user from user;来查看一下,发现用户已经删除
在这里插入图片描述

如果设定该用户只能从特定IP访问,在mysql客户端用grants命令进行管理
执行命令–:mysql>GRANT ALL ON . TO test@IP地址 IDENTIFIED BY “” WITH
GRANT OPTION
这个命令也可以用来新建用户名,by后面加的是账户密码
在这里插入图片描述

5.检查是否存在匿名用户,如果存在匿名用户,则加固删除 ,将执行加固命

执行命令 mysql>select host,user from user where user=””;来寻找匿名用户
在这里插入图片描述

发现有两个匿名用户
执行命令 mysql>delete user from user where user=””; 删除匿名用户
在这里插入图片描述

执行命令 mysql>flush privileges; 避免重启数据库来让我们之前的修改生效
执行命令 mysql>select host,user from user ;查看用户表发现匿名用户已经被删除
在这里插入图片描述

6.改变默认mysql管理员的名称,将默认管理员root改为admin

执行命令 mysql>use mysql; 使用mysql数据库
执行命令 mysql>update user set user=”admin” where user=”root”;将root修改为admin
执行命令 mysql>select host,user from user; 发现root已经改名为admin
在这里插入图片描述

7.禁止mysql对本地文件进行存取,对mysql的配置文件进行修改

在mysql操作界面下输入\q、exit或者quit退出mysql
执行命令 vi /etc/my.cnf
增加语句 set –variable=local-infile=0
在这里插入图片描述

执行命令 /etc/init.d/mysqld restart 重启mysql服务

8.数据库安全加固操作:限制一般用户浏览其他用户数据库,对mysqld 的启动项进行加固

执行命令 vi /etc/my.cnf
增加语句 skip-show-database
在这里插入图片描述

执行命令 /etc/init.d/mysqld restart 重启mysql服务

上一篇
下一篇