写在开头
最近在处理了安全加固的问题,有一条要求如下:
可采取结束会话、限制非法登录次数和自动退出等措施经核查,执行show variables like ‘%connection_control%’,结果为:connection_control_failed_connections_threshold Value值为0,未设置登录失败处理功能
看要求是要设置登录失败功能。对处理过程做个简单的记录。欢迎交流学习
1.启用登录失败处理功能
插件动态安装启用
mysql> INSTALL PLUGIN CONNECTION_CONTROL SONAME 'connection_control.so';mysql> INSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS SONAME 'connection_control.so';
验证是否安装
mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINSWHERE PLUGIN_NAME LIKE 'connection%';mysql> SHOW PLUGINS;
查看默认相关变量
mysql> show variables like 'connection_control%';+-------------------------------------------------+------------+| Variable_name | Value |+-------------------------------------------------+------------+| connection_control_failed_connections_threshold | 3 || connection_control_max_connection_delay | 2147483647 || connection_control_min_connection_delay | 1000 |+-------------------------------------------------+------------+
自定义配置
mysql> SET GLOBAL connection_control_failed_connections_threshold = 9;mysql> SET GLOBAL connection_control_min_connection_delay = 1000;mysql> SET GLOBAL connection_control_max_connection_delay = 86400;
再次查看检验自定义配置是否生效
mysql> show variables like 'connection_control%';
connection_control_failed_connections_threshold
失败尝试的次数,默认为3,表示当连接失败3次后启用连接控制,0表示不开启
connection_control_max_connection_delay
响应延迟的最大时间,默认约25天
connection_control_min_connection_delay
响应延迟的最小时间,默认1000微秒,1秒
这些内容也可以写在配置文件内这样重启mysql服务后依然有效。
停用登录失败处理功能,并检验
##卸载mysql> UNINSTALL PLUGIN CONNECTION_CONTROL;mysql> UNINSTALL PLUGIN CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS;##检验插件mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINSWHERE PLUGIN_NAME LIKE 'connection%';##检验配置mysql> show variables like 'connection_control%';
来源地址:https://blog.csdn.net/namelesser/article/details/129063720