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

Трудности с Fail2Ban на PhpMyAdmin на CentOS

Я бразилец и все еще пытаюсь адаптироваться к английскому языку.

Мне сложно заставить Fail2Ban работать с phpmyadmin.

я использую CentOS 8.1.1911 и fail2ban 0.10.5-2. Мой PhpMyAdmin - это версия 4.9.0.1.

Я заметил, что PhpMyAdmin регистрирует ошибки входа в /var/log/secure файл.

И у него такой вывод:

Feb 14 21:40:37 www phpMyAdmin[3982]: user denied: root (mysql-denied) from 177.122.254.10
Feb 14 21:42:07 www phpMyAdmin[3978]: user denied: root (mysql-denied) from 177.122.254.10
Feb 14 21:42:09 www phpMyAdmin[3982]: user denied: root (mysql-denied) from 177.122.254.10
Feb 14 21:48:06 www phpMyAdmin[3981]: user denied: root (mysql-denied) from 177.122.254.10

Итак, я настроил свой /etc/fail2ban/jail.conf как это:

[phpmyadmin]
enabled = true
port = http,https
filter = phpmyadmin
action = iptables-multiport[name=phpmyadmin, port="http,https", protocol=tcp]
sendmail-whois[name=PHPMYADMIN, dest=suporte@syspack.net.br]
logpath = /var/log/secure
maxretry = 3

И файл конфигурации фильтра (/etc/fail2ban/filter.d/phpmyadmin.conf), выражения выглядят так:

[Definition]
denied = mysql-denied|allow-denied|root-denied|empty-denied
failregex = ^<HOST> -.*(?:%(denied)s)$
ignoreregex =

Я считаю, что не могу правильно сформировать выражение, поскольку Fail2Ban вообще не блокирует.

Может ли кто-нибудь помочь мне в этом вопросе?

Наконец-то мне удалось решить проблему. Fail2Ban теперь блокируется правильно.

Решил обновить PhpMyAdmin до версии 5.0.1. После этого я отредактировал следующий файл:

/var/www/phpmyadmin/libraries/config.default.php

Я изменил конфигурацию следующим образом:

$ cfg ['AuthLog'] = 'auto'; ------> $ cfg ['AuthLog'] = 'php';

После того, как я это сделал, он начал генерировать логи по-другому и в другом файле.

Журналы начали формироваться в файле "/var/log/php-fpm/www-error.log".

И таким образом:

[15-Feb-2020 17:18:11 UTC] user denied: root (mysql-denied) from 168.194.165.40
[15-Feb-2020 17:18:13 UTC] user denied: root (mysql-denied) from 168.194.165.40
[15-Feb-2020 17:18:14 UTC] user denied: root (mysql-denied) from 168.194.165.40
[15-Feb-2020 17:22:06 UTC] user denied: root (mysql-denied) from 168.194.165.40
[15-Feb-2020 17:22:08 UTC] user denied: root (mysql-denied) from 168.194.165.40
[15-Feb-2020 17:22:09 UTC] user denied: root (mysql-denied) from 168.194.165.40

Затем я настроил файл "/etc/fail2ban/filter.d/phpmyadmin.conf" следующим образом:

[Definition]
denied = mysql-denied | allow-denied | root-denied | empty-denied
failregex = user denied:. + from <HOST> \ s * $
ignoreregex =

После этого я настроил "/etc/fail2ban/jail.conf" следующим образом:

[phpmyadmin]
enabled = true
port = http, https
action = iptables-multiport [name = phpmyadmin, port = "http, https", protocol = tcp]
         # sendmail-whois [name = PHPMYADMIN, dest=suporte@cnsocial.org.br]
logpath = /var/log/php-fpm/www-error.log
maxretry = 3

После этого просто перезапустил fail2ban, чтобы все разрешилось.

Смотрим логи, сейчас блокировка:

2020-02-15 14: 39: 42,005 fail2ban.filter [25748]: INFO [phpmyadmin] Found 168.194.165.40 - 2020-02-15 14:39:41
2020-02-15 14: 39: 44,009 fail2ban.filter [25748]: INFO [phpmyadmin] Found 168.194.165.40 - 2020-02-15 14:39:43
2020-02-15 14: 39: 46,013 fail2ban.filter [25748]: INFO [phpmyadmin] Found 168.194.165.40 - 2020-02-15 14:39:45
2020-02-15 14: 39: 46,204 fail2ban.actions [25748]: NOTICE [phpmyadmin] Ban 168.194.165.40