Skip to content
Infrastructure 2024-12-29 9 min read

Guía Definitiva para Configurar Firewalls en Linux: UFW y Firewalld

Un firewall bien configurado es una de las primeras líneas de defensa de cualquier servidor: decide qué tráfico puede entrar y cuál se bloquea antes de que llegue a tus aplicaciones. En Linux, dos herramientas dominan este espacio: **UFW (Uncomplicated Firewall)**, popular en Debian y Ubuntu por su simplicidad, y **Firewalld**, el estándar en distribuciones Red Hat y CentOS, con soporte para configuraciones más avanzadas por zonas. En esta guía configuramos ambas paso a paso, para que elijas la que mejor se adapte a tu entorno.

Guía Definitiva para Configurar Firewalls en Linux: UFW y Firewalld
#Infrastructure#Linux#Firewall#Seguridad
T
Equipo Terranode
Editorial

Ventajas de tener un firewall correctamente configurado

  • Protección contra ataques: bloquea accesos no autorizados antes de que lleguen a tus servicios.
  • Control granular del tráfico: decides exactamente qué puertos y servicios están expuestos al exterior.
  • Primera línea de defensa: complementa otras medidas de seguridad como Fail2Ban o un WAF, reduciendo la superficie total de ataque de tu servidor.

¿UFW o Firewalld? Diferencia rápida

UFW está pensado para ser simple: reglas directas, sintaxis clara, ideal si administras Debian/Ubuntu y quieres resultados rápidos sin profundizar en la complejidad de iptables subyacente. Firewalld ofrece un modelo basado en zonas (públicas, internas, de confianza, etc.), lo que lo hace más flexible para entornos empresariales con reglas distintas según el origen del tráfico, y es el estándar por defecto en distribuciones Red Hat/CentOS.

Instalar UFW

bash
sudo apt update
sudo apt install ufw -y

Instalar Firewalld

bash
sudo yum install firewalld -y
sudo systemctl start firewalld
sudo systemctl enable firewalld

Configurar UFW paso a paso

1. Habilita UFW:

bash
sudo ufw enable

2. Permite el acceso por SSH (hazlo siempre antes de activar reglas restrictivas, para no quedarte fuera del servidor):

bash
sudo ufw allow ssh

3. Permite otros servicios necesarios, como tráfico web:

bash
sudo ufw allow http
sudo ufw allow https

4. Define la política por defecto, bloqueando todo el tráfico entrante que no hayas permitido explícitamente, y permitiendo el saliente:

bash
sudo ufw default deny incoming
sudo ufw default allow outgoing

5. Revisa el estado actual de las reglas:

bash
sudo ufw status

Configurar Firewalld paso a paso

1. Inicia y habilita el servicio para que arranque automáticamente con el sistema:

bash
sudo systemctl start firewalld
sudo systemctl enable firewalld

2. Permite el acceso por SSH:

bash
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload

3. Permite otros servicios, como tráfico web:

bash
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload

4. Trabaja con zonas, el concepto central de Firewalld: cada interfaz de red se asigna a una zona con su propio conjunto de reglas.

bash
sudo firewall-cmd --get-zones
sudo firewall-cmd --zone=public --add-service=http --permanent

5. Verifica el estado completo de la configuración activa:

bash
sudo firewall-cmd --list-all

Automatizar la configuración de UFW con un script

Si necesitas replicar la misma configuración en varios servidores, un script simple ahorra tiempo y reduce errores manuales:

bash
#!/bin/bash
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Guárdalo como configurar_ufw.sh, dale permisos de ejecución y córrelo:

bash
chmod +x configurar_ufw.sh
./configurar_ufw.sh

¿Cuál elegir? Guía rápida de decisión

Usa UFW si:

  • Eres principiante en la administración de firewalls.
  • Necesitas reglas simples y directas, sin complejidad adicional.
  • Trabajas en sistemas Debian/Ubuntu.

Usa Firewalld si:

  • Necesitas configuraciones avanzadas o segmentadas por zonas de red.
  • Operas en un entorno empresarial sobre Red Hat o CentOS.
  • Requieres reglas temporales o mayor flexibilidad para escenarios cambiantes.

Errores comunes al configurar un firewall

El error más frecuente y potencialmente más grave es bloquear el acceso SSH antes de permitirlo explícitamente, quedando fuera del propio servidor sin forma de reconectarte (salvo por consola física o del panel del proveedor). Siempre sigue este orden: primero permite SSH, luego activa la política de bloqueo por defecto. Un firewall mal configurado, con reglas demasiado permisivas "por si acaso", equivale prácticamente a no tener firewall: revisa periódicamente qué reglas están realmente activas con ufw status o firewall-cmd --list-all.

Ya sea que elijas UFW por su simplicidad o Firewalld por su flexibilidad de zonas, lo importante es tener una política clara: bloquear todo por defecto y permitir explícitamente solo lo que tu servidor realmente necesita exponer. Prueba siempre los cambios con cuidado, verifica el estado de las reglas después de cada modificación, y nunca actives una política restrictiva sin haber permitido SSH primero. Si tienes dudas durante la implementación, nuestro equipo de soporte técnico está disponible 24/7 para ayudarte.

Ready to take your site to the next level?

LiteSpeed hosting, NVMe and 24/7 support from $3/mo.

View hosting plans

Frequently asked questions