UFW en Ubuntu: guía de configuración completa

Aprende a configurar UFW en Ubuntu desde cero: reglas, perfiles, logs y ejemplos prácticos para proteger tu servidor.

Si gestionas un servidor Ubuntu, ya sea en casa o en producción, el firewall es tu primera línea de defensa. ufw (Uncomplicated Firewall) simplifica enormemente la gestión de iptables, permitiéndote definir reglas de tráfico de forma clara y eficiente. Aquí tienes una guía práctica para dominarlo.

Instalación y estado inicial

Ubuntu suele incluir ufw por defecto, pero si no es el caso, instálalo con:

sudo apt update && sudo apt install ufw -y

Antes de activarlo, verifica su estado:

sudo ufw status

Verás Status: inactive. Es importante comprobar que no hay reglas previas que puedan bloquear tu conexión actual, sobre todo si accedes por SSH.

Configuración de reglas básicas

Lo primero es establecer una política por defecto restrictiva y luego abrir solo lo necesario. Configura el comportamiento base:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Con esto, bloqueamos todo el tráfico entrante y permitimos el saliente. Ahora, habilita servicios específicos.

Para SSH (puerto 22), esencial si administras el servidor remotamente:

sudo ufw allow ssh

O si usas un puerto personalizado:

sudo ufw allow 2222/tcp

Para un servidor web, abre HTTP y HTTPS:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

También puedes usar nombres de servicio directamente:

sudo ufw allow 'Apache Full'

Gestión avanzada: puertos, rangos y logs

A veces necesitas más control. Por ejemplo, permitir un rango de puertos para una aplicación:

sudo ufw allow 6000:6007/tcp

O limitar conexiones SSH para evitar ataques de fuerza bruta (rate limiting):

sudo ufw limit ssh

Esta regla rechaza conexiones si un IP hace más de 6 intentos en 30 segundos.

Para registrar los intentos bloqueados, activa el log:

sudo ufw logging on

Los logs se almacenan en /var/log/ufw.log. Son muy útiles para depurar problemas de conectividad.

Activar, verificar y eliminar reglas

Una vez configurado, activa el firewall. Importante: asegúrate de que SSH está permitido antes de ejecutar esto:

sudo ufw enable

Confirma que todo funciona:

sudo ufw status verbose

Verás algo como:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
80/tcp                     ALLOW IN    Anywhere
443/tcp                    ALLOW IN    Anywhere

Si necesitas eliminar una regla, puedes usar el número de línea (sácalo con sudo ufw status numbered):

sudo ufw delete 3

O por nombre:

sudo ufw delete allow 80/tcp

Para desactivar temporalmente el firewall (por ejemplo, durante pruebas):

sudo ufw disable

Conclusión

ufw es una herramienta potente y sencilla que te permite asegurar tu Ubuntu sin complicaciones. Con estas reglas básicas y avanzadas, tendrás el tráfico bajo control y podrás detectar intentos de acceso no deseados. Dedica unos minutos a revisar los logs periódicamente; te ahorrará más de un disgusto.