Поиск в Интернете с помощью поисковых систем на MySQL и fail2ban дает много результатов при размещении журналов fail2ban в MySQL, однако я хочу отслеживать неудачные попытки MySQL войти в систему и запретить эти IP-адреса.
Мое приложение требует, чтобы я оставил порт для MySQL открытым, хотя я изменил порт по умолчанию для дополнительной безопасности. Однако для дополнительной безопасности я хотел бы отслеживать журналы MySQL с помощью fail2ban.
У кого-нибудь есть краткое руководство по настройке fail2ban для MySQL? У меня он уже установлен и работает над несколькими другими службами, поэтому вы можете пропустить часть установки и сразу перейти к настройке файла конфигурации или тому, что еще необходимо.
По словам этого парня ( http://forums.mysql.com/read.php?30,205612,205612 ) То, что вы пытаетесь сделать, невозможно.
Также: «использование mysql.log описано как убийца производительности, и я слышал, что он должен быть устаревшим в следующих версиях Mysql. »
Я искал то же самое. Предлагается заблокировать порт 3306 на брандмауэре. Если это не вариант, тогда удачи.
Вы можете включить ведение журнала mysql:
[mysqld]
log = /var/log/mysql/access.log
log_error = /var/log/mysql/error.log
log_warnings = 2
чтобы ошибки связи отображались в журнале, а затем отслеживали этот файл с помощью fail2ban.
http://dev.mysql.com/doc/refman/5.1/en/communication-errors.html
Это моя конфигурация в debian 8, и она отлично работает. Также я хотел бы, чтобы вы взглянули на сценарий, который я создал для регистрации этих сбоев входа в базу данных mysql с указанием местоположения IP-адресов.
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