Jail fail2ban para bloquear ataques bruteforce de phpmyadmin

febrero 18, 2015
1 Star2 Stars3 Stars4 Stars5 Stars (3 votos, promedio: 5,00 de 5)
Cargando…

Un phpMyadmin poco seguro es uno de los mayores riesgos de la mayoría de servidores. Pero para eso está nuestro amigo fail2ban que puede ayudarnos a reducir el riesgo. Nuestro objetivo es bloquear la IP de los usuarios que realicen varios intentos fallidos de acceso.

Lo primero que necesitamos es un log. Normalmente, phpmyadmin no loguea nada, pero como administramos nuestro propio servidor, podemos cambiarlo.

Pero antes de empezar debemos tener presente que LogFormat/CustomLog deben ser aplicados en el contexto Servidor o en el contexto VirtualHost. Por lo tanto nuestra instalación phpMyAdmin debe ser su propio VirtualHost. Un subdominio también funcionará.
phpMyAdmin utiliza la función apache_note de php para que esto funcione. Por lo que yo sé, esta función solo está disponible en modo mod_php. Por lo tanto, esto no funcionará con mod_fcgi.

Teniendo esto en cuenta, añadiremos estas lineas al virtualhost de nuestra configuración Apache, por ejemplo /etc/apache2/conf.d/phpmyadmin.conf.

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %{userID}n %{userStatus}n" pma_combined
CustomLog /var/log/apache2/phpmyadmin_access.log pma_combined

No olvideis reiniciar apache:

service  apache2 reload

Ahora crearemos nuestro filtro.

/etc/fail2ban/filter.d/phpmyadmin.conf

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

En este punto, podemos probar que se estén generando los logs, intentamos acceder con credenciales erroneas en nuestro phpmyadmin y comprobamos que funciona:

fail2ban-regex /var/log/apache2/phpmyadmin_access.log  /etc/fail2ban/filter.d/phpmyadmin.conf

Bien, no? Entonces sólo nos queda añadir el jail en /etc/fail2ban/jail.local

[phpmyadmin]
enabled = true
port = http,https
filter = phpmyadmin
logpath = /var/log/apache2/phpmyadmin_access.log

Para que los cambios hagan efecto reiniciamos fail2ban

service fail2ban reload

Un pensamiento en “Jail fail2ban para bloquear ataques bruteforce de phpmyadmin

  1. Carlos

    Saludos.

    Tuve un problema en la configuracion al agregar en el jail.conf la configuracion al reiniciar fail2band marca error.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *