前言:
当前同学们对“mysql安全配置方案”大约比较注重,咱们都想要学习一些“mysql安全配置方案”的相关知识。那么小编也在网络上汇集了一些关于“mysql安全配置方案””的相关知识,希望小伙伴们能喜欢,我们快快来学习一下吧!1.用户账号与口令安全
默认帐号要求
删除默认数据库和默认帐号;
删除匿名账户;
应用系统应使用新建用户,不得使用系统默认账户。
参考配置操作
mysql> show databases;
mysql> drop database test; //删除数据库test
#use mysql;
#delete from db; //删除存放数据库的表信息,因为还没有数据库信息。
mysql> delete from user where not (user='root'or user=’应用系统专用账户’) ; // 删除初始非root的用户
mysql> DELETE FROM mysql.user WHERE Host='localhost' AND User=''; //删除匿名账户;
mysql> flush privileges; //强制刷新内存授权表。
检测操作
mysql> show databases;
mysql> select * from user;
判定条件
只保留单个管理员root和应用系统专用账户;
2.数据库管理员帐号要求
修改root用户口令,删除空口令;
改变默认mysql管理员帐号;
禁止管理员帐号远程登录
参考配置操作
mysql> use mysql;
mysql> update user set password=password('root’spassword’) where user='root';
mysql> update user set user="newroot" where user="root";
mysql> update user set host =’’ where user = "newroot";
mysql> flush privileges;
检测操作
mysql> select * from user;
判定条件
管理员密码不为空,host应为空。
3.口令策略
参考配置操作
mysql> use mysql;
mysql> update user set password=password('newpassword’) where user='&username';
检测操作
mysql>select password from user;
判定条件
用户密码至少8位,由字母、数字和符号组成的不规律密码。
4.帐号权限策略
管理员之外的其它账户,不得拥有系统数据库的任何权限;不得拥有File,Grant,Reload,Shutdown,Process等权限中的任意一种。特别规定,数据库监控账户可以拥有Process权限
参考配置操作
收回File,Grant,Reload,Shutdown,Process等权限;
收回系统数据库权限
mysql>revoke file,grant,reload,shutdown,process from user;
mysql> flush privileges;
检测操作
mysql> show grants;
判定条件
普通账户不得拥有File,Grant,Reload,Shutdown,Process等权限。
5.安全配置
独立用户运行msyql
Mysql使用专用用户运行
参考配置操作
给MySQL数据库建立mysql组和属于该组的mysql账号
检测操作
id mysql
判定条件
mysql账号有单独属组
6.文件权限
MySQL的数据目录、日志目录,以及目录下的文件属主和属组只能是mysql账号,不能给其它账号任何权限
参考配置操作
# chown -R root /usr/local/mysql/ //mysql主目录给root
# chown -R mysql.mysql /usr/local/mysql/var //确保数据库目录权限所属mysql用户
检测操作
ls –la /usr/local/mysql
ls –la /usr/local/mysql/var
判定条件
数据目录、日志目录,以及目录下的文件属主和属组是mysql
7.命令历史记录保护(可选)
删除历史记录
参考配置操作
将.bash_history,.mysql_history文件置空。
ln -s /dev/null .bash_history
ln -s /dev/null .mysql_history
检测操作
cat .bash_history
cat .mysql_history
判定条件
.bash_history ,.mysql_history内容应为空。
8.日志与审计
启用日志功能
启用日志记录,记录日志信息
参考配置操作
在[mysqld] 中輸入
#log
log-error=/usr/local/mysql/log/error.log
log=/usr/local/mysql/log/mysql.log
long_query_time=2
log-slow-queries= /usr/local/mysql/log/slowquery.log
检测操作
mysql>show variables like 'log_%';。
判定条件
启用日志记录。
日志文件权限及审计
设备应配置权限,控制对日志文件读取、修改和删除等操作。
参考配置操作
# chown -R mysql.mysql /usr/local/mysql/var
# chmod -R go-rwx /usr/local/mysql/var
检测操作
ls –la /usr/local/mysql/var
判定条件
日志目录及目录下的文件属主和属组是mysql
9.其他内容
资源限制
参考配置操作
设置my.cnf文件的mysqld中的max_user_connections变量来完成
检测操作
grep max_user_connections my.cnf
判定条件
my.cnf文件中max_user_connections系统变量应为非零值
10.服务监听端口(可选)
在不影响应用的情况下,更改默认端口
参考配置操作
设置my.cnf文件的port变量来完成
检测操作
grep port my.cnf
判定条件
my.cnf文件中port 系统变量应不是3306
标签: #mysql安全配置方案