mysql 三级等保加固操作手册
这一行的意思是数据库重启的时候自动加载密码复杂度插件,不配置的话,一般没问题,但遇到数据库迁移的话,可能会启动数据库失败,为保险起见,还是加上这一行。connection-control-min-connection-delay=1800000#限制重试时间,此处为毫秒,注意按需求换算。等保三级中要求设置密码负责度策略,密码最小长度设置为8位,采用数字、字母、特殊符号等组合的方式。输错5次密码后,
1.mysql设置密码复杂度
等保三级中要求设置密码负责度策略,密码最小长度设置为8位,采用数字、字母、特殊符号等组合的方式。
1.1 安装插件:
mysql> INSTALL PLUGIN validate_password SONAME 'validate_password.so';
1.2 修改/etc/my.cnf,增加以下配置,
[mysqld]
plugin-load-add=validate_password.so
validate_password = on
validate_password_policy = 1
validate_password_length=8
1.3 重启数据库生效:
各项解释如下:

plugin-load-add=validate_password.so
这一行的意思是数据库重启的时候自动加载密码复杂度插件,不配置的话,一般没问题,但遇到数据库迁移的话,可能会启动数据库失败,为保险起见,还是加上这一行。
validate_password = on
开启密码复杂度验证插件
validate_password_policy = 1
密码负责度策略,这里设置为1,中复杂度。
validate_password_policy类型如下,有三个可选项
validate_password_length=8
设置密码的最小长度
验证:使用弱口令进行密码验证
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
结果如下:

- mysql设置用户密码错误次数达到5次后锁定10分钟
解决方法(通过MySQL插件控制)
- 登录数据库,安装插件
(CONNECTION_CONTROL和CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS)
install plugin CONNECTION_CONTROL soname 'connection_control.so';
install plugin CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS soname 'connection_control.so';
2、查看所有已安装的插件
show plugins;

3、按需修改配置文件(/etc/my.cnf)
vim /etc/my.cnf
添加如下两行配置:
connection-control-failed-connections-threshold=5 #登陆失败次数限制
connection-control-min-connection-delay=1800000 #限制重试时间,此处为毫秒,注意按需求换算
重新启动MySQL
4、重新登录数据库,查看配置是否生效
show variables like '%connection_control%';

5、验证
输错5次密码后,会发现第6次登录会卡住,限制登录,时间为设定的限制时间30分钟
3.mysql设置 30分钟无操作断开连接
登录mysql以后执行如下命令即可

SET GLOBAL wait_timeout = 1800;
SET GLOBAL interactive_timeout = 1800;
4.开启通用日志
SET GLOBAL general_log = 'ON';
mysql> SHOW VARIABLES LIKE '%general%';
+------------------+-----------------------------+
| Variable_name | Value |
+------------------+-----------------------------+
| general_log | ON |
| general_log_file | /var/lib/mysql/mysql-vm.log |
+------------------+-----------------------------+
2 rows in set (0.00 sec)
更多推荐
所有评论(0)