Existen varias situaciones por las que tendremos que proteger nuestro WordPress de ataques externos. En su mayoría estos ataques se tratan de BotNets que merodean por Internet.

Por lo general, para evitar que nuestros WordPress sean hackeados, lo recomendado es tener siempre WordPress actualizado a la última versión así como todos los Plugins que tengamos -incluidos los temas-.

Aún así, tendremos que proteger algunos directorios así como algunos ficheros, como wp-admin, o wp-login.php o xmlrpc.php.

Para ello vamos a utilizar Fail2ban para que bloquee la IP por un periodo largo de tiempo y así evitar ataques a estos ficheros o directorios.

Creamos un fichero llamado wordpress.conf en /etc/fail2ban/filter.d con el siguiente contenido:

[Definition]
failregex = ^<HOST> .* "POST .*wp-login.php
            ^<HOST> .* "POST .*xmlrpc.php
ignoreregex =

Ahora dentro de /etc/fail2ban/jail.d editaremos el fichero de configuración que tenemos para las jaulas y añadiremos lo siguiente:

[wordpress]
enabled = true
port = http,https
filter = wordpress
action = iptables-multiport[name=wordpress, port="http,https", protocol=tcp]
logpath = /var/log/httpd/access_log
maxretry = 10
findtime = 600

Algunos de estos parámetros son opciones, ya que por ejemplo, en Fail2ban podemos configurar algunos valores generales como maxretry o findtime. Luego deberemos de configurar también el valor de logpath con la ruta correcta del fichero de access.log para tu WordPress.

Tras realizar estos cambios, deberemos de reiniciar el servicio de Fail2ban:

systemctl restart fail2ban

Y tras este cambio, ya deberíamos de ver las primeras IP’s bloqueadas:

# fail2ban-client status wordpress
Status for the jail: wordpress
|- Filter
|  |- Currently failed: 0
|  |- Total failed:     9
|  `- File list:        /var/www/voidnull.es/logs/access.log
`- Actions
   |- Currently banned: 1
   |- Total banned:     1
   `- Banned IP list:   37.59.XX.XXX
Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación