近日公司客户要进行等保测评,查出来MySQL存在密码策略漏洞以及登陆失败处理漏洞,故针对这两个问题进行修复。
解决该问题需要安装mysql的两个插件:
validate_password、connection_control.so
mysql>show plugins; --查看是否安装了插件
我这里已经安装了对应的插件,如未安装,可执行下面方案中install命令进行安装
问题1 数据库密码安全策略
解决:安装validate_password
install plugin validate_password soname 'validate_password.so';
并调整如下策略参数:
validate_password_length=8 --密码最小长度为8
validate_password_mixed_case_count=1 --密码至少要包含的小写字母个数和大写字母个数 为1
validate_password_number_count=1 --密码至少要包含的数字个数 为1
validate_password_policy=1 --密码强度检查等级 1/MEDIUM
问题2 登录失败处理功能
解决:安装connection_control.so插件
install plugin connection_control soname "connection_control.so";
并调整如下策略参数:
Connection_control_failed_connections_threshold=5 --连续失败最大次数5次,0表示不开启
Connection_control_min_connection_delay=108000 --超过最大失败次数之后阻塞登录最小时间(毫秒)
变更过程为不停机变更:
1.修改配置文件my.cnf,在[mysqld]下面添加如上参数
2.动态修改全局配置
set global $参数名=$对应值;
show variables like 'validate%'; --查看当前策略配置是否生效
注:
MySQL5.6不建议开启密码安全策略,存在bug,举例如下:
默认安全策略如下,当要授权用户权限时,会一直报错密码不合规(实际上我得用户密码是合规的),对安全策略进行调整,设置最低,仍然会报错。
此时可以在线卸载validate_password插件
mysql> uninstall plugin validate_password;
版权归原作者 对方处于忙碌中... 所有, 如有侵权,请联系我们删除。