vlambda博客
学习文章列表

Mysql密码安全策略配置

近些年来,网络安全相应的法律法规在逐步完善,网络安全等级保护制度在《网络安全法》的正式实施后,得到大力推进。很多公司、单位,逐渐认识到网络安全等级保护的重要性,为了落实网络安全等级保护工作,我所在的项目最近也做了一次等保的测评,下面是针对 MySQL 数据库相关的一些整改配置。

Tips:示例是以 Mysql 5.7 为例

密码策略

首先登录 Mysql 查看目前数据库的密码策略

show variables like 'validate_password%';

如果出现 Empty set (0.01 sec) 的字样,说明你的 Mysql 还未安装 validate_password 的插件。查看插件列表:

show plugins;

图一

如果没有这一项,说明确实没有安装validate_password插件。

安装插件

要使服务器可用,插件库文件必须位于 MySQL 插件目录中(由plugin_dir系统变量命名的目录)。如果需要,通过在服务器启动时设置 plugin_dir 的值来配置插件目录位置。

show variables like 'plugin_dir';

Mysql密码安全策略配置

图二

插件库的文件名是 validate_password.文件名后缀根据平台的不同而不同(.so 是Unix和类Linux系统,.dll是Windows系统)。要在服务器启动时加载插件,可以在配置文件中使用 plugin-load-add 参数来命名包含它的库文件。修改配置文件my.cnf

vim /etc/my.cnf[mysqld]plugin-load-add=validate_password.so#服务器在启动时加载插件,并防止在服务器运行时删除插件。validate-password=FORCE_PLUS_PERMANENT

修改 my.cnf 之后,重启服务器以使新设置生效。或者,要在运行时注册插件,可以使用以下命令:

service mysqld restart#或install plugin validate_password soname 'validate_password.so';

然后再次查看插件列表,就会出现图一中的那一项 validate_password

配置

再次执行查看密码策略的命令:

show variables like 'validate_password%';

图三

validate_password_check_user_name:设置为ON的时候表示能将密码设置成当前用户名。 validate_password_dictionary_file:用于检查密码的字典文件的路径名。 validate_password_length:所需密码的最小长度。 validate_password_mixed_case_count:默认值为1,如果密码策略是中等或更强的,限制小写字符和大写字符个数。 validate_password_number_count:如果密码策略是中等或更强的,要求密码具有数字的个数。 validate_password_policy:默认值为1, 密码强度等级 [LOW:0| MEDIUM:1 | STRONG:2] validate_password_special_char_count : 默认值为1,限制特殊字符个数 其中,validate_password_policy 0/LOW:只检查长度。1/MEDIUM:检查长度、数字、大小写、特殊字符。2/STRONG:检查长度、数字、大小写、特殊字符字典文件。

可以使用以下命令修改上述值:

set global validate_password_policy=1;set global validate_password_length=8;flush privileges;

也可以在配置文件中直接配置:

vim /etc/my.cnf[mysqld]validate_password_policy=1validate_password_length=8

参考和相关链接

mysql 5.7安装密码校验插件validate_password:https://www.cnblogs.com/alonely/p/10927541.html

MYSQL57密码策略修改:https://www.cnblogs.com/zhi-leaf/p/5994478.html  

治恒说说
森林之王,泰坦巨猿#斗罗大陆@治恒说说
视频号