mysql审计相关策略
主要针对mysql5.7 在审计时候需要的密码和安全策略收集
1.密码策略相关
可以通过SHOW VARIABLES LIKE ‘validate_password%’ ,进行查询相关参数如果返回空行需要安装密码策略插件。
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
命令行安装方式重启后可能失效,如果需要长期生效,最好加到配置文件中,查询参数
mysql> SHOW VARIABLES LIKE 'validate_password%';
| validate_password_check_user_name | ON |
| validate_password_dictionary_file | |
| validate_password_length | 8 |
| validate_password_mixed_case_count | 1 |
| validate_password_number_count | 1 |
| validate_password_policy | MEDIUM |
| validate_password_special_char_count | 1 |
参数说明:
validate_password_policy:安全强度,默认为中,即1,要求必须包含 数字、符号、大小写字母,长度至少为8位
validate_password_length:密码最小长度
validate_password_mixed_case_count:至少有大小写字母n对,即2*n个
validate_password_number_count:最少数字数量
validate_password_special_char_count:最少符号数量
不常用:
validate_password_check_user_name:用户名检测,检测是否重名
validate_password_dictionary_file:字典文件,启动后必须要满组所使用字典的规则才能满足密码的条件
如果需要可根据要求配置,如
set global validate_password_length = 16;
2.密码过期策略
密码过期策略为参数default_password_lifetime,等于0为永远不过期,此参数为数据库级别生效,在mysql.user表还可以在用户级别配置
查询
mysql> show variables like '%default_password_lifetime%';
+---------------------------+-------+
| Variable_name | Value |
+---------------------------+-------+
| default_password_lifetime | 0 |
+---------------------------+-------+
修改密码90天过期
set global default_password_lifetime=90;
3.用户数据库链接策略配置
连接策略相关插件安装,如果需要进行安装
CONNECTION_CONTROL:用来控制登录失败的次数及延迟响应时间
CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS:该表将登录失败的操作记录至IS库中
install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';
同样为动态安装,如果需要重启后也生效需要在配置文件配置,安装后可查询相关参数
mysql> show variables like 'connection_control%';
+-------------------------------------------------+------------+
| Variable_name | Value |
+-------------------------------------------------+------------+
| connection_control_failed_connections_threshold | 5 |
| connection_control_max_connection_delay | 2147483647 |
| connection_control_min_connection_delay | 900000 |
+-------------------------------------------------+------------+
参数说明
connection_control_failed_connections_threshold #单个用户登录失败(由于密码错误引起)次数上限,默认3次
connection_control_max_connection_delay #失败上限之后再次尝试登录前最大等待时间,单位ms
connection_control_min_connection_delay #失败上限之后再次尝试登录前最小等待时间,默认1秒(1000ms)
可根据需要进行相关配置, 如
set global connection_control_failed_connections_threshold = 10;