一、问题:未设置口令复杂度和口令有效期
现状:操作系统未设置密码复杂度、口令有效期
整改措施:修改配置文件,添加配置密码复杂度,8位以上,包含大写字母、小写字母、数字、特殊符号其中3种;口令有效期90天
修复记录:
1、SSH 登录数据库
mysql -u root -p
2、查看当前设置
SHOW VARIABLES LIKE 'validate_password%';
如果没有输出可选择执行开启命令
INSTALL PLUGIN validate_password SONAME 'validate_password.so';
3、设置密码长度
SET GLOBAL validate_password_length = 12;
4、其他设置
SET GLOBAL validate_password.policy = 'MEDIUM'; -- 可选值:LOW, MEDIUM, STRONG
SET GLOBAL validate_password.mixed_case_count = 2;
SET GLOBAL validate_password.number_count = 2;
SET GLOBAL validate_password.special_char_count = 1;
SET GLOBAL default_password_lifetime = 90;
5、配置文件持久化设置修改配置文件(可能会报错还需要查看)
[mysqld]
default_password_lifetime = 90
validate_password.length = 12
validate_password.policy = MEDIUM
validate_password.mixed_case_count = 2
validate_password.number_count = 2
validate_password.special_char_count = 1
6、重启 MySQL
sudo systemctl restart mysql
常用命令:
1、使用当前数据库
use mysql
2、修改密码
alter user 'root'@'%' identified with mysql_native_password by '123456';
3、查看信息
select host,user from user;
4、更改访问权限
update user set host='%' where user='root';
注:实施过程中发现代码无法连接数据库 经检查为账号权限丢失 重新授权
权限授予
1、检查权限 SHOW GRANTS FOR 'biao'@'%';
2、授予权限 GRANT ALL PRIVILEGES ON biao.* TO 'biao'@'%';
3、刷新配置 FLUSH PRIVILEGES;
二、问题:未设置登录失败处理功能和超时登录功能;
整改措施:修改配置文件,设置登录失败处理功能,如5分钟内登录失败3次锁定账号5分钟,10分钟不操作自动退出
修复记录:
1、安装插件
nstall plugin connection_control soname "connection_control.so";
install plugin connection_control_failed_login_attempts soname 'connection_control.so';
2、查看是否激活
SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE 'connection%';
3、设置参数
set global connection_control_failed_connections_threshold = 5;
set global connection_control_max_connection_delay = 1800000;
set global connection_control_min_connection_delay = 1800000;
4、配置文件
[mysqld]
wait_timeout = 600
interactive_timeout = 600
5、检查结果
show variables like '%connection_control%';
三、问题:安全审计缺失,gerenal_log日志未开启
整改措施:修改配置文件,开启gerenal_log日志
修复记录:
1、修改配置文件
[mysqld]
general_log = 1
general_log_file = /var/log/mysql/general.log
评论