MySQL(Windows)数据库安全加固指导手册

适用版本

mysql  Ver 14.12 Distrib 5.0.51b/8.0.21

  • 安全加固指导
    1.  安全计算环境
      1.  身份鉴别
        1.  检查是否存在空密码
        2.  检查是否存在匿名账户
      2.  访问控制
        1.  检查是否按用户分配账号
        2.  检查是否禁止mysql以管理员账号权限运行
        3.  检查是否禁止mysql对本地文件存取
        4.  检查是否更改默认mysql管理员账号 
        5.  根据机器性能和业务需求,设置最大连接数

加固要求

应不存在空密码账户

加固方法

以下操作需DBA权限

修改帐户弱密码

如要修改密码,执行如下命令:

将密码为root的用户密码修改为test!p3

mysql> update user set password=password('test!p3') where user='root';

刷新mysql的系统权限相关表

mysql> flush privileges;

检查方法

使用命令:

select Password from user

8.0.22版本使用命令:

select authentication_string from user

5.7版本使用命令:

select Password from user

结果中不存在密码为空的用户为符合。

MySQL5.6

MySQL5.7.31

MySQL8.0.22

加固情况

备注

加固要求

应禁用匿名账户

加固方法

以下操作需DBA权限

mysql>use mysql;

mysql>delete from user where User = '';

刷新mysql的系统权限相关表

mysql> flush privileges

检查方法

使用命令:

select user from user

结果中不存在匿名用户为符合。

MySQL5.6

MySQL5.7.31

MySQL8.0.22

加固情况

备注

加固要求

应按用户分配账号权限

加固方法

以下操作需DBA权限

eg:创建账号test,密码为nsfocus

mysql>insert into mysql.user(Host,User,Password,ssl_cipher,x509_issuer,x509_subject) values("localhost","test",password("nsfocus"),'','','');

检查方法

使用命令:

select user from user

结果中不存在多余、过期账号为符合。

MySQL5.6

MySQL5.7.31

MySQL8.0.22

加固情况

备注

加固要求

应配置用户不能重复使用最近5次内已使用过的密码

加固方法

创建mysql用户并在my.ini中配置user=mysql

检查方法

进入mysql安装目录的根目录,找到my.ini文件,查看文件内容

结果中包含user=mysql语句为符合。

加固情况

备注

加固要求

应禁止mysql对本地文件进行存取操作

加固方法

在my.ini的mysqld字段下加入local-infile=0 重启mysql后生效 假如需要获取本地文件,需要打开此功能,但出于安全考虑建议关闭 重新开启local-infile=1。

检查方法

进入mysql安装目录的根目录,找到my.ini文件,查看文件内容。

结果中包含local-infile=0语句为符合。

加固情况

备注

加固要求

应更改默认MySQL管理员账号口令

加固方法

以下操作需DBA权限

mysql> update user set user="newname" where user="root";

刷新mysql的系统权限相关表

mysql> flush privileges;

newname为管理员账号的新名称,改成不易被猜测的用户名。

检查方法

使用命令:

select user from user

结果中不包含root用户为符合。

MySQL5.6

MySQL5.7.31

MySQL8.0.22

加固情况

备注

加固要求

应根据机器性能和业务需求,设置最大连接数

加固方法

在mysql的安装目录下,在my.ini中在[mysqld]配置段添加: max_connections = 1000,重启mysql服务。

检查方法

进入mysql安装目录的根目录,找到my.ini文件,查看文件内容。

结果中包含max_connections = 1000语句为符合。

加固情况

备注

      1.  入侵防范
        1.  检查是否删除测试安装的test库
      2.  日志审计
        1.  检查是否配置日志功能

加固要求

应删除mysql测试库test库

加固方法

以下操作需DBA权限

显示所有数据库

mysql> show databases;

删除命名为test的数据库

mysql> drop database test;

刷新mysql的系统权限相关表

mysql> flush privileges;

检查方法

使用命令:

show databases

结果中不包含test库为符合。

MySQL5.6

MySQL5.7.31

MySQL8.0.22

加固情况

备注

加固要求

应开启通用日志,日志应至少保存6个月以上

加固方法

检查是否配置错误日志:

在mysql的安装目录下,在my.ini中配置log_error的目录,并重启mysql服务。

检查是否配置 慢查询日志:

在mysql的安装目录下,在my.ini中配置log_slow_queries的目录,并重启mysql服务。

检查是否配置二进制日志:

在mysql的安装目录下,在my.ini中配置log_bin的目录,并重启mysql服务。

检测是否配置更新日志:

在mysql的安装目录下,在my.ini中配置log_slave_updates=1,并重启mysql服务。

检查是否配置查询日志:

在mysql的安装目录下,在my.ini中配置log的目录,并重启mysql服务。

检查方法

进入mysql安装目录的根目录,找到my.ini文件,查看文件内容

结果中配置了log文件的目录为符合。

加固情况

备注

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值