本文主要是介绍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数据库安全加固方案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!