MYSQL数据库
===================Mysql数据库=========================
检查空密码
select user,host,password from mysql.user;
select user,host,authentication_string from mysql.user;
password可能为authentication_string;
密码复杂度(5.6.6版本之后添加的,8.0.15、16默认没有添加插件)
show variables like 'validate_password%';
口令定期更换
select user,host,password_expired,password_lifetime,password_last_changed,account_locked from mysql.user;
5.7.4版开始,default_password_lifetime来设置密码过期的策略,此全局变量可以设置一个全局的自动密码过期策略。
show variables like 'wait_timeout';
登陆失败处理功能
show variables like '%connection_control%';(非法登录次数、锁定时间)
show variables like 'max_errors';
show variables like 'max_connections';(最大连接数)
远程加密
show variables like '%ssl%';
多余账户(访谈管理员,每个账户是谁使用的,是否存在多余账户,是否存在共享账户)
select user,host from mysql.user;
权限控制
show grants; # 查看所有用户权限,是否限制数据库地址范围
审计日志(至少开log_bin和log_error)
show global variables like '%log%';
查看general.log是否开启,general.log包括操作日志和安全日志信息,若开启,不用查bin_log和error_log
查看bin_log是否开启,若开启
show master status;//查看现阶段使用哪种方式记录日志
show variables like '%log_bin%';//查看现阶段使用哪种方式记录日志//查看log_bin所在的目录
//查看有哪些binlog
show binary logs;
show master logs;
//查看审计日志
show binlog events in 'mysql-bin.000001';
数据库版本
select @@version;
show variables where variable_name like "version";
超时时间设置(单位为秒)
SHOW GLOBAL VARIABLES LIKE '%timeout%';
查看interactive_timeout=28800(8小时)
资源控制z
//最大连接数
show variables like 'max_connections ';
//每个用户的最大连接数
show variables like 'max_user_connections ';
登陆失败处理功能
show plugins;
cat /etc/my.cnf //如果没有内容的话,就find / -name my.cnf
connection-control-failed-connections-threshold=5 登陆失败次数限制
connection-control-min-connection-delay=108000 限制重试时间,此处为毫秒,注意按需求换算