Cómo configurar el firewall de un VPS (panel y UFW)
Un VPS recién creado acepta tráfico en todos los puertos. Un firewall deja pasar solo lo que tú decides. Tienes dos capas que se complementan: el firewall del panel y el del propio sistema (UFW).

- En el panel todo el tráfico está permitido por defecto; las reglas se evalúan de arriba abajo.
- En el sistema, UFW con política de "denegar entrada" y solo tus puertos abiertos es la base.
- Abre SSH antes de activar UFW o te quedarás fuera. Si pasa, la consola noVNC te salva.
- Docker publica puertos saltándose UFW: úsalo con cuidado (más abajo).
Las dos capas
| Capa | Dónde | Para qué |
|---|---|---|
| Firewall del panel | Red → Firewall | Filtra antes de que el tráfico llegue a tu VPS. Cómodo y no depende del sistema. |
| UFW | Dentro del VPS | Control fino por aplicación y puerto, y sigue funcionando si cambias de panel. |
Firewall del panel
- Abre tu VPS y entra en Red → Firewall.
- Usa un atajo (Atajos) como SSH (22), HTTP (80) o HTTPS (443), o pulsa Añadir regla.
- Rellena dirección (Entrante), protocolo (TCP/UDP), puerto (o rango con Puerto hasta), origen en formato CIDR (
0.0.0.0/0para cualquiera) y la acción Aceptar. - Añade una descripción para acordarte de qué es.
Detalles de cada campo en Firewall, DDoS, IPs y rDNS del VPS.
UFW dentro del VPS
UFW viene en Ubuntu y se instala con apt install ufw en Debian. Orden importante: primero las reglas, luego activar.
sudo apt install ufw -y
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose
Esto bloquea todo lo que entra salvo SSH, HTTP y HTTPS. Para otro servicio abre su puerto, por ejemplo sudo ufw allow 25565/tcp. Para cerrar uno: sudo ufw delete allow 80/tcp.
Si cambiaste el puerto de SSH, abre ese puerto antes de activar UFW. Si te quedas fuera, entra por la consola noVNC y corrige las reglas.
Limitar un puerto a tu IP
Para que un servicio (por ejemplo una base de datos o el SSH) solo lo use tu IP:
sudo ufw allow from TU_IP to any port 22 proto tcp
Y elimina la regla general de ese puerto con sudo ufw delete allow 22/tcp. Cuidado: si tu IP cambia (conexión doméstica), te quedarás fuera.
Docker se salta UFW
Los puertos que publicas con Docker (-p 8080:80) se abren directamente en el firewall del sistema y UFW no los filtra. Si no quieres exponerlo, publícalo solo en local:
docker run -d -p 127.0.0.1:8080:80 nginx
Y publícalo al exterior a través de un proxy como Nginx. O filtra desde el firewall del panel, que sí actúa antes.
DDoS
En Red → DDoS ves el estado y puedes añadir hasta 50 IPs a la Lista de IPs permitidas que nunca se filtrarán. La mitigación a nivel de nodo es automática.
Preguntas frecuentes
¿Necesito los dos firewalls?
No es obligatorio, pero compensa: el del panel actúa antes de que el tráfico llegue y UFW protege aunque cambies de panel o de proveedor.
Me he quedado fuera por SSH, ¿qué hago?
Abre la consola noVNC desde Resumen, inicia sesión y revisa sudo ufw status y las reglas del panel. Si no puedes, vuelve a un snapshot.
¿Qué puertos debería abrir?
Solo los de los servicios que usas. Una web normal: 22 (SSH), 80 y 443. Cualquier otro, solo si lo necesitas.