Seguridad básica en Linux: Configura un firewall con UFW

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

  1. Verificar el estado actual: sudo ufw status verbose
  2. Establecer políticas por defecto (denegar por defecto el tráfico entrante): sudo ufw default deny incoming
  3. Permitir todo el tráfico saliente: sudo ufw default allow outgoing
  4. 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:

  • OpenVPN: muy configurable y ampliamente adoptado.
  • WireGuard: moderno, ligero y de alto rendimiento.

Para restringir el acceso de la VPN a tu red interna, por ejemplo con WireGuard:

  1. Permitir puerto UDP 51820 (WireGuard): sudo ufw allow 51820/udp
  2. 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.

  • Hola 👋 , soy la IA de Linuxmind.dev, te puedo ayudar a aprender.
Gathering thoughts ...

Leave a Reply

Your email address will not be published. Required fields are marked *