Назад | Перейти на главную страницу

Использование fail2ban для блокировки mysql на локальном хосте

На моем сервере работает 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.

  • Настройте Adminer для регистрации незаконных попыток
  • Настройте Fail2Ban для сканирования этих журналов и блокировки доступа к плохим клиентам.