Configurando o fail2ban para banir tentativas de login com falha no phpMyAdmin

1

Estamos usando fail2ban para bloquear tentativas ssh com falha. Eu gostaria de configurar a mesma coisa para o phpMyAdmin também.

Como phpMyAdmin não registra tentativas de autenticação em um arquivo (que eu conheço), não tenho certeza da melhor maneira de fazer isso.

Existe um plugin / config que faz com que as tentativas de autenticação de phpMyAdmin log para um arquivo? Ou há algum outro lugar que eu deveria procurar por tal registro de atividades?

Idealmente, serei capaz de encontrar uma solução que envolvesse a modificação de fail2ban config apenas, pois tenho que configurar fail2ban com as mesmas opções em vários servidores e preferiria não modificar também as várias instalações de phpMyAdmin nos referidos servidores.

    
por Michael Robinson 04.10.2012 / 01:50

3 respostas

0

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 .

    
por 05.10.2012 / 02:41
2

Acho que a melhor maneira (e na minha opinião o menos perigoso) de usar o phpMyAdmin é não abrir o phpMyAdmin diretamente em IP público, mas apenas ouvir em IP interno ou loopback e fazer um túnel SSH para se conectar a ele usando um local porta na máquina que você deseja trabalhar com o phpMyAdmin. Desta forma, a autenticação sensata é controlada pelo SSH (e já bloqueada pelo fail2ban).

    
por 04.10.2012 / 02:31
1

Protegemos o phpmyadmin adicionando a autenticação ldap do apache htaccess (ou autenticação de arquivo) para a localização do phpmyadmin. Você precisa digitar a senha duas vezes, mas as tentativas de login com falha são reconhecidas pelo fail2ban.

[ link

    
por 04.10.2012 / 23:37