Мы использовали fail2ban
заблокировать не удалось ssh
попытки. Я хотел бы настроить то же самое для phpMyAdmin.
Так как phpMyAdmin
не регистрирует попытки аутентификации для файла (о котором я знаю), я не уверен, как лучше всего это сделать.
Существует ли плагин / конфигурация, которая делает phpMyAdmin
log попытки аутентификации к файлу? Или есть другое место, где мне следует поискать такой журнал активности?
В идеале я смогу найти решение, связанное с изменением fail2ban
только config, так как мне нужно настроить fail2ban
с одинаковыми параметрами на нескольких серверах, и предпочел бы не изменять различные phpMyAdmin
установки на указанных серверах.
Я думаю, что лучший способ (и, на мой взгляд, менее опасный) использовать phpMyAdmin - это не открывать phpMyAdmin напрямую на общедоступном IP-адресе, а прослушивать только внутренний IP-адрес или loopback и создавать SSH-туннель для подключения к нему, используя локальный порт на машина, с которой вы хотите работать с phpMyAdmin. Таким образом, разумная аутентификация контролируется SSH (и уже заблокирована fail2ban).
Мы защищаем phpmyadmin, добавляя аутентификацию apache htaccess ldap (или аутентификацию файла) для местоположения phpmyadmin. Вы должны ввести пароль дважды, но неудачные попытки входа в систему распознаются fail2ban.
Я использовал комбинацию .htaccess
и простой php
сценарий, чтобы предоставить решение, которое я считаю приемлемым:
.htaccess
php_value auto_prepend_file /path/to/fail2ban.php
fail2ban.php
$_REQUEST['pma_{username|password']
pma_{username|password}
против mysql
.user
столФормат журнала
phpMyadmin login failed with username: root; ip: 192.168.1.50; url: http://somedomain.com/phpmyadmin/index.php
phpMyadmin login failed with username: ; ip: 192.168.1.50; url: http://192.168.1.48/phpmyadmin/index.php
Это решение мне подходит, так как я легко могу интегрировать его в bash
сценарий, который я собрал для плавной настройки fail2ban
на наших серверах.
Спасибо всем, кто предоставил возможные решения!
В качестве продолжения я открыл вопрос о проблемах, с которыми я столкнулся при создании пользовательского fail2ban
фильтр для просмотра и действий с этим новым файлом журнала: Пользовательский фильтр fail2ban для попыток перебора phpMyadmin.