MySQL安裝控制插件(Connection-Control)--可有效的防止客戶端暴力登錄的風險(攻擊)


插件介紹

MySQL 5.7.17 以后提供了Connection-Control插件用來控制客戶端在登錄操作連續失敗一定次數后的響應的延遲。該插件可有效的防止客戶端暴力登錄的風險(攻擊)。該插件包含以下2個組件

  • CONNECTION_CONTROL:用來控制登錄失敗的次數及延遲響應時間
  • CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS:該表將登錄失敗的操作記錄至IS庫中

插件安裝

-- 配置文件增加以下配置 [mysqld] plugin-load-add = connection_control.so connection-control = FORCE connection-control-failed-login-attempts = FORCE connection_control_min_connection_delay = 1000 connection_control_max_connection_delay = 86400 connection_control_failed_connections_threshold = 3 -- 插件動態安裝啟用 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.PLUGINS WHERE 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 = 3; mysql> SET GLOBAL connection_control_min_connection_delay = 1000; mysql> SET GLOBAL connection_control_max_connection_delay = 86400; -- 查看修改后的配置 mysql> show variables like 'connection_control%'; +-------------------------------------------------+-------+ | Variable_name | Value | +-------------------------------------------------+-------+ | connection_control_failed_connections_threshold | 3 | | connection_control_max_connection_delay | 86400 | | connection_control_min_connection_delay | 1000 | +-------------------------------------------------+-------+ 
  • connection_control_failed_connections_threshold
    • 失敗嘗試的次數,默認為3,表示當連接失敗3次后啟用連接控制,0表示不開啟
  • connection_control_max_connection_delay
    • 響應延遲的最大時間,默認約25天
  • connection_control_min_connection_delay
    • 響應延遲的最小時間,默認1000微秒,1秒
-- 該表記錄登錄失敗的用戶及失敗次數,當用戶登錄成功后,登錄失敗的記錄則會被刪除。 -- 重新配置connection_control_failed_connections_threshold變量,該表記錄會被刪除(重置) -- 如果使用不存在的用戶登錄,則該表記錄用戶名為空,但會記錄具體登錄的IP use information_schema; select * from connection_control_failed_login_attempts; -- 連接控制的使用次數(可用戶判斷是否存在暴力登錄嘗試) -- 重新配置connection_control_failed_connections_threshold變量,該表記錄會被刪除(重置) mysql> show global status like 'Connection_control_delay_generated'; +------------------------------------+-------+ | Variable_name | Value | +------------------------------------+-------+ | Connection_control_delay_generated | 5 | +------------------------------------+-------+


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM