MySQL8.* 等保合规修复

 ·  2024-08-21

一、问题:未设置口令复杂度和口令有效期
现状:操作系统未设置密码复杂度、口令有效期
整改措施:修改配置文件,添加配置密码复杂度,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
 MySQL
评论
Jan. All Rights Reserved. Theme Jasmine by Kent Liao.
蜀ICP备2023017538号-1