MYSQL数据库攻防与加固

Posted on 2018-10-02 22:45  东陵九皇叔  阅读(1884)  评论(0编辑  收藏  举报

这是“官方”原本的模样搬过来的。。写的很粗略啊。还有篇详细的请查看:MySQL安全加固题目及答案参考解析

启动xserver-mysql,进入xserver-mysql,开始实验,实验步骤如下:

1. 进入xserver-mysql, 加固MySQL服务器,使所有的访问能被审计,要求通过对mysqld的启动项进行加固

设定审计文件为/var/log/mysql/access.log

#cd /etc/

# vi my.cnf

下面红色标记部分为增加的日志选项,重新启动后起作用

MYSQL数据库攻防与加固

2. 配置Linux 防火墙,允许MySQL服务能够被访问,要求规则中只包含端口项

 

 

3. 进入xserver-mysql,查看所有用户及权限,找到可以从任何IP地址访问的用户

Mysql>use mysql;

Mysql>select host,user from user;

MYSQL数据库攻防与加固

4. 对题号3中的漏洞进行加固,设定该用户只能从公司PC-1访问,用grants 命令进行管理。

Mysql>GRANT ALL ON *.* TO test@192.168.x.x   IDENTIFIED BY “” WITH GRANT OPTION;

5. 检查xserver-mysql中的是否存在数据库匿名用户,如果存在数据库匿名用户,则删除该用户,将发现的数据库匿名用户信息以及删除过程

mysql>use mysql;

mysql> select host,user from user where user=””;

MYSQL数据库攻防与加固

MYSQL数据库攻防与加固

mysql>flush privileges;    #记得刷新权限啊小伙子!

6. 改变默认MySQL管理员的名称,将系统的默认管理员root 改为admin,防止被列举,将执行过程

 

 

7. 禁止MySQL对本地文件进行存取,对mysqld 的启动项进行加固

#cd /etc/

# vi my.cnf

下面红色框中为增加的本地文件存取的限制语句,重新启动后起作用

增加语句为

set-variable=local-infile=0

MYSQL数据库攻防与加固

#/etc/init.d/mysqld stop

#/etc/init.d/mysqld start

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

跟上边一样,配置文件增加配置项,增加语句为

skip-show-database

#/etc/init.d/mysqld stop

#/etc/init.d/mysqld start