1.查询MySQL数据库口令复杂度,长度
查询命令: show variables like 'validate_password%' ;
结果 1:当数据库未安装 validate_password.so 密码复杂度插件时,查询会报错,数据库
参数说明:
validate_password_dictionary_file:密码策略文件,策略为 STRONG 才需要 validate_password_length:密码长度
validate_password_mixed_case_count:大小写字母
validate_password_number_count :数字
validate_password_special_char_count:特殊字符
(2)查询 mysql 数据库密码有效期
设置密码有效期命令:SET GLOBAL default_password_lifetime = 90;
查看密码有效期命令:show global variables like 'default_password_lifetime' ;
参数说明:
default_password_lifetime:密码有效期 密码有效期不大于 90 天
(3)查询 mysql 数据库登录失败处理措施
查询最大连接失败次数设置命令:show variables like '%max_connect_errors%' ;
参数说明:
max_connect_errors:最大请求连接失败次数
当 mysql 数据库收到来自同一主机的连接请求,但请求失败次数超设定的次数后,mysql 会 拒绝后续这一主机后续的连接请求。
查看连续登录失败次数设置命令:show variables like '%connection_control%' ;
参数说明:
connection_control_failed_connections_threshold:单个用户登录失败(由于密码错误 引起)次数上限,默认 3 次
connection_control_max_connection_delay:失败上限之后再次尝试登录前最小等待时间, 单位 ms
connection_control_min_connection_delay:失败上限之后再次尝试登录前最小等待时间, 默认 1 秒(1000ms)
(4)查询 mysql 数据库超时时间
查看连接空闲超时时间命令 1:show variables like 'wait_timeout' ;
查看连接空闲超时时间命令 2:show variables like '%timeout' ;
参数说明:
Connect_time:mysql 客户端在尝试与 mysql 服务器建立连接时,mysql 服务器返回错误握 手协议前等待客户端数据包的最大时限。默认 10 秒。
Wait_timeout:等待超时时间、默认值 28800 秒(8 小时)
interactive_timeout:交互式连接超时时间(mysql 工具、mysqldump 等) wait_timeout:非交互式连接超时时间
(5)查询 mysql 数据库用户及用户允许登录的 IP
MYSQL 数据库默认账户:root
查询数据库用户列表及用户对应的登录 IP:select user,host from mysql.user;
参数说明:
Host 列指定了允许用户登录所使用的 IP,比如 user=root Host=192.168.1.1。这里的意思 就是说 root 用户只能通过 192.168.1.1 的客户端去访问。
而%是个通配符,如果 Host=192.168.1.%,那么就表示只要是 IP 地址前缀为“ 192.168.1. ” 的客户端都可以连接。如果 Host=%,表示所有 IP 都有连接权限。
查询用户权限:show grants for root@localhost ;
查询数据库当前登录用户:select user () ;
(6)查询 mysql 数据库是否开启审计功能
查看数据库 general_log 的日志文件是否开启:show variables like 'general_log%' ;
参数说明:
general_log:记录所有到达 MySQL Server 的 SQL 语句记录,VALUE 值为 ON,说明已开启。
查看数据库 log_bin 的日志文件是否开启:show variables like 'log_bin' ;
参数说明:
Log_bin:记录了所有的 DDL 和 DML(除了数据查询语句)语句,VALUE 值为 ON,说明已开启。
(7)查询是否通过加密方式进行远程管理
查询远程管理加密方式命令:show variables like '%have_ssl%' ;
参数说明:
1、Have_SSL:SSL 连接,VAULE 值为 NO:说明未开启 SSL 协议加密功能;为 YES,说明开启 了 SSL 远程加密协议
2、若数据库本地管理,此项为不适用