¿Cómo configuro el monitoreo de MySQL con Fail2ban?

13

Buscar en Internet con motores de búsqueda en MySQL y fail2ban produce muchos resultados al colocar sus registros de fail2ban en MySQL, sin embargo, quiero monitorear los intentos fallidos de MySQL de iniciar sesión y prohibir esas IP.

Mi aplicación requiere que mantenga abierto un puerto para MySQL, aunque he cambiado el puerto predeterminado para mayor seguridad. Sin embargo, para mayor seguridad, me gustaría monitorear los registros de MySQL con fail2ban.

¿Alguien tiene una guía rápida para configurar fail2ban para MySQL? Ya lo tengo instalado y trabajando en un par de otros servicios, por lo que puede omitir la parte de instalación y pasar directamente a la configuración del archivo de configuración o cualquier otra cosa que sea necesaria.

Frisbee invisible
fuente

Respuestas:

6

De acuerdo con este chico ( http://forums.mysql.com/read.php?30,205612,205612 ) Lo que estás tratando de hacer no es posible.

Además: «el uso de mysql.log se describe como un asesino de rendimiento y escuché que debería quedar obsoleto en las próximas versiones de Mysql. »»

Estaba buscando lo mismo. Se sugiere que bloquee el puerto 3306 en su firewall. Si no es una opción, buena suerte.

moebius_eye
fuente
4

Puede habilitar el registro de mysql:

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

para que los errores de comunicación aparezcan en el registro y luego monitoreen ese archivo con fail2ban.

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

Jure1873
fuente
Detalles importantes: si está utilizando MySQL 5.6 o superior, debe utilizar Fail2ban 0.9.4 o superior. Por el momento, está en el repositorio de pruebas de EPEL:yum install fail2ban --enablerepo=epel-testing
maliayas
1

Esta es mi configuración en Debian 8 y funciona perfectamente. También me gustaría que eche un vistazo a un script que creé para registrar estas fallas de inicio de sesión en la base de datos mysql con la ubicación de las IP también.

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
fuente