As of MySQL 5.7.17, MySQL Server includes a plugin library that enables administrators to introduce an increasing delay in server response to connection attempts after a configurable number of consecutive failed attempts. This capability provides a deterrent that slows down brute force attacks against MySQL user accounts. The plugin library contains two plugins:
- CONNECTION_CONTROLchecks incoming connection attempts and adds a delay to server responses as necessary. This plugin also exposes system variables that enable its operation to be configured and a status variable that provides rudimentary monitoring information.- The - CONNECTION_CONTROLplugin uses the audit plugin interface (see Writing Audit Plugins). To collect information, it subscribes to the- MYSQL_AUDIT_CONNECTION_CLASSMASKevent class, and processes- MYSQL_AUDIT_CONNECTION_CONNECTand- MYSQL_AUDIT_CONNECTION_CHANGE_USERsubevents to check whether the server should introduce a delay before responding to connection attempts.
- CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTSimplements an- INFORMATION_SCHEMAtable that exposes more detailed monitoring information for failed connection attempts. For more information about this table, see Section 24.6.2, “The INFORMATION_SCHEMA CONNECTION_CONTROL_FAILED_LOGIN_ATTEMPTS Table”.
The following sections provide information about connection control plugin installation and configuration.