Bloquear una IP con UFW

UFW es una herramienta para facilitar la configuración del firewall iptables en Linux, por lo que conocerla un poquito tarde o temprano puede resultar vital.

Hace poco, pude constatar un claro intento de hacer un ataque de fuerza bruta contra este blog, y a pesar que el excelente plugin Limit Login Attempts estaba bloqueando correctamente los intentos de login, había una IP en particular que seguía intentando acceder incansablemente a la página de login.

Tras acceder por SSH, llegó la hora de aplicar un sencillo comando para hacer la ley del hielo a este molestoso:

$: ufw deny from 192.168.144.xx

Sin embargo, el registro de nginx seguía mostrando intentos de acceso… ¿qué podía estar pasando?

Tras un par de búsquedas en Google pude dar con la respuesta: básicamente, había un problema de prioridades en las reglas del firewall, ya que sólo va a aplicar la primera coincidencia.

Para pode resolver este impasse, en primer lugar debes obtener el listado de reglas activas y sus prioridades, lo que puedes lograr con ufw status numbered.

Este comando te devuelve el listado de reglas activas y un número identificador de la prioridad. A partir de esto, puedes crear una nueva regla e insertarla en un lugar específico; por ejemplo para agregarla en primer lugar:

$: ufw insert 1 deny from 192.168.144.xx

¡Listo!