Como eu configuro o monitoramento do MySQL com o Fail2ban?

13

Pesquisando na Internet com mecanismos de pesquisa no MySQL e fail2ban produz muitos resultados ao colocar seus logs fail2ban no MySQL, no entanto, eu estou querendo monitorar as tentativas fracassadas do MySQL de efetuar login e banir esses IPs.

Meu aplicativo requer que eu mantenha uma porta para o MySQL aberta, embora eu tenha alterado a porta padrão para aumentar a segurança. Para segurança extra, eu gostaria de monitorar os logs do MySQL com fail2ban.

Alguém tem um guia rápido para configurar o fail2ban para MySQL? Já o tenho instalado e trabalhando em alguns outros serviços, para que você possa pular a parte da instalação e ir direto para a configuração do arquivo de configuração ou o que for necessário.

InvisibleFrisbee
fonte

Respostas:

6

De acordo com esse cara ( http://forums.mysql.com/read.php?30,205612,205612 ) O que você está tentando fazer não é possível.

Além disso: «o uso do mysql.log é descrito como um matador de desempenho e ouvi dizer que ele deveria ser obsoleto nas próximas versões do Mysql. »

Eu estava procurando a mesma coisa. É recomendável que você bloqueie a porta 3306 no seu firewall. Se não for uma opção, boa sorte.

moebius_eye
fonte
4

Você pode ativar o log do mysql:

[mysqld]
log = /var/log/mysql/access.log
log_error = /var/log/mysql/error.log
log_warnings = 2

para que os erros de comunicação apareçam no log e depois monitorem esse arquivo com fail2ban.

http://dev.mysql.com/doc/refman/5.1/en/communication-errors.html

Jure1873
fonte
Detalhe importante: se você estiver usando o MySQL 5.6 ou superior, deverá usar o Fail2ban 0.9.4 ou superior. No momento, ele está no repositório de testes do EPEL:yum install fail2ban --enablerepo=epel-testing
maliayas
1

Esta é a minha configuração no debian 8 e funciona perfeitamente. Também gostaria que você desse uma olhada em um script que criei para registrar essas falhas de logon no banco de dados mysql com a localização dos IPs também.

https://elayo.mx/registrar-ataques-fail2ban-con-geolocalizacion-en-mysql/

[mysqld-auth]

enabled = true
filter   = mysqld-auth
port     = 3306
logpath  = /var/log/mysql/error.log
elayo
fonte