Comment configurer la surveillance de MySQL avec Fail2ban?

13

La recherche sur Internet avec les moteurs de recherche sur MySQL et fail2ban donne beaucoup de résultats sur la mise en place de vos journaux fail2ban dans MySQL, mais je veux surveiller les tentatives échouées de MySQL pour se connecter et interdire ces IP.

Mon application nécessite que je garde un port pour MySQL ouvert, bien que j'ai changé le port par défaut pour plus de sécurité. Pour plus de sécurité cependant, je voudrais surveiller les journaux MySQL avec fail2ban.

Quelqu'un at-il un guide rapide pour configurer fail2ban pour MySQL? Je l'ai déjà installé et je travaille sur quelques autres services, vous pouvez donc ignorer la partie installation et passer directement à la configuration du fichier de configuration ou de tout ce qui est nécessaire.

InvisibleFrisbee
la source

Réponses:

6

Selon ce type ( http://forums.mysql.com/read.php?30,205612,205612 ) Ce que vous essayez de faire n'est pas possible.

Aussi: «l'utilisation de mysql.log est décrite comme un tueur de performance et j'ai entendu dire qu'elle devrait être obsolète dans les prochaines versions de Mysql. »

Je cherchais la même chose. Il est suggéré de bloquer le port 3306 sur votre pare-feu. Si ce n'est pas une option, alors bonne chance.

moebius_eye
la source
4

Vous pouvez activer la journalisation mysql:

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

afin que les erreurs de communication apparaissent dans le journal, puis surveillent ce fichier avec fail2ban.

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

Jure1873
la source
Détail important: si vous utilisez MySQL 5.6 ou supérieur, vous devez utiliser Fail2ban 0.9.4 ou supérieur. Pour le moment, il est dans le repo testing EPEL:yum install fail2ban --enablerepo=epel-testing
maliayas
1

Ceci est ma configuration dans Debian 8 et cela fonctionne parfaitement. J'aimerais également que vous jetiez un œil à un script que j'ai créé pour enregistrer ces échecs de connexion à la base de données mysql avec l'emplacement des IP également.

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
la source