MySQL数据库安全加固方案

数据库版本:MySQL8.0.22
按照本安全加固方案进行的数据库加固,一般安全扫描工具扫描出来几乎无漏洞。

1.2 帐号安全

1.2.1 避免不同用户间共享帐号

参考以下步骤。
A. 创建用户。

mysql>CREATE USER ‘用户名’@‘用户 host’ IDENTIFIED BY ‘密码’;

执行以上命令可以创建一个用户。
B. 使用以下命令登录 MySQL 服务。

mysql –u 用户名 -p

1.2.2 删除无关帐号

DELETE FROM mysql.user WHERE user=”用户名” and host=”ip/子网掩码” 语句可用于删除一个或多个 MySQL 账户。使用 DELETE 命令时,必须确保当前账号拥有 MySQL 数据库的全局 CREATE USER权限或 DELETE 权限。账户名称的用户和主机部分分别与用户表记录的 User 和 Host 列值相对应。
执行 DELETE FROM mysql.user WHERE user=”用户名” and host=”ip/子网掩码”语句,您可以取消一个账户和其权限,并删除来自所有授权表的帐户权限记录。

1.2.3 修改 root 账号名

输入命令 update mysql.user set user=“[user_name]” where user="root"修改 root 账号名。

1.2.4 禁止重用数据库用户名

使用 sql 命令 select user,count() from mysql.user group by user having count() > 1 查看是否有重用数据库用户名。若有,则删除。

1.2.5 防暴力破解

A. 限制密码输错次数。使用命令 create user ‘用户’@‘host’ identified by ‘密码’ failed_login_attempts 3 password_lock_time 1 限制用户输入密码错误 3 次就锁定账号 1 天。
B. 在 mysqld.cnf 文件里添加如下命令:
plugin-load-add=connection_control.so
connection-control=FORCE_PLUS_PERMANENT
connection-control-failed-login-attempts=FORCE_PLUS_PERMANENT
connection-control-failed-connections-threshold=3
connection-control-min-connection-delay=86400000
connection-control-max-connection-delay=86400000

1.3 口令

A. 检查账户默认密码和弱密码。
B. 口令长度需要至少 14 位,并需要包括数字、英文字母和特殊符号。执行以下命令可对密码类型进行限制。

mysql> INSTALL PLUGIN validate_p

你可能感兴趣的:(安全加固,mysql,mysql,数据库,安全性测试)