MySQL数据库启用密码安全策略

用户登录数据库时,采用用户名、口令的方式进行身份鉴别,为防止密码过于简单遭到恶意破解问题,MySQL数据库服务需要启用安全的密码策略(比如密码需要满足一定的长度,必须包含字母、必须包含特殊字符等);MySQL用户进行密码设置需要满足已启用的密码策略。

密码校验插件

MySQL数据库自带密码校验插件,插件(validate_password.dll)位置位于安装目录相对路径(…\lib\plugin)下,如下图:
plugin_dir
不清楚MySQL插件库的路径也可通过SQL查询插件库的路径信息。

mysql> SHOW GLOBAL VARIABLES LIKE 'plugin_dir';

sql_select_dir

插件安装

#安装插件
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.dll';
#查看数据库安装的插件
mysql> SELECT * from mysql.plugin ;

执行以上命令,并查看安装的插件信息,下面的为刚才安装的插件。
result_pic

查看策略配置
mysql> show variables like 'validate_password%'; 

执行以上SQL可以查看默认的配置参数信息。
var_pic

部分参数说明

只列出部分主要参数说明,
更详细信息请参看官网:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html

#密码安全策略,默认MEDIUM策略(0 or LOW;1 or MEDIUM;2 or STRONG)	
validate_password_policy 
 #设置密码的最小长度,默认值是8
validate_password_length
#当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;
validate_password_mixed_case_count 
 #当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的数字的个数,默认1最小是0
validate_password_number_count
#当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的特殊字符的个数,默认1最小是0
validate_password_special_char_count 
修改默认参数

其他参数采用默认参数,只修改密码的最小长度为10个字符长度。至少一个数字、一个大写字母、一个小写字母、一个特殊字符,长度不小于10

mysql> set global validate_password_check_user_name = on;
mysql> set global validate_password_length=10;

update_res

密码测试

通过创建用户进行测试密码策略是否生效(修改密码亦可):

  • 第一次采用长度为4的纯数字,校验不通过;
  • 第二次采用长度为10的纯数字,校验不通过;
  • 第三次采用长度为9(包含数字、大写字母、小写字母、特殊字符),校验不通过;
  • 第四次采用长度为10(包含数字、大写字母、小写字母),校验不通过;
  • 第五次采用长度为10(包含数字、大写字母、特殊字符),校验不通过;
  • 第六次采用长度为10(包含数字、小写字母、特殊字符),校验不通过;
  • 第七次采用长度为10(包含数字、大写字母、小写字母、特殊字符),校验通过。

test_result

插件卸载

mysql> UNINSTALL PLUGIN validate_password;

执行以上命令,并查看结果,显示插件已卸载。
delete_result

其他插件应用

插件参数配置参看:https://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html
MySQL数据库安全审计功能参看:https://blog.csdn.net/weixin_39699061/article/details/103482490
MySQL用户登录控制(密码连续输入错误5次限制登录)https://blog.csdn.net/weixin_39699061/article/details/103517105

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值