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

Cómo configurar el firewall de un servidor Linux (UFW)

Actualizado el 22 de octubre de 2025

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

Si tienes un servidor Linux, una de las primeras cosas que debes hacer es protegerlo. Y no, no basta con tener una buena contraseña o actualizar el sistema. Necesitas un firewall Linux que actúe como portero de tu servidor: decide quién entra, quién sale y quién se queda en la puerta.

UFW (Uncomplicated Firewall) es la herramienta perfecta para esto. Su nombre lo dice todo: es un firewall sin complicaciones, diseñado para que cualquier persona, incluso sin experiencia previa en redes, pueda configurar firewall de forma rápida y segura. Está basado en iptables, pero lo envuelve en una capa de comandos mucho más amigable.

Piénsalo así: si tu servidor fuera una casa, UFW sería la cerradura de la puerta principal. Sin ella, cualquier persona podría entrar. Con ella, tú decides quién tiene llave y quién no.

En esta guía, aprenderás desde cero a instalar, configurar y proteger tu servidor con UFW. Vamos paso a paso, sin tecnicismos innecesarios y con ejemplos que puedes aplicar al momento.


Requisitos previos antes de empezar

Antes de lanzarte a proteger servidor Linux con UFW, asegúrate de tener lo siguiente:

  • Acceso root o un usuario con permisos sudo en tu servidor.
  • Conexión SSH activa (para no quedarte fuera de tu propio servidor).
  • Un sistema operativo basado en Debian o Ubuntu (aunque también funciona en otras distros).

[WARNING] Si estás conectado por SSH a tu servidor, ten muchísimo cuidado al activar UFW. Si bloqueas el puerto 22 (SSH) por error, te quedarás fuera para siempre. Siempre verifica tus reglas antes de activar el firewall.


Instalación de UFW en tu servidor Linux

En la mayoría de las distribuciones modernas, UFW ya viene instalado. Pero si no es tu caso, instalarlo es pan comido.

Abre tu terminal y escribe:

sudo apt update
sudo apt install ufw -y

En sistemas con yum o dnf (como CentOS o Fedora), el comando sería:

sudo yum install ufw

Una vez instalado, verifica que esté disponible:

sudo ufw status

Si te aparece Status: inactive, estás listo para empezar.


Configuración inicial: los primeros pasos

1. Define una política por defecto

Lo primero que debes hacer es decidir qué hacer con el tráfico que no tiene reglas específicas. La opción más segura es:

  • Denegar todo el tráfico entrante (nadie entra si no lo permites).
  • Permitir todo el tráfico saliente (tu servidor puede comunicarse con el exterior sin problemas).

Esto se logra con:

sudo ufw default deny incoming
sudo ufw default allow outgoing

[INFO] Esta es la configuración recomendada para la mayoría de servidores. Bloqueas todo lo que no necesitas y solo abres los puertos imprescindibles.

2. Permite el acceso SSH (¡crítico!)

Antes de activar el firewall, asegúrate de permitir la conexión SSH. Si no lo haces, te quedarás sin acceso remoto.

sudo ufw allow ssh

O si usas un puerto SSH personalizado (por ejemplo, el 2222):

sudo ufw allow 2222/tcp

[WARNING] Repito: verifica esta regla antes de activar UFW. Un descuido aquí puede significar perder el acceso a tu servidor por completo.

3. Activa el firewall

Ahora sí, llega el momento de encenderlo:

sudo ufw enable

Verás un mensaje de advertencia. Escribe y y pulsa Enter. El firewall estará activo.

Comprueba el estado:

sudo ufw status verbose

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

Abrir puertos UFW: la guía práctica

Ahora que el firewall está activo, es hora de abrir puertos UFW para los servicios que necesitas. Aquí tienes los casos más comunes.

Puertos para servicios web (HTTP y HTTPS)

Si tienes un sitio web, necesitas permitir el tráfico en los puertos 80 y 443:

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

También puedes usar los nombres de servicio:

sudo ufw allow http
sudo ufw allow https

Puertos para correo electrónico

Si gestionas tu propio servidor de correo, necesitarás abrir varios puertos:

sudo ufw allow 25/tcp   # SMTP (envío)
sudo ufw allow 110/tcp  # POP3
sudo ufw allow 143/tcp  # IMAP
sudo ufw allow 587/tcp  # SMTP con cifrado

Puertos para FTP

Si usas FTP para transferir archivos:

sudo ufw allow 21/tcp
sudo ufw allow 20/tcp

Si usas FTP pasivo, necesitas abrir un rango de puertos (por ejemplo, del 20000 al 30000):

sudo ufw allow 20000:30000/tcp

Puertos para bases de datos

Si tu servidor aloja una base de datos MySQL o MariaDB:

sudo ufw allow 3306/tcp

[WARNING] Ten mucho cuidado al exponer puertos de bases de datos a Internet. Lo ideal es restringirlos a IPs específicas (te enseñamos cómo más abajo).


Reglas avanzadas: controla quién accede a tu servidor

No basta con abrir puertos. Para proteger servidor Linux de verdad, necesitas controlar quién puede acceder. Aquí es donde UFW brilla.

Permitir acceso solo desde una IP específica

Imagina que solo quieres que tu oficina (con IP 203.0.113.10) pueda acceder al puerto 22 (SSH):

sudo ufw allow from 203.0.113.10 to any port 22

Bloquear una IP específica

Si detectas un atacante o un bot molesto:

sudo ufw deny from 198.51.100.7

Permitir acceso a un puerto solo desde una subred

Si quieres permitir acceso a tu panel de administración solo desde tu red local:

sudo ufw allow from 192.168.1.0/24 to any port 8080

Reglas para interfaces específicas

Si tienes varias interfaces de red (por ejemplo, eth0 y eth1), puedes aplicar reglas solo a una de ellas:

sudo ufw allow in on eth0 to any port 80

Eliminar reglas y hacer cambios

Cometer errores es humano. Por suerte, UFW también facilita corregirlos.

Eliminar una regla por número

Primero, lista las reglas con números:

sudo ufw status numbered

Verás algo así:

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:

sudo ufw delete 2

Eliminar una regla por especificación

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

sudo ufw delete allow 80/tcp

Desactivar y reactivar el firewall

Si necesitas hacer cambios grandes, puedes apagarlo temporalmente:

sudo ufw disable

Y reactivarlo cuando termines:

sudo ufw enable

Proteger servidor Linux: buenas prácticas y consejos

Aquí van algunos consejos profesionales para sacarle el máximo partido a UFW.

1. Usa límites de velocidad para evitar ataques

UFW incluye una opción para limitar la tasa de conexiones. Esto es muy útil contra ataques de fuerza bruta:

sudo ufw limit ssh

Esta regla limita las conexiones SSH a 6 por minuto. Si alguien intenta más, se bloquea automáticamente.

2. Registra los intentos bloqueados

Activa el registro para saber quién está intentando entrar:

sudo ufw logging on

Los logs se guardan en /var/log/ufw.log. Revísalos periódicamente para detectar patrones sospechosos.

3. Configura Syspanel (HestiaCP) correctamente

Si usas el panel de control Syspanel (antes conocido como HestiaCP), debes tener en cuenta que el puerto de acceso es el 2106. Asegúrate de abrirlo en tu firewall para no quedarte fuera de tu panel:

sudo ufw allow 2106/tcp

[TIP] Syspanel es una excelente herramienta para gestionar tu servidor, pero necesita que su puerto esté abierto en el firewall para funcionar correctamente.

4. Revisa tus reglas periódicamente

Una regla que hoy es necesaria, mañana puede ser un agujero de seguridad. Revisa tu configuración cada mes:

sudo ufw status verbose

5. Combina UFW con otras medidas de seguridad

UFW es una capa de protección, pero no la única. Combínalo con:

  • Fail2ban para bloquear IPs maliciosas automáticamente.
  • Actualizaciones automáticas de seguridad.
  • Autenticación SSH con claves en lugar de contraseñas.

Errores comunes y cómo solucionarlos

Me he quedado fuera de mi servidor

Si bloqueaste el puerto SSH por error, puedes solucionarlo de dos formas:

  1. Acceso físico o por consola: Si tienes acceso al servidor físicamente o a través de un panel de control del proveedor (como VNC), desactiva UFW con sudo ufw disable.
  2. Acceso por IPMI: Algunos servidores dedicados tienen IPMI, que te da acceso remoto a nivel de hardware.

[WARNING] Si no tienes ninguna de estas opciones, la única solución será contactar con tu proveedor de hosting. Por eso insisto tanto en verificar las reglas antes de activar el firewall.

No puedo abrir un puerto

Asegúrate de que el servicio está escuchando en ese puerto. Puedes comprobarlo con:

sudo netstat -tulpn | grep :PUERTO

Si el servicio no está activo, el puerto no aparecerá como abierto aunque UFW lo permita.

UFW no se activa

A veces, UFW da problemas en sistemas con Docker o con iptables personalizados. Prueba a reiniciar el servicio:

sudo systemctl restart ufw

Si el problema persiste, verifica que no haya conflictos con otras herramientas de firewall.


Preguntas frecuentes (FAQ)

¿UFW es suficiente para proteger mi servidor?

UFW es una excelente base, pero no es la única medida de seguridad que debes tomar. Combínalo con actualizaciones, contraseñas seguras, Fail2ban y copias de seguridad.

¿Puedo usar UFW en un servidor con Windows?

No, UFW es exclusivo de Linux. En Windows, el equivalente sería el Firewall de Windows Defender.

¿Qué pasa si activo UFW sin reglas?

Bloqueará todo el tráfico entrante, incluyendo SSH. Te quedarías sin acceso remoto. Por eso es fundamental configurar las reglas antes de activarlo.

¿Cómo sé qué puertos tengo abiertos?

Puedes usar sudo ufw status verbose para ver todas las reglas activas. También puedes escanear tu servidor con herramientas externas como nmap.

¿Puedo usar UFW en un servidor con Syspanel?

Sí, y de hecho es muy recomendable. Solo recuerda abrir el puerto 2106 para acceder a tu panel de administración.


Resumen final

Configurar el firewall Linux con UFW es una de las tareas más importantes que puedes hacer para proteger tu servidor. En esta guía has aprendido:

  • Instalar UFW en tu servidor.
  • Configurar las políticas por defecto.
  • Abrir puertos UFW para servicios web, correo, FTP y bases de datos.
  • Controlar quién puede acceder a tu servidor con reglas avanzadas.
  • Eliminar reglas y hacer cambios cuando sea necesario.
  • Proteger servidor Linux con buenas prácticas adicionales.

Recuerda siempre: verifica tus reglas antes de activar el firewall, mantén tu servidor actualizado y combina UFW con otras herramientas de seguridad.

Si tienes alguna duda, consulta la documentación oficial o tu proveedor de hosting. Y nunca subestimes el poder de un buen firewall: puede ser la diferencia entre un servidor seguro y uno comprometido.


Comandos rápidos de referencia

Aquí tienes una chuleta con los comandos más útiles para tu día a día:

ComandoFunción
sudo ufw statusVer el estado del firewall
sudo ufw enableActivar el firewall
sudo ufw disableDesactivar el firewall
sudo ufw allow 80/tcpPermitir tráfico en el puerto 80
sudo ufw deny 21/tcpBloquear tráfico en el puerto 21
sudo ufw allow from 203.0.113.10Permitir acceso desde una IP
sudo ufw delete allow 80/tcpEliminar una regla
sudo ufw status numberedVer reglas numeradas
sudo ufw limit sshLimitar conexiones SSH
sudo ufw logging onActivar registro de eventos

Guarda esta guía como referencia y no dudes en volver a ella cada vez que necesites configurar el firewall de tu servidor Linux. ¡Tu servidor te lo agradecerá!

¿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