介绍

以前没有太注意MySQL密码安全策略的配置方法,只是人为了将密码设为复杂密码,但是没有找到配置的方法,今天姜承尧的微信公众号正好发布了一篇关于这个的文章,所以在这里也顺便将方法写下来。首先该功能是在5.5以后的mysql版本才引入的插件,默认源码安装和二进制安装都没有启用该功能,如果没有开启该功能设置简单密码mysql只是会给予提示但还是会允许通过。

启用功能

在my.cnf文件中加入

plugin-load=validate_password.so 
validate-password=FORCE_PLUS_PERMANENT 
登录后复制

分析功能

show variables like 'validate%';
登录后复制

1. validate_password_policy

代表的密码策略,可配置的值有以下:默认是MEDIUM

0 or LOW 仅需需符合密码长度(由参数validate_password_length指定)
1 or MEDIUM 满足LOW策略,同时还需满足至少有1个数字,小写字母,大写字母和特殊字符
2 or STRONG 满足MEDIUM策略,同时密码不能存在字典文件(dictionary file)中 
登录后复制

2.validate_password_dictionary_file

用于配置密码的字典文件,当validate_password_policy设置为STRONG时可以配置密码字典文件,字典文件中存在的密码不得使用。

3.validate_password_length

用来设置密码的最小长度,默认值是8最小是0

4.validate_password_mixed_case_count

当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少同时拥有的小写和大写字母的数量,默认是1最小是0;默认是至少拥有一个小写和一个大写字母。

5.validate_password_number_count

当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的数字的个数,默认1最小是0

6.validate_password_special_char_count

当validate_password_policy设置为MEDIUM或者STRONG时,密码中至少拥有的特殊字符的个数,默认1最小是0

测试


第一个密码是长度不够且没有大写字母,第二个密码长度够了但是没有大写字母

参考链接:

http://mp.weixin.qq.com/s?__biz=MjM5MjIxNDA4NA==&mid=2649737686&idx=1&sn=c92874c88ff8e07a199d5ef81fbae359&scene=23&srcid=0701fj032oJWRFEv9eDsM10s#rd

总结

增加了密码的复杂度要求对系统的安全性会有很大的提升,特别是在线系统非常有必要启用该功能。

以上所述是小编给大家介绍的MySQL 密码增强插件,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

08-30 06:21