🎨 Sysprovider Code
Sysprovider LogoWiki
🇪🇸Hosting español para ecommerce

Cómo configurar el firewall en Linux con UFW para principiantes

Actualizado el 27 de noviembre de 2025

¿Qué es UFW y por qué deberías usarlo?

Imagina que tu servidor Linux es una casa. Sin un firewall, es como si dejases la puerta principal abierta de par en par: cualquiera podría entrar, mirar tus pertenencias y llevarse lo que quisiera. Un firewall actúa como un portero de seguridad que decide quién entra, quién sale y a qué habitaciones puede acceder cada visitante.

UFW (Uncomplicated Firewall) es, como su nombre indica, un firewall sin complicaciones. Es una interfaz que simplifica el uso de iptables, la herramienta clásica de filtrado de paquetes en Linux, pero que resulta demasiado técnica y crítica para principiantes. Con UFW, puedes configurar reglas de seguridad con comandos sencillos y legibles, como allow (permitir) o deny (denegar).

Este artículo es tu guía UFW definitiva. Vamos paso a paso, desde la instalación hasta las configuraciones más útiles, para que puedas proteger tu servidor sin dolor de cabeza. Al final, tendrás un firewall linux funcional y entenderás cada regla que has aplicado.


Requisitos previos

Antes de empezar, asegúrate de tener:

  • Acceso a tu servidor Linux por SSH (o una terminal local si estás en un equipo físico).
  • Un usuario con permisos de sudo. Si estás usando un servidor en la nube (DigitalOcean, AWS, Vultr, etc.), normalmente el usuario principal tiene este permiso.
  • Una distribución de Linux basada en Debian o Ubuntu. UFW está disponible en otras, pero aquí nos centramos en estas por ser las más comunes para principiantes.

Si no tienes experiencia con la terminal, no te preocupes. Los comandos que usaremos son fáciles de copiar y pegar. Eso sí, presta atención a cada paso.

[WARNING]: Si configuras UFW por SSH, ten mucho cuidado. Si bloqueas el puerto 22 (SSH) sin querer, perderás el acceso a tu servidor. Sigue la guía al pie de la letra y no saltes pasos.


Paso 1: Instalar UFW

En la mayoría de las distribuciones modernas, UFW ya viene instalado. Pero para asegurarnos, ejecuta lo siguiente en tu terminal:

sudo apt update
sudo apt install ufw -y

El primer comando actualiza la lista de paquetes disponibles. El segundo instala UFW. La bandera -y responde "sí" automáticamente a la pregunta de confirmación.

Una vez instalado, verifica el estado inicial:

sudo ufw status

Verás un mensaje como Status: inactive. Es normal, todavía no lo hemos encendido.


Paso 2: Configurar las políticas por defecto

Las políticas por defecto son las reglas que se aplican a todo el tráfico que no coincide con una regla específica. La filosofía más segura es:

  • Denegar todo el tráfico entrante (nadie puede conectarse a tu servidor desde fuera, a menos que tú lo permitas).
  • Permitir todo el tráfico saliente (tu servidor puede conectarse a internet sin restricciones).

Para configurar esto, ejecuta:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Esto es la base de una buena seguridad firewall. Piensa en ello como cerrar todas las ventanas y puertas de tu casa, pero tú puedes salir cuando quieras.

[TIP]: Esta configuración por defecto es la más segura. Si necesitas abrir una puerta (puerto) más adelante, lo harás explícitamente.


Paso 3: Permitir conexiones SSH (¡IMPORTANTE!)

Este es el paso crítico que mencionamos en el aviso. Si estás gestionando tu servidor de forma remota, necesitas permitir el acceso SSH antes de activar el firewall. Si no lo haces, te bloquearás a ti mismo.

El puerto estándar para SSH es el 22. Para permitirlo, usa:

sudo ufw allow ssh

O, si usas un puerto personalizado (por ejemplo, el 2222), especifícalo:

sudo ufw allow 2222/tcp

[WARNING]: Si no permites SSH y activas UFW, perderás la conexión con tu servidor inmediatamente. Tendrías que acceder por una consola web (si tu proveedor la ofrece) o reiniciar el servidor en modo de recuperación.


Paso 4: Activar el firewall

Ahora viene el momento de la verdad. Para encender UFW, ejecuta:

sudo ufw enable

Te preguntará si quieres continuar. Escribe y y pulsa Enter.

Verás un mensaje como Firewall is active and enabled on system startup. Esto significa que UFW se ha activado y se iniciará automáticamente cada vez que reinicies el servidor.

Comprueba el estado con más detalle:

sudo ufw status verbose

Este comando muestra el estado, las políticas por defecto y todas las reglas activas. Deberías ver algo así:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW IN    Anywhere
22/tcp (v6)                ALLOW IN    Anywhere (v6)

Enhorabuena, ya tienes un firewall linux funcionando.


Paso 5: Reglas básicas de permitir y denegar

Ahora que el firewall está activo, vamos a aprender los comandos esenciales para gestionar el acceso.

Permitir un puerto específico

Si tienes un servidor web, necesitas abrir los puertos 80 (HTTP) y 443 (HTTPS). Para ello:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

También puedes usar los nombres de servicio si están definidos en /etc/services:

sudo ufw allow http
sudo ufw allow https

Permitir un rango de puertos

Para aplicaciones que usan múltiples puertos, como algunos juegos o servicios de streaming, puedes permitir un rango:

sudo ufw allow 6000:6007/tcp

Denegar una IP específica

Si detectas tráfico sospechoso desde una dirección IP concreta, puedes bloquearla:

sudo ufw deny from 123.45.67.89

Permitir una IP específica

Por el contrario, si quieres dar acceso exclusivo a una IP (por ejemplo, para administrar el servidor desde tu casa), puedes permitirla:

sudo ufw allow from 203.0.113.10

Permitir una IP a un puerto concreto

Combinando ambas cosas, puedes dar acceso a una IP solo a un puerto específico:

sudo ufw allow from 203.0.113.10 to any port 22 proto tcp

Esto es muy útil para restringir el acceso SSH a una sola dirección IP.


Paso 6: Eliminar reglas

A veces necesitas quitar una regla que ya no es necesaria. Hay dos formas de hacerlo.

Usando el número de regla

Primero, lista las reglas con números:

sudo ufw status numbered

Verás una salida como esta:

Status: active

     To                         Action      From
     --                         ------      ----
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 80/tcp                     ALLOW IN    Anywhere
[ 3] 443/tcp                    ALLOW IN    Anywhere

Para eliminar la regla número 2, ejecuta:

sudo ufw delete 2

Usando la regla exacta

También puedes eliminar la regla escribiéndola de nuevo con delete:

sudo ufw delete allow 80/tcp

[TIP]: La primera opción (por número) es más segura porque evitas errores de escritura.


Paso 7: Reglas avanzadas para servicios específicos

UFW no solo sirve para abrir y cerrar puertos. También puedes usarlo para proteger servicios como FTP, MySQL o aplicaciones personalizadas.

Permitir FTP (puerto 21)

sudo ufw allow ftp

Permitir MySQL (puerto 3306)

Si tienes una base de datos en tu servidor y necesitas acceder a ella desde una IP concreta:

sudo ufw allow from 192.168.1.100 to any port 3306 proto tcp

Permitir un puerto para una aplicación personalizada

Si tienes una app que usa el puerto 3000, por ejemplo:

sudo ufw allow 3000

Paso 8: Gestionar el registro (logs)

UFW puede registrar los intentos de conexión que bloquea. Esto es útil para monitorear ataques o ver qué puertos están siendo escaneados.

Para activar el registro:

sudo ufw logging on

Para ver los registros en tiempo real:

sudo tail -f /var/log/ufw.log

Para ver los últimos 50 eventos:

sudo tail -50 /var/log/ufw.log

[INFO]: El registro es esencial para entender qué está pasando en tu servidor. Si ves muchas conexiones bloqueadas desde la misma IP, es probable que sea un ataque automatizado.


Paso 9: Configuraciones comunes y ejemplos prácticos

Vamos a juntar todo lo aprendido en un escenario real: un servidor web con acceso SSH.

Ejemplo: Servidor web básico

# Políticas por defecto
sudo ufw default deny incoming
sudo ufw default allow outgoing

# Permitir SSH
sudo ufw allow ssh

# Permitir HTTP y HTTPS
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Activar el firewall
sudo ufw enable

# Ver el estado
sudo ufw status verbose

Ejemplo: Restringir SSH a una IP específica

# Denegar todo el tráfico entrante
sudo ufw default deny incoming

# Permitir solo la IP de tu oficina para SSH
sudo ufw allow from 203.0.113.10 to any port 22 proto tcp

# Permitir HTTP y HTTPS para todos
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

# Activar
sudo ufw enable

Ejemplo: Proteger un panel de control como Syspanel

Si estás usando Syspanel (el panel de control de hosting), debes permitir el acceso a su puerto. Recuerda que Syspanel usa el puerto 2106 para su interfaz web.

sudo ufw allow 2106/tcp

[INFO]: Syspanel es una herramienta de administración de servidores. Si lo tienes instalado, asegúrate de que el puerto 2106 esté abierto en tu firewall para poder acceder a su panel de control.


Paso 10: Desactivar o reiniciar UFW

A veces necesitas apagar el firewall temporalmente para solucionar un problema.

Desactivar UFW

sudo ufw disable

Reactivar UFW

sudo ufw enable

Recargar UFW (después de cambios manuales en iptables)

sudo ufw reload

[WARNING]: Desactivar UFW deja tu servidor completamente expuesto. Solo hazlo si es absolutamente necesario y durante un tiempo muy limitado.


Preguntas frecuentes (FAQ)

¿UFW es suficiente para proteger mi servidor?

UFW es una capa de protección esencial, pero no es la única. Combínalo con contraseñas seguras, actualizaciones regulares del sistema y aplicaciones que no tengan vulnerabilidades conocidas. Un firewall no te protege de un software mal configurado.

¿Puedo usar UFW con Docker?

Sí, pero Docker a veces se salta las reglas de UFW porque manipula iptables directamente. Si usas Docker, tendrás que investigar cómo integrar ambas herramientas. En muchos casos, se recomienda usar redes Docker con reglas de iptables separadas.

¿Qué hago si me he bloqueado el acceso SSH?

Si has bloqueado el puerto 22 por error, tienes varias opciones:

  1. Consola web: La mayoría de los proveedores de hosting ofrecen una consola de acceso directo (VNC, KVM, etc.).
  2. Reinicio en modo seguro: Algunos proveedores permiten reiniciar el servidor con UFW desactivado.
  3. Contactar con soporte: Si nada funciona, contacta con tu proveedor. Ellos pueden desactivar el firewall desde su panel.

¿Cómo puedo ver todas las reglas activas?

sudo ufw status numbered

¿UFW afecta al rendimiento del servidor?

No de forma perceptible. UFW es muy ligero y su impacto en el rendimiento es mínimo. Es una de las herramientas más eficientes para este propósito.

¿Puedo usar UFW en sistemas con cPanel o Syspanel?

Sí, pero ten cuidado. Paneles de control como Syspanel (puerto 2106) gestionan sus propios servicios. Asegúrate de no bloquear los puertos que ellos necesitan. Revisa la documentación del panel para conocer los puertos requeridos.

¿Qué diferencia hay entre allow y limit?

allow permite todas las conexiones al puerto especificado. limit permite un máximo de 6 conexiones por minuto desde la misma IP. Es útil para servicios como SSH, para prevenir ataques de fuerza bruta:

sudo ufw limit ssh

Consejos finales para tu seguridad

  1. Actualiza tu sistema regularmente: sudo apt update && sudo apt upgrade.
  2. Usa contraseñas fuertes y considera usar claves SSH en lugar de contraseñas.
  3. No abras puertos innecesarios: Cada puerto abierto es una puerta más para los atacantes.
  4. Monitorea los logs: Revisa /var/log/ufw.log de vez en cuando.
  5. Haz una copia de seguridad de tu configuración: Puedes hacerlo con sudo ufw status numbered > backup.txt.

Resumen

Has aprendido a configurar UFW en tu servidor Linux desde cero. Ahora sabes:

  • Qué es un firewall y por qué es importante.
  • Cómo instalar y activar UFW.
  • Cómo establecer políticas por defecto seguras.
  • Cómo permitir y denegar puertos, IPs y rangos.
  • Cómo eliminar reglas y gestionar logs.
  • Ejemplos prácticos para servidores web y paneles de control como Syspanel.

Con estos conocimientos, tu servidor está mucho más protegido. UFW es tu primera línea de defensa, y ahora la tienes bien configurada.

Si tienes dudas, no dudes en consultar la documentación oficial de UFW o dejar un comentario en tu proveedor de hosting. ¡Buena suerte y que tu servidor esté siempre seguro!

¿Necesitas ayuda?Son dos de nuestros técnicos, Agustín y Mikel, y están disponibles para resolver cualquier problema.

Hablar con ellos ahora
Agustín y Mikel