EQVPS

Cómo configurar un cortafuegos UFW en un VPS

Configura un cortafuegos simple y eficaz con UFW: permite SSH primero (para no quedarte fuera), abre solo los puertos que necesitas y actívalo. Un cortafuegos default-deny limpio en un puñado de comandos.

Un cortafuegos decide qué puertos de tu servidor aceptan conexiones desde el exterior. Todo lo que no abras explícitamente debería quedar cerrado: eso es default-deny, y reduce tu superficie de ataque a solo los servicios que realmente ejecutas. UFW hace esto sencillo. Lo único que hay que hacer bien es el orden: permite SSH antes de activar el cortafuegos, o te quedarás fuera.

1. Instala UFW (normalmente ya está presente)

sudo apt update && sudo apt install -y ufw

2. Permite SSH PRIMERO, antes que nada más

Este es el paso que evita quedarte bloqueado. Hazlo antes de enable:

sudo ufw allow OpenSSH
# o, si usas un puerto SSH personalizado:
# sudo ufw allow 22/tcp

3. Abre solo los puertos que necesitas

sudo ufw allow 80/tcp     # HTTP, si sirves un sitio web
sudo ufw allow 443/tcp    # HTTPS
# añade puertos específicos de la app solo si hace falta, por ejemplo:
# sudo ufw allow 51820/udp   # VPN WireGuard

4. Define la política por defecto y activa

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable           # pide confirmación

5. Verifica

sudo ufw status verbose

Deberías ver SSH y los puertos elegidos permitidos, y todo lo demás denegado. Comprueba esto después de cada cambio.

Tareas habituales

sudo ufw allow 3000/tcp        # abrir un puerto
sudo ufw delete allow 3000/tcp # volver a cerrarlo
sudo ufw status numbered       # listar reglas con números
sudo ufw delete 2              # eliminar la regla nº 2
sudo ufw disable               # apagar el cortafuegos

Advertencias honestas

Siguientes pasos

Un cortafuegos más claves es la mayor parte de un servidor endurecido. Termina con la checklist de seguridad de un VPS nuevo. ¿Vas a abrir el 443 para una aplicación web? Mira cómo configurar un proxy inverso nginx con HTTPS.

Preguntas frecuentes

¿Qué es UFW?

UFW (Uncomplicated Firewall) es una interfaz amigable para el cortafuegos netfilter de Linux, estándar en Ubuntu y Debian. En vez de escribir reglas iptables a mano, dices algo como 'allow 443' y UFW se encarga del resto. Es la forma más rápida de tener un cortafuegos default-deny sensato.

¿Por qué debo permitir SSH antes de activar UFW?

Porque en el momento en que activas un cortafuegos default-deny, cualquier puerto que no esté explícitamente permitido queda bloqueado, incluido el puerto 22. Si activas UFW sin permitir SSH antes, tu conexión actual sobrevive, pero tu próximo inicio de sesión se rechaza y te quedas fuera. Ejecuta siempre 'ufw allow OpenSSH' (o 'ufw allow 22/tcp') antes de 'ufw enable'.

¿Qué puertos debería abrir?

Solo los que realmente uses. SSH (22) para administrar el servidor; 80 y 443 si tienes un sitio web o un proxy inverso; y los puertos específicos que necesite tu aplicación. Todo lo demás se queda cerrado. Cuantos menos puertos abiertos, menor tu superficie de ataque.

¿UFW protege contra todo?

No: controla qué puertos aceptan conexiones, que es gran parte del trabajo, pero no inspecciona el tráfico en los puertos que has abierto. Combínalo con claves SSH, fail2ban contra fuerza bruta, y mantener el software parcheado. Un cortafuegos es una capa, no todo el muro.

¿Cómo compruebo qué está permitido ahora mismo?

Ejecuta 'sudo ufw status verbose'. Lista todas las reglas activas y si UFW está habilitado. Compruébalo después de cada cambio para saber siempre exactamente qué está abierto.

Comentarios

Aún no hay comentarios. Sé el primero.

Deja un comentario

Los comentarios se moderan antes de aparecer.