¿En qué podemos ayudarte?
El proceso completo es, instalar el plugin de fail2ban en wordpress, descargar el filtro o en algunas distribuciones el filtro viene con el plugin,modificar el filtro para que el regex sea exitoso, cuando el filtro este listo, crear el jail, reiniciar fail2ban y monitorear las entradas para ver que este jalando.
- Instalar el plugin de fail2ban. Este plugin lo que hace es mandar las salidas de autenticacion al /var/log/messages o al /var/log/auth.log.
- Crear si es que no esta creado el siguiente directorio mkdir wp-content/mu-plugins
- cd wp-content/mu-plugins
- Crear la liga ln -s ../plugins/wp-fail2ban/wp-fail2ban.php
- Descargar el filtro de la siguiente direccion
curl https://plugins.svn.wordpress.org/wp-fail2ban/trunk/filters.d/wordpress-hard.conf > /etc/fail2ban/filter.d/wordpress.conf
- fail2ban-regex /var/log/messages /etc/fail2ban/filter.d/wordpress.conf (esta linea prueba el filtro vs el log, si hay match el filtro esta listo, sino hay que modificarlo, como en mi caso)
- cat /var/log/messages|grep wordpress (para ver la salida de wordpress en el log)
Dec 2 16:01:56 mxserver4 wordpress(www.corazondeangel.net)[28579]: Authentication failure for rootwebmaster from 187.190.242.205
- nano /etc/fail2ban/filter.d/wordpress.conf
- El filtro no muestra la palabra ” Authentication failure for”, entonces se duplica la primer linea y se modifica de esta manera, ^%(__prefix_line)sAuthentication failure for .* from $
- Se vuelve a correr el regex y se verifica que haga match
- Failregex: 10 total
- ya el filtro listo se crea el jail, nano /etc/fail2ban/jail.local
[Wordpress]
enabled = true
filter = wordpress
logpath = /var/log/messages
port = http,https
backend = polling
journalmatch =
banaction = iptables-multiport
action = %(action_)s
- systemctl restart fail2ban
- tail -f /var/log/fail2ban