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).

Cómo configurar el firewall de un VPS (panel y 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

CapaDóndePara qué
Firewall del panelRed → FirewallFiltra antes de que el tráfico llegue a tu VPS. Cómodo y no depende del sistema.
UFWDentro del VPSControl fino por aplicación y puerto, y sigue funcionando si cambias de panel.

Firewall del panel

  1. Abre tu VPS y entra en Red → Firewall.
  2. Usa un atajo (Atajos) como SSH (22), HTTP (80) o HTTPS (443), o pulsa Añadir regla.
  3. Rellena dirección (Entrante), protocolo (TCP/UDP), puerto (o rango con Puerto hasta), origen en formato CIDR (0.0.0.0/0 para cualquiera) y la acción Aceptar.
  4. 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.