Qué es UFW
UFW (Uncomplicated Firewall) es una capa de abstracción sobre iptables/nftables que hace mucho más sencillo configurar reglas de firewall en servidores Linux. Viene preinstalado en Ubuntu y Debian, y se instala fácilmente en CentOS con yum install ufw o dnf install ufw.
Ver el estado actual
sudo ufw status verbose
Si dice Status: inactive el firewall no está filtrando aún. Si dice active verás una lista de reglas vigentes.
Reglas iniciales recomendadas
Antes de activar UFW, define las políticas por defecto y abre los puertos que sí necesitas — de lo contrario podrías dejarte fuera al activarlo.
sudo ufw default deny incoming sudo ufw default allow outgoing
Esto significa: "bloquea todo lo que entra a menos que lo permita explícitamente, permite todo lo que el servidor envía hacia afuera". Es la configuración más restrictiva segura.
Abrir los puertos esenciales
SSH (fundamental — nunca lo olvides)
sudo ufw allow 22/tcp
Si cambiaste el puerto SSH a otro número, usa ese. Esta regla es la más importante de todas — si cierras el puerto SSH sin tener otro acceso al servidor, te quedas fuera.
HTTP y HTTPS para servir web
sudo ufw allow 80/tcp sudo ufw allow 443/tcp
cPanel / WHM
sudo ufw allow 2082/tcp # cPanel HTTP sudo ufw allow 2083/tcp # cPanel HTTPS sudo ufw allow 2086/tcp # WHM HTTP sudo ufw allow 2087/tcp # WHM HTTPS sudo ufw allow 2095/tcp # Webmail HTTP sudo ufw allow 2096/tcp # Webmail HTTPS
Correo electrónico
sudo ufw allow 25/tcp # SMTP sudo ufw allow 465/tcp # SMTPS sudo ufw allow 587/tcp # Submission sudo ufw allow 110/tcp # POP3 sudo ufw allow 995/tcp # POP3S sudo ufw allow 143/tcp # IMAP sudo ufw allow 993/tcp # IMAPS
FTP pasivo (si usas FTP)
sudo ufw allow 21/tcp sudo ufw allow 49152:65534/tcp
Activar el firewall
Una vez definidas las reglas, activa:
sudo ufw enable
Te pregunta si estás seguro — confirma con y. UFW arrancará y aplicará las reglas. Recuérdalo: ya debes haber abierto SSH antes de este paso.
Reglas más finas
Permitir solo desde una IP específica
Si administras desde una IP fija (oficina, home), puedes restringir el acceso SSH a esa IP únicamente:
sudo ufw delete allow 22/tcp sudo ufw allow from 203.0.113.50 to any port 22 proto tcp
Reemplaza 203.0.113.50 por tu IP real. Verifícala en https://api.ipify.org.
Bloquear una IP maliciosa
sudo ufw deny from 198.51.100.7
Limitar intentos de conexión (anti brute-force)
sudo ufw limit 22/tcp
Con limit, UFW bloquea una IP que intente conectarse más de 6 veces en 30 segundos. Es una protección útil si no puedes restringir por IP fija.
Ver y borrar reglas
Listar con números
sudo ufw status numbered
Borrar una regla específica
sudo ufw delete 3
Donde 3 es el número de la lista numerada.
Restablecer todo
sudo ufw reset
Qué NO bloquear nunca
- El puerto SSH donde estás conectado actualmente.
- Los puertos 80/443 si tu servidor hostea sitios web accesibles.
- El puerto de tu panel de control (2083 para cPanel, 8443 para Plesk, etc.).
- Puertos de correo si gestionas emails desde el servidor.
Alternativas a UFW
- firewalld — el equivalente en CentOS/RHEL/Rocky. Mismo concepto, comandos distintos.
- CSF (ConfigServer Firewall) — muy popular en servidores con cPanel, añade protección anti-DDoS básica.
- iptables directo — más control pero curva de aprendizaje mayor.
Si tu servidor tiene cPanel, CSF suele ser mejor opción — integra con WHM y tiene más features específicas para hosting compartido.