等保审核 --- MySQL密码复杂度--和连接错误超时等
系统版本: Centos 7
MySQL版本: 5.7.19
架构: 主从架构
审计插件:
validate_password.so(数据库自带5.6后版本都拥有此插件)
操作过程:
1). 安装validate_password.so
2). 密码复杂度设置
配置说明:
1). validate-password=ON/OFF/FORCE/FORCE_PLUS_PERMANENT: 决定是否使用该插件(及强制/永久强制使用)。
2). validate_password_dictionary_file=xxx/xxx/xx:插件用于验证密码强度的字典文件路径,策略为STRONG才需要
3). validate_password_policy= 0 #0(LOW), 1 (MEDIUM), 2 (STRONG)
4). validate_password_length = 8 : 密码最短长度
5). validate_password_mixed_case_count = 1 :大小写字符长度,至少1个
6). validate_password_number_count = 2 : 数字至少1个
7). validate_password_special_char_count = 1: 特殊字符至少1个
策略 检查规则
0 or LOW Length
1 or MEDIUM Length; numeric, lowercase/uppercase, and special characters
0 or LOW Length; numeric, lowercase/uppercase, and special characters; dictionary file
一、 安装validate_password.so
mysql> install plugin validate_password soname 'validate_password.so'
mysql> show plugins;
...
validate_password | ACTIVE | VALIDATE PASSWORD | validate_password.so | GPL
...
# 查看默认密码复杂策略;
mysql> show global variables like 'validate%';
二、 密码复杂度设置
~]# vim /etc/my.cnf
# 密码复杂度审计
plugin-load-add=validate_password.so
validate-password=ON
validate_password_policy = 1
validate_password_length = 8
validate_password_mixed_case_count = 1
validate_password_number_count = 2
validate_password_special_char_count = 1
实际情况:
1.先查看该插件是否安装启用,若没有,则进行安装启用
mysql> show plugins;
mysql> install plugin validate_password soname 'validate_password.so'
2.默认启用该插件后,查看默认密码复杂策略,默认得策略就是等保要求的策略,不需要再修改了
mysql> show global variables like 'validate%';
超时
经核查,(1)运行show variables like 'max_connect_errors'和show variables like '%timeout%',
显示max_connect_errors=1000000(对于同一主机,如果有超出该参数值个数的中断错误连接,则该主机将被禁止连接)
,Wait_timeout = 28800(服务器关闭非交互连接之前等待活动的秒数);
(2)登录错误次数设置过多,且登录连接超时时间设置过长。
show variables like 'max_connect_errors';
show variables like '%timeout%';
set global max_connect_errors=10;
set global interactive_timeout=300;
set global wait_timeout=300; (只修改这一个不行,必须先修改interactive_timeout,退出后重新登录才能看到效果)
启用SSL连接特性
运行show variables like '%ssl%',结果显示SSL:FALSE