Seguridad básica en Linux: Configura un firewall con UFW
En la actualidad, proteger un servidor o una estación de trabajo Linux frente a accesos no autorizados y ataques de red es una prioridad. UFW (Uncomplicated Firewall) ofrece una interfaz sencilla para gestionar iptables sin la complejidad habitual. En este artículo detallado, aprenderás a instalar, configurar y optimizar UFW para blindar tu sistema.
1. ¿Qué es UFW y por qué usarlo
UFW es un front-end de iptables diseñado para usuarios que buscan una configuración de firewall rápida, legible y fácil de mantener. Entre sus ventajas destacan:
- Sencillez: comandos intuitivos.
- Integración: viene preinstalado en distribuciones populares como Ubuntu.
- Perfiles de aplicaciones: permite habilitar servicios con un nombre, en lugar de puertos.
- IPv6 nativo: soporte directo para direcciones v6.
2. Instalación de UFW
Para instalar UFW en Debian, Ubuntu y derivados:
sudo apt update
sudo apt install ufw
En Fedora y CentOS:
sudo dnf install ufw
sudo systemctl enable ufw --now
3. Configuración básica
- Verificar el estado actual:
sudo ufw status verbose
- Establecer políticas por defecto (denegar por defecto el tráfico entrante):
sudo ufw default deny incoming
- Permitir todo el tráfico saliente:
sudo ufw default allow outgoing
- Habilitar UFW:
sudo ufw enable
3.1 Políticas predeterminadas
Política | Dirección | Acción |
---|---|---|
default | incoming | deny |
default | outgoing | allow |
default | routed | reject |
4. Reglas de acceso
Para manejar tráfico entrante y saliente, UFW ofrece comandos directos: allow
, deny
, reject
y limit
. Ejemplos:
- Permitir SSH (puerto 22):
sudo ufw allow ssh
- Permitir HTTP y HTTPS:
sudo ufw allow http sudo ufw allow https
- Denegar un IP específico:
sudo ufw deny from 203.0.113.45
- Permitir rango de puertos 1000–2000 TCP:
sudo ufw allow 1000:2000/tcp
4.1 Estados y prioridades
UFW evalúa las reglas en orden. Las que tengan números más bajos se aplican primero. Puedes ajustar la posición:
sudo ufw insert 1 deny from 192.168.1.50
5. Perfiles de aplicación
Muchas aplicaciones incluyen un archivo de perfil en /etc/ufw/applications.d
. Para listar y usar perfiles:
sudo ufw app list
sudo ufw allow Nginx Full
6. Limitación de conexiones
Para mitigar ataques de fuerza bruta, UFW puede limitar la velocidad de conexión:
sudo ufw limit ssh/tcp
Este comando permite 6 conexiones aceptadas en 30 segundos desde una misma IP, bloqueando la IP temporalmente si la supera.
7. Soporte IPv6
Para habilitar IPv6, edita /etc/default/ufw
y cambia IPV6=no
a IPV6=yes
. Luego:
sudo ufw reload
8. Registro y monitoreo
Los logs de UFW se encuentran en /var/log/ufw.log
. Para activar el modo detallado:
sudo ufw logging medium
Puedes ver eventos en tiempo real:
tail -f /var/log/ufw.log
9. Integración con VPN y acceso remoto seguro
Combinar UFW con una VPN añade una capa adicional de protección. Algunas soluciones populares:
Para restringir el acceso de la VPN a tu red interna, por ejemplo con WireGuard:
- Permitir puerto UDP 51820 (WireGuard):
sudo ufw allow 51820/udp
- Limitar el acceso interno sólo a la subred de VPN:
sudo ufw allow from 10.0.0.0/24 to any
10. Buenas prácticas y consejos finales
- Mantener versiones actualizadas de UFW y del kernel.
- Probar siempre las reglas en un entorno de desarrollo antes de aplicarlas en producción.
- Documentar cada regla y su propósito para facilitar el mantenimiento.
- Deshabilitar servicios innecesarios en el sistema antes de abrir puertos.
- Revisar logs periódicamente para detectar patrones inusuales.
Conclusión
UFW proporciona una forma clara y accesible de asegurar un sistema Linux. Con unos pocos comandos y buenas prácticas, podrás establecer una política de firewall robusta que complemente otras medidas de seguridad, como la autenticación por claves SSH y redes privadas virtuales. Implementar UFW de manera responsable y documentada es un paso fundamental para proteger tu infraestructura.
Leave a Reply