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

Cómo configurar el firewall de un servidor Linux con UFW

Actualizado el 5 de mayo de 2026

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

Si estás administrando un servidor Linux, ya sea un VPS o un equipo físico, la seguridad es una de tus prioridades. Un firewall linux es tu primera línea de defensa contra accesos no autorizados y ataques externos. UFW, que significa Uncomplicated Firewall (Firewall No Complicado), es una herramienta diseñada precisamente para facilitar la gestión de las reglas de iptables, el sistema de filtrado de paquetes nativo de Linux.

Piensa en UFW como un portero de discoteca muy eficiente: decide quién entra, quién sale y qué puertas están abiertas o cerradas. A diferencia de iptables, que puede resultar abrumador por su sintaxis compleja, UFW te permite gestionar tu seguridad servidor con comandos simples y en lenguaje natural.

Este artículo está pensado para ti, que quizás acabas de montar tu primer servidor o simplemente quieres reforzar su protección sin volverte loco. Vamos a explorar desde la instalación hasta la configuración avanzada, con ejemplos prácticos y consejos que podrás aplicar en minutos.

Primeros pasos: Instalación y activación de UFW

Antes de empezar a crear reglas, necesitas tener UFW instalado. La buena noticia es que en la mayoría de las distribuciones modernas, especialmente en las basadas en Debian y Ubuntu, ya viene preinstalado o disponible en los repositorios oficiales.

¿Cómo instalar UFW en Ubuntu y Debian?

Para ufw ubuntu, el proceso es sencillo. Abre tu terminal y ejecuta:

sudo apt update
sudo apt install ufw -y

En distribuciones como CentOS o Fedora, el proceso es un poco diferente, pero como la mayoría de los tutoriales y guías se centran en Ubuntu, nos ceñiremos a ese entorno. Una vez instalado, verifica su estado con:

sudo ufw status

Al principio, verás que está inactivo. No te asustes, es normal. Antes de activarlo, vamos a configurar las reglas básicas para evitar quedarnos fuera de nuestro propio servidor.

La regla de oro: Permitir SSH antes de activar el firewall

Este es el consejo más importante que te daré en todo el artículo. Si estás conectado a tu servidor de forma remota (algo muy común), y activas UFW sin permitir el tráfico SSH, te bloquearás a ti mismo y perderás el acceso.

Para permitir SSH, ejecuta:

sudo ufw allow OpenSSH

O si usas un puerto personalizado para SSH (algo muy recomendable por seguridad), especifica el puerto:

sudo ufw allow 2222/tcp

Solo después de hacer esto, puedes activar el firewall con:

sudo ufw enable

Verás un mensaje de advertencia indicando que esto puede interrumpir conexiones existentes. Escribe y y presiona Enter.

Configuración de reglas firewall básicas

Ahora que UFW está activo, es momento de definir qué tráfico permites y cuál bloqueas. La política predeterminada de UFW es denegar todo el tráfico entrante y permitir todo el saliente. Esta es una postura segura, pero necesitas abrir los puertos que tus servicios requieran.

Puertos esenciales que debes abrir

Dependiendo del uso que le des a tu servidor, necesitarás abrir diferentes puertos. Aquí tienes una lista de los más comunes:

  • HTTP (Puerto 80): Para servir páginas web sin cifrar. sudo ufw allow http
  • HTTPS (Puerto 443): Para servir páginas web con cifrado SSL/TLS. sudo ufw allow https
  • FTP (Puertos 20 y 21): Para transferencias de archivos, aunque es inseguro, se usa en entornos controlados. sudo ufw allow ftp
  • MySQL/MariaDB (Puerto 3306): Solo si necesitas acceso externo a tu base de datos. sudo ufw allow 3306/tcp
  • DNS (Puerto 53): Si estás ejecutando tu propio servidor DNS. sudo ufw allow dns

[TIP] Para abrir un rango de puertos, por ejemplo del 8000 al 8100, usa sudo ufw allow 8000:8100/tcp. Esto es útil si ejecutas múltiples servicios en un rango específico.

Ejemplo práctico: Configurar un servidor web

Imagina que quieres montar un servidor web típico (Apache o Nginx). Los comandos serían:

sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
sudo ufw enable

Con esto, tu servidor aceptará conexiones en los puertos 22 (SSH), 80 (HTTP) y 443 (HTTPS), y bloqueará todo lo demás.

Gestión avanzada de reglas firewall

UFW no se limita a abrir y cerrar puertos. Te permite crear reglas más sofisticadas, como permitir el acceso solo desde ciertas direcciones IP o redes.

Permitiendo acceso desde IPs específicas

¿Tienes una IP fija en tu oficina o casa? Puedes restringir el acceso a servicios sensibles (como SSH o el panel de administración) solo desde esa IP.

sudo ufw allow from 192.168.1.100 to any port 22

Este comando permite el acceso SSH únicamente desde la IP 192.168.1.100. Cualquier otro intento será denegado.

Bloqueando IPs maliciosas

Si detectas intentos de fuerza bruta desde una dirección IP concreta, puedes bloquearla sin piedad:

sudo ufw deny from 203.0.113.5

Reglas con subredes

Para permitir el acceso a una subred completa, por ejemplo, una VPN privada:

sudo ufw allow from 10.8.0.0/24 to any port 3306

Esto permitiría conexiones a MySQL desde cualquier IP dentro del rango 10.8.0.1 a 10.8.0.254.

UFW y HestiaCP (Syspanel)

En el mundo del hosting, es común usar paneles de control que facilitan la gestión del servidor. Si estás utilizando Syspanel (anteriormente conocido como HestiaCP), debes tener en cuenta que el puerto de acceso al panel es el 2106.

Al configurar tu firewall linux con UFW, es crucial que abras este puerto para poder administrar tu hosting sin problemas:

sudo ufw allow 2106/tcp

[INFO] Syspanel es un panel de control de hosting que integra web, correo, DNS y bases de datos. Recuerda que su acceso web se realiza a través del puerto 2106, así que asegúrate de que UFW no lo bloquee.

Otras reglas útiles para Syspanel

Además del puerto del panel, Syspanel necesita acceso a otros puertos para funcionar correctamente. Asegúrate de tener abiertos los puertos de servicios como:

  • SSH (22): Para administración remota.
  • HTTP (80) y HTTPS (443): Para los sitios web que alojes.
  • FTP (21) y puertos pasivos (30000-35000): Si tus clientes necesitan subir archivos.

Puedes configurar los puertos pasivos de FTP con:

sudo ufw allow 30000:35000/tcp

Administración y monitoreo de reglas

Una vez que tienes tus reglas configuradas, es vital saber cómo administrarlas y monitorearlas.

Ver el estado del firewall

El comando status te muestra un resumen de las reglas activas:

sudo ufw status verbose

Este comando te dará una salida más detallada, mostrando la política predeterminada y las reglas numeradas.

Eliminar reglas

Si cometiste un error o ya no necesitas una regla, puedes eliminarla de dos maneras:

  1. Por número de regla: Primero, ejecuta sudo ufw status numbered para ver la lista numerada. Luego, elimina la regla con sudo ufw delete [NÚMERO].
  2. Por especificación: Repite el comando de creación pero con delete al inicio. Por ejemplo: sudo ufw delete allow 8080/tcp.

Reiniciar UFW

Si has hecho muchos cambios y quieres empezar de cero, puedes desactivarlo y reactivarlo:

sudo ufw disable
sudo ufw enable

[WARNING] Ten cuidado al reiniciar UFW. Asegúrate de que tu regla SSH esté activa antes de hacerlo, o podrías perder la conexión.

Casos de uso comunes y resolución de problemas

Vamos a ver algunos escenarios típicos y cómo solucionar los problemas más frecuentes.

Mi servidor web no es accesible desde fuera

Este es un problema clásico. Si has configurado Apache o Nginx pero no puedes acceder desde tu navegador, verifica:

  1. El servicio está corriendo: sudo systemctl status apache2 (o nginx).
  2. UFW tiene el puerto abierto: sudo ufw status | grep 80.
  3. El router/firewall externo: Si tu servidor está detrás de un router, asegúrate de que el puerto 80 esté redirigido a la IP local del servidor.

No puedo conectarme por SSH

Si te has bloqueado, la solución es acceder a través de un panel de control como el que ofrece tu proveedor de VPS (generalmente una consola web) y ejecutar sudo ufw allow 22/tcp o sudo ufw allow OpenSSH.

¿Cómo saber qué puertos están en uso?

Puedes usar el comando netstat o ss para ver qué puertos están escuchando:

sudo ss -tulpn

Esto te dará una lista de todos los puertos en escucha y el proceso que los usa. Así podrás decidir qué puertos necesitas abrir en UFW.

Buenas prácticas de seguridad servidor

Configurar un firewall es solo el comienzo. Aquí tienes algunas recomendaciones adicionales para blindar tu servidor:

Cambia el puerto SSH por defecto

El puerto 22 es el más atacado del mundo. Cambiarlo a un puerto no estándar (como 2222, 2022, etc.) reduce drásticamente los intentos de acceso no autorizado. Recuerda actualizar tu regla en UFW:

sudo ufw allow 2222/tcp

Y desactiva el acceso al puerto 22:

sudo ufw deny 22/tcp

Usa llaves SSH en lugar de contraseñas

Las contraseñas son vulnerables a ataques de fuerza bruta. Configurar autenticación con llaves SSH es mucho más seguro. Después de configurarlas, puedes deshabilitar la autenticación por contraseña en el archivo /etc/ssh/sshd_config.

Actualiza el sistema regularmente

Un servidor desactualizado es un servidor vulnerable. Ejecuta sudo apt update && sudo apt upgrade al menos una vez a la semana.

Implementa Fail2ban

Fail2ban es una herramienta que monitorea los logs del sistema y bloquea automáticamente las IPs que muestren comportamientos maliciosos, como múltiples intentos fallidos de inicio de sesión. Funciona muy bien junto con UFW.

Preguntas frecuentes (FAQ)

¿UFW es suficiente para proteger mi servidor?

UFW es una capa de seguridad esencial, pero no es la única. Debes combinarlo con otras prácticas como SSH con llaves, actualizaciones regulares y quizás un IDS/IPS (Sistema de Detección/Prevención de Intrusos) para una protección completa.

¿Puedo usar UFW en un servidor con múltiples IPs?

Sí, UFW permite especificar la interfaz de red y la IP de origen/destino en las reglas. Por ejemplo:

sudo ufw allow in on eth0 to any port 80

¿Qué hago si UFW no está disponible en mi distribución?

En distribuciones como CentOS o RHEL, el equivalente es firewalld. Sin embargo, puedes instalar UFW desde los repositorios EPEL si lo prefieres.

¿Cómo puedo hacer una copia de seguridad de mis reglas?

Puedes exportar las reglas a un archivo:

sudo ufw status numbered > reglas_ufw.txt

Y para restaurarlas, tendrías que recrearlas manualmente o usar herramientas como ufw-export (si está disponible).

Conclusión y próximos pasos

Configurar un firewall linux con UFW es una tarea fundamental para cualquier administrador de servidores. No solo es fácil de aprender, sino que también es increíblemente poderoso una vez que entiendes sus capacidades. Hemos recorrido desde la instalación básica hasta la creación de reglas avanzadas, pasando por la integración con paneles como Syspanel y la resolución de problemas comunes.

La clave está en empezar con una configuración segura por defecto (denegar todo lo entrante) y luego ir abriendo solo lo necesario. Recuerda siempre tener una regla de escape (SSH) antes de activar el firewall.

[TIP] Dedica tiempo a entender qué servicios necesitas exponer y cuáles no. La regla de oro es: menos puertos abiertos, menos superficie de ataque.

Ahora es tu turno. Ponte manos a la obra, configura tu UFW y verás cómo tu seguridad servidor mejora notablemente. Si tienes dudas, no dudes en consultar la documentación oficial de UFW o dejar un comentario en tu comunidad de administradores favorita. ¡Buena suerte!

¿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