Cómo proteger WordPress con Fail2Ban en Ubuntu

Cómo proteger WordPress con Fail2Ban en Ubuntu

Fail2Ban es una herramienta potente y fácil de usar que puede ayudar a proteger tu sitio web de WordPress contra ataques de fuerza bruta y otros intentos de acceso no autorizado. Al monitorear los registros del sistema en busca de patrones de actividad sospechosos, Fail2Ban puede bloquear automáticamente las direcciones IP de los atacantes, evitando que intenten acceder nuevamente a tu sitio web.

En este tutorial, te guiaremos paso a paso a través del proceso de instalación y configuración de Fail2Ban en un servidor Ubuntu para proteger tu sitio web de WordPress.

Pasos para instalar y configurar Fail2Ban

1. Actualizar el sistema

Antes de instalar cualquier software, es importante actualizar tu servidor Ubuntu para asegurarte de que esté ejecutando la última versión del sistema operativo y los paquetes de software. Ejecuta los siguientes comandos para actualizar tu sistema:


sudo apt update
sudo apt upgrade

2. Instalar Fail2Ban

Una vez que tu sistema esté actualizado, puedes instalar Fail2Ban ejecutando el siguiente comando:


sudo apt install fail2ban

3. Cofigurar Fail2Ban

Una vez instalado, debes configurar Fail2Ban para que monitoree los registros del sistema y bloquee las direcciones IP sospechosas. Edita el archivo de configuración principal de Fail2Ban (/etc/fail2ban/jail.conf) con tu editor de texto preferido:


sudo nano /etc/fail2ban/jail.conf

En el archivo de configuración, busca la sección [DEFAULT] y actualiza las siguientes configuraciones:

* bantime: Establece el tiempo (en segundos) durante el cual las direcciones IP bloqueadas permanecerán bloqueadas.
* findtime: Establece el período de tiempo (en segundos) durante el cual Fail2Ban buscará ocurrencias repetidas de actividad sospechosa.
* maxretry: Establece el número máximo de intentos fallidos de inicio de sesión permitidos antes de que una dirección IP sea bloqueada.

4. Crear un filtro personalizado para WordPress

Fail2Ban incluye filtros predefinidos para varios servicios, pero debemos crear un filtro personalizado para WordPress. Crea un nuevo archivo en el directorio de filtros de Fail2Ban (/etc/fail2ban/filter.d/):


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

Agrega el siguiente contenido al archivo:


[Definition]
failregex = ^<HOST> - . "POST /wp-login.php" .* "user=<USER>&." password=<PASS>
ignoreregex =

5. Crear una cárcel personalizada para WordPress

Ahora, crea una cárcel personalizada en el archivo de configuración de Fail2Ban /etc/fail2ban/jail.local:


sudo nano /etc/fail2ban/jail.local

Agrega el siguiente contenido al archivo:


[wordpress-login]
enabled = true
port = http,https
filter =wordpress
action = iptables-multiport
logpath = /var/log/apache2/error.log
maxretry = 3

6. Reiniciar Fail2Ban

Una vez que hayas realizado los cambios necesarios, reinicia Fail2ban para aplicar la nueva configuración:


sudo systemctl restart fail2ban

Monitorizar y mantener Fail2Ban

Para verificar si Fail2Ban está funcionando correctamente, puedes ejecutar el siguiente comando:


sudo fail2ban-client status

Esto mostrará una lista de todas las cárceles activas y las direcciones IP bloqueadas.

Puedes monitorear los registros de Fail2Ban (/var/log/fail2ban.log) para investigar cualquier intento de acceso no autorizado.

Para eliminar una dirección IP bloqueada, ejecuta el siguiente comando:


sudo fail2ban-client set <jail name> unbanip <ip address>

Conclusión

La instalación y configuración de Fail2Ban en Ubuntu es una medida de seguridad esencial para proteger tu sitio web de WordPress contra intentos de acceso no autorizado. Al bloquear automáticamente las direcciones IP de los atacantes, Fail2Ban ayuda a disuadir los ataques de fuerza bruta y otras amenazas a la seguridad.

recuerda monitorear los registros de Fail2Ban y mantener la configuración actualizada para garantizar la protección continua de tu sitio web.

Preguntas frecuentes

1. ¿Qué es Fail2Ban?

Fail2Ban es una herramienta que monitorea los registros del sistema en busca de patrones de actividad sospechosa y bloquea automáticamente las direcciones IP de los atacantes.

2. ¿Por qué debería usar Fail2Ban para proteger mi WordPress?

Fail2Ban puede ayudar a proteger tu sitio web de WordPress contra ataques de fuerza bruta y otros intentos de acceso no autorizado al bloquear las direcciones IP de los atacantes.

3. ¿Cómo instalo Fail2Ban en Ubuntu?

Puedes instalar Fail2Ban ejecutando el siguiente comando: sudo apt install fail2ban

4. ¿Cómo configuro un filtro personalizado para WordPress?

Crea un nuevo archivo en /etc/fail2ban/filter.d/wordpress.conf y agrega el siguiente contenido:


[Definition]
failregex = ^<HOST> - . "POST /wp-login.php" .* "user=<USER>&." password=<PASS>
ignoreregex =

5. ¿Cómo creo una cárcel personalizada para WordPress?

Crea un nuevo archivo en /etc/fail2ban/jail.local y agrega el siguiente contenido:


[wordpress-login]
enabled = true
port = http,https
filter =wordpress
action = iptables-multiport
logpath = /var/log/apache2/error.log
maxretry = 3

6. ¿Cómo reinicio Fail2Ban?

Puedes reiniciar Fail2Ban ejecutando el siguiente comando: sudo systemctl restart fail2ban

7. ¿Cómo verifico si Fail2Ban está funcionando correctamente?

Puedes ejecutar el siguiente comando para verificar: sudo fail2ban-client status

8. ¿Cómo elimino una dirección IP bloqueada?

Puedes ejecutar el siguiente comando para eliminar una dirección IP bloqueada: sudo fail2ban-client set <jail name> unbanip <ip address>