MySQL管理——连接控制插件

2023-09-21 16:33:06 浏览数 (1)

MySQL提供了一个连接控制插件,可以在用户连续尝试失败后增加服务器响应延迟,该功能提供了一种威慑,可以减缓针对MySQL用户帐户的暴力攻击。

“CONNECTION_CONTROL”插件检查传入的连接尝试,并在必要时为服务器响应添加延迟。插件公开了三个系统变量和一个状态变量,可以配置其操作,并提供基本的监控信息。

  • “connection_control_failed_connections_threshold”:在服务器为后续连接尝试添加延迟之前,允许帐户连续失败的尝试次数
  • “connection_control_max_connection_delay”:服务器响应失败连接尝试的最大延迟(以毫秒为单位)
  • “connection_control_min_connection_delay”:服务器响应失败连接尝试的最小延迟(以毫秒为单位)

通过对上述变量的配置,指定所有连续失败尝试的阈值、延迟量和最大延迟。如果阈值设置为3,延迟量设置为1000,则连续第四次尝试失败将导致延迟1000毫秒,第五次失败尝试将导致延迟2000毫秒,以此类推,直到达到最大延迟值。

该插件的安装文件为“connection_control.so”,与普通的插件安装方式相同:

代码语言:javascript复制
mysql>INSTALL PLUGIN connection_control SONAME 'connection_control.so';

安装成功后,三个变量值可以通过动态配置或者写入配置文件中。如果用户没有安装该插件,则默认的阈值为3,延迟时间为1000毫秒,最大延迟值为2147483647。

连接失败可以通过状态变量“Connection_control_delay_generated”进行观察。该变量值表示服务器对失败的连接尝试增加响应延迟的次数。

此外,用户可以考虑安装“ CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS”插件,通过Information Schema获取连接失败的更多信息

0 人点赞