O plug-in Connection-Control é usado para controlar o atraso da resposta do cliente após um certo número de operações de login com falha consecutivas. Pode prevenir a quebra de força bruta do cliente.
1. Verifique se o plug-in está instalado
Se houver connection_control, ele já está instalado, caso contrário, continue na próxima etapa.
Dois, instale o plug-in
Após mysql5.7, o diretório mysql / data / lib / plugin adiciona o plug-in connection_control.so por padrão, basta instalá-lo:
install plugin connection_control soname "connection_control.so"; #登录错误次数限制插件
install plugin connection_control_failed_login_attempts soname 'connection_control.so'; #为了把错误次数记录到表中
Três, defina o plug-in
Verifique o status da instalação
Explicação:
- connection_control_failed_connections_threshold: o número máximo de falhas consecutivas 3 vezes, 0 significa não aberto
- connection_control_max_connection_delay: O tempo máximo para bloquear o login após exceder o número máximo de falhas (milissegundos)
- connection_control_min_connection_delay: O tempo mínimo para bloquear o login após exceder o número máximo de falhas (milissegundos)
Modifique o comando de configuração: set global connection_control_failed_connections_threshold = 5
Quarto, modifique o arquivo de configuração my.cnf
[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
Quinto, consulte o status do plug-in
Connection_control_delay_generated: indica o número de vezes que o controle de conexão é usado (os usuários podem avaliar se há tentativas de login violentas)
Reconfigure a variável connection_control_failed_connections_threshold, o registro da tabela será excluído (reset)
6. Consulte o número de logins com falha para cada conta
use information_schema;
select * from connection_control_failed_login_attempts;
Se você fizer login com um usuário que não existe, a tabela registra que o nome do usuário está vazio, mas o IP de login específico será registrado