Mysql数据库安全基线

1.查看数据库所有用户和密码情况
select user,authentication_string,host from user
select user,host, password_lifetime, password_expired, password_last_changed from mysql.user;
password_lifetime:表示帐户密码的有效期限,以天为单位
password_expired : 表示账户过期时是否重置密码
password_last_changed :指示上次更改密码的时间
2.查看数据库用户口令复杂度配置
show variables like 'validate_password%'
validate_password_check_user_name:表示检查用户名
validate_password_dictionary_file : 用于检查密码的字典文件的路径名
validate_password_length:密码应包含的最小字符数
validate_password_mixed_case_count:密码应具有的最小大小写字母字符数
validate_password_number_count:密码具有的最小数字(数字)字符数
validate_password_policy:密码强度
validate_password_special_char_count:如果密码策略为MEDIUM或更强密码,则要求密码具有的最小非字母数字字符数
3.数据库用户登录失败处理配置
show variables like “%max_connect_errors%";查看错误连接次数
4.查看数据库超时连接返回值
show variables like ”%timeout%“
5.查看采用加密等安全方式对系统进行远程管理配置
show variables like %have_ssl%"
6.查看数据库用户分配账户和权限;
select * from mysql.user 查看用户
show grants for ' XXXX'@’localhost’查看用户权限
select * from mysql.user\G 检查用户权限列。
select * from mysql.db\G 检查数据库权限列。
select * from mysql.tables_priv\G 检查用户表权限列。
7.查看数据库日志内容
show variables like ' log_%’
8.查看数据库补丁版本
select @@version
show variables where variable_name like "version"
