Añade WordPress a fail2ban.

Después de dificultar el acceso a WordPress con reCAPTCHA, vamos a dar otra vuelta de tuerca a la seguridad de nuestro servidor.

Si has llegado hasta aquí, te recomiendo que leas:

Hasta aquí, tenemos un blog funcionando con WordPress y un sistema de bloqueo de accesos como fail2ban.

Ahora vigilaremos los accesos e intentos de acceso al servidor WordPress.

Veamos como configurar todo esto.

Crea el filtro

Crearemos el siguiente fichero /etc/fail2ban/filter.d/wordpress.conf con el contenido:

sudo nano /etc/fail2ban/filter.d/wordpress.conf

Ahora pega lo siguiente:

[Definition]
failregex = ^ .* "(GET|POST) /+wp-login.php
^ .* "(GET|POST) /+xmlrpc.php

Guarda con Crtl + o y cierra con Crtl + x

Crea el jail

Crea también la siguiente jail con:

sudo nano /etc/fail2ban/jail.d/defaults-debian.conf

Pega el lo siguiente a continuación de la última línea:

[wordpress]
enabled = true
port = 443
filter = wordpress
logpath = /var/log/apache2/access.log
maxretry = 3
findtime = 15m
bantime = 1h
action = %(action_mwl)s

Como antes, guarda con Crtl + o y cierra con Crtl + x

Reiniciamos fail2ban:

sudo systemctl restart fail2ban

Comprobaciones.

Vamos a realizar una serie comprobaciones para ver si se están ejecutando correctamente los servicios, estados y advertencias.

Test estado del servicio

Comprobamos el estado del servicio con:

sudo systemctl status fail2ban

De momento todo correcto, el servicio está activo y corriendo.

Test estado general de fail2ban

Comprobamos el estado y la cantidad de jails en funcionamiento.

sudo fail2ban-client status

Perfecto, tenemos dos jail, el primero (ssh) que creamos en Instalar Fail2ban en Debian 12 y que funcione, y el segundo el que acabamos de crear para wordpress.

Test estado de Jails específicos

Comprobemos el estado para la jail de WordPress.

sudo fail2ban-client status wordpress

La salida nos muestra bastante información sobre las IPs baneadas (ninguna por el momento), el número de intentos de conexión, el número de baneos etc etc

Visualizar el log de eventos

Veamos si el archivo log de fail2ban contiene algún error. Visualiza el archivo log en tiempo real para ver los cambios que se van produciendo instantáneamente.

Copia y pega el siguiente comando:

sudo tail -f /var/log/fail2ban.log

En la siguiente imagen verás el log en tiempo real de los jail sin errores.

Test de Fail2ban

Fail2ban tiene un comando testear la configuración. Para esta comprobación tienes que usar este comando:

sudo fail2ban-client --test
Test de la configuración de fail2ban

Esto demuestra que todo está bien y no tenemos ningún problema con la configuración.

Deja un comentario

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

Scroll al inicio