На моем сервере работает fail2ban, и он блокирует SSH, но у меня проблемы с запретом пользователей, пытающихся получить доступ к MariaDB с помощью MySQL. Я также использую Adminer, что является основной причиной, по которой я пытаюсь настроить fail2ban на mysql (и fail2ban действительно видит неудачные попытки с использованием adminer). Он может видеть соединения MySQL, но поскольку он использует внутреннее использование localhost, он не может его заблокировать.
Я ищу способ забанить пользователей, когда пользователь не может войти в mysql.
Вот что видит мой журнал fail2ban.log:
2018-06-15 06:51:09,021 fail2ban.ipdns [4520]:
WARNING Determined IP using DNS Lookup:
localhost = ['127.0.0.1', '127.0.0.1', '::1']
Это мой файл jail.local:
[mysqld-auth]
enabled = true
port = 3306
filter = mysqld-auth
logpath = /var/log/mysql/mysql.log
Я пробовал изменить usedns = warn на usedns = no, но предупреждение игнорировалось. Я не вносил никаких изменений в mysql-auth в папке filter.d.
Я предполагаю, что ваша настоящая проблема в следующем:
У вас есть Adminer (альтернатива PHPMYadmin), запущенный на вашем сервере, и вы получаете незаконные попытки входа в веб-интерфейс (и, в свою очередь, MySQL).
Если это правильно, вам ни при каких обстоятельствах не следует пытаться использовать Fail2Ban для блокировки MySQL (в вашем случае это приведет к тому, что никто не сможет его использовать, если вы заблокируете localhost). Вместо этого вам нужно настроить Fail2Ban, чтобы заблокировать доступ к веб интерфейс (например, порт 80/443), если было слишком много попыток нелегального входа в Adminer.