Eu usei uma combinação de .htaccess
e um script simples de php
para fornecer uma solução que considero aceitável:
.htaccess
php_value auto_prepend_file /path/to/fail2ban.php
fail2ban.php
- Detecta a presença de
$_REQUEST['pma_{username|password']
- Valida
pma_{username|password}
em relação àmysql
.user
table - Registra um erro (formato abaixo) se os detalhes forem inválidos
Formato de log
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
Esta solução é adequada para mim, pois posso integrá-la facilmente ao script bash
que eu reuni para suavizar a configuração de fail2ban
em nossos servidores.
Obrigado a todos que forneceram possíveis soluções!
Como acompanhamento, eu abri uma pergunta sobre os problemas que tive ao criar um filtro fail2ban
personalizado para assistir & atue neste novo arquivo de log: Filtro customizado do fail2ban para tentativas de bruteforce do phpMyadmin .