Linux: Guía completa para configurar el firewall UFW y proteger tu servidor

Última actualización: 03/09/2026
Autor: Isaac
  • Establecimiento de una política de denegación por defecto para reducir la superficie de ataque.
  • Configuración de reglas específicas para servicios críticos como SSH, HTTP y HTTPS.
  • Restricción de accesos sensibles mediante el filtrado por direcciones IP y subredes.
  • Gestión de frameworks avanzados y resolución de conflictos de red con Docker.

Rack de servidores moderno con iluminación azul en un centro de datos seguro, representando la infraestructura del servidor Linux.

Cuando montamos un servidor en Linux, es muy habitual dejarse llevar por la emoción de instalar el software, configurar la base de datos y lanzar la web al aire, olvidando que exponer un equipo a internet sin protección es como dejar la puerta de casa abierta de par en par. En cuestión de minutos, los bots y escáneres automatizados empezarán a dar golpes en tus puertos buscando cualquier rendija para entrar, por lo que cerrar todo lo que no sea estrictamente necesario es la primera línea de defensa real.

Para no tener que pelearse con la sintaxis críptica de iptables, contamos con herramientas como UFW (Uncomplicated Firewall), que simplifica la gestión del tráfico de red mediante comandos sencillos. En esta guía vamos a desgranar paso a paso cómo blindar tu servidor, desde la configuración básica hasta el uso de frameworks más avanzados como nftables, asegurando que tu infraestructura sea robusta y no te quedes bloqueado fuera de tu propia máquina en el proceso.

Pasillo de un centro de datos moderno con racks de servidores iluminados en azul, representando la infraestructura donde se implementan los firewalls de Linux.
Related article:
Seguridad en Linux: Guía Completa de Firewalls y Reglas de Red

¿Qué es exactamente el Firewall y por qué es vital?

Ingeniera de software utilizando un portátil mientras supervisa servidores en una sala de datos, ilustrando la gestión y configuración del firewall UFW.

Imagina que el firewall es el portero de una discoteca; él decide quién pasa y quién se queda fuera basándose en una lista de invitados. Técnicamente, se encarga de regular el flujo de datos entrantes y salientes, permitiendo solo aquellas conexiones relacionadas con los servicios que ofrecemos (como el tráfico web o la gestión remota) y denegando el resto.

Tener un cortafuegos bien ajustado ayuda a reducir la superficie de ataque, evitando que servicios internos, paneles de administración o bases de datos queden expuestos accidentalmente. No sustituye a otras medidas de seguridad en Linux y autenticación fuerte, pero es el cimiento sobre el cual se construye un servidor seguro, ayudando incluso a mitigar ataques de denegación de servicio (DDoS) y manteniendo la estabilidad del sistema.

Related article:
Guía Completa de Seguridad en Linux y Herramientas de Detección de Intrusos

Primeros pasos con UFW: Instalación y Estado

Persona enmascarada manipulando servidores, simbolizando las amenazas de ciberseguridad y la importancia de proteger el servidor con un cortafuegos.

UFW suele venir preinstalado en distribuciones como Ubuntu, pero si por algún motivo no lo tienes, puedes instalarlo rápidamente desde los repositorios oficiales. En sistemas basados en Debian, basta con ejecutar sudo apt install ufw para tenerlo listo. Una vez instalado, es fundamental comprobar si está activo o inactivo con el comando sudo ufw status.

  Guía Completa para Configurar Debian: Estabilidad Extrema en Servidores

Por defecto, el firewall suele estar desactivado para evitar que el administrador pierda el acceso al servidor antes de configurar las reglas. Antes de darle al interruptor de encendido, debemos definir qué aplicaciones queremos habilitar. Puedes listar los perfiles disponibles en tu sistema usando sudo ufw app list, lo que te permitirá ver servicios como OpenSSH o Apache sin tener que recordar los números de puerto.

La Regla de Oro: No te bloquees el acceso SSH

Especialista en IT supervisando la infraestructura de red en un centro de datos, reflejando la profesionalidad en el mantenimiento de servidores seguros.

Este es el error más típico y doloroso para cualquier administrador. Si activas el firewall en un servidor remoto sin haber permitido primero el puerto de gestión, perderás la conexión instantáneamente y te quedarás fuera. Por ello, antes de cualquier otra acción, debes ejecutar sudo ufw allow OpenSSH o, si usas un puerto personalizado (por ejemplo, el 2222), el comando sudo ufw allow 2222/tcp.

cómo usar sudo en linux
Related article:
Cómo usar sudo en Linux y administrarlo con seguridad

Si alguna vez cometieras la imprudencia de bloquearte, la única solución es recurrir a la consola VNC o acceso serie que ofrece tu proveedor de hosting. Desde allí puedes entrar al sistema y ejecutar sudo ufw disable para recuperar el control. Para evitar sustos, una buena práctica es abrir una segunda terminal y probar la conexión antes de cerrar la sesión actual.

Configurando el tráfico web y servicios comunes

Detalle de cables de red conectados en un panel de parcheo, representando el flujo de datos y el tráfico de red que el firewall debe regular.

Si tu servidor aloja una página web, necesitarás abrir los puertos 80 (HTTP) y 443 (HTTPS). Puedes hacerlo de forma individual o utilizando perfiles predefinidos. Por ejemplo, si usas Apache, el comando sudo ufw allow ‘Apache Full’ abre ambos puertos de una sola vez. Si prefieres Nginx, el equivalente sería sudo ufw allow ‘Nginx Full’.

Para otros servicios específicos, puedes abrir puertos concretos indicando el protocolo. Para un panel de control en el puerto 8080, usaríamos sudo ufw allow 8080/tcp, mientras que para un servicio UDP, como WireGuard en el puerto 51820, ejecutaríamos sudo ufw allow 51820/udp. Una vez que todas las reglas necesarias estén creadas, ya podemos activar el firewall definitivamente con sudo ufw enable.

  Seguridad en Linux de escritorio: antivirus y alternativas reales

Políticas avanzadas y restricciones por IP

La configuración más sensata para un servidor es aplicar una política de denegación por defecto para el tráfico entrante y permitir todo el tráfico saliente. Esto se logra con los comandos sudo ufw default deny incoming y sudo ufw default allow outgoing. De este modo, cualquier conexión que no haya sido explícitamente autorizada será descartada.

Servidor moderno con iluminación azul en un centro de datos, representando la infraestructura robusta de Linux.
Related article:
Guía Completa sobre la Seguridad en Linux: Gestión de Actualizaciones y Parches Críticos

Para elevar el nivel de seguridad, es recomendable restringir el acceso por IP. En lugar de abrir el puerto SSH a todo el mundo, puedes hacer que solo tu dirección IP tenga acceso: sudo ufw allow from to any port 22 proto tcp. Esto es especialmente crítico para las bases de datos como MySQL (puerto 3306) o PostgreSQL (puerto 5432), que jamás deben estar abiertas a internet, sino limitadas a IPs confiables o redes privadas.

Gestión, Limpieza y Auditoría de Reglas

A medida que el servidor evoluciona, algunas reglas dejan de ser útiles. Para borrarlas, puedes usar el comando de borrado directo, como sudo ufw delete allow 80/tcp. Sin embargo, es mucho más cómodo usar la vista numerada con sudo ufw status numbered, lo que te permite eliminar una regla simplemente indicando su índice, por ejemplo: sudo ufw delete 3.

Para aquellos que quieren combatir los ataques de fuerza bruta, UFW ofrece una función de limitación de tasa. Al ejecutar sudo ufw limit ssh, el firewall denegará conexiones de una IP que intente entrar demasiadas veces en un corto periodo. Para un monitoreo más profundo, puedes activar los registros con sudo ufw logging on y revisar los intentos bloqueados en el archivo /var/log/ufw.log.

Saltando al siguiente nivel: nftables y Docker

Para administradores que necesitan un control granular o trabajan con contenedores, nftables es la evolución natural. A diferencia de UFW, que es una interfaz simplificada, nftables permite crear tablas y cadenas con una sintaxis más potente. Es capaz de gestionar el tráfico dual-stack (IPv4 e IPv6) de forma más eficiente y ofrece sets dinámicos para limitar la tasa de conexiones con mucha más precisión que el comando ‘limit’ de UFW.

Servidor rack iluminado con luces azules mostrando discos duros de alta velocidad en un centro de datos moderno
Related article:
Guía Completa para Configurar Docker en Linux: Rendimiento y Seguridad

Un punto crítico es la relación con Docker. Es fundamental saber que Docker ignora las reglas de UFW porque manipula iptables directamente. Si publicas un puerto en un contenedor, quedará expuesto al mundo aunque UFW diga que está bloqueado. Para solucionar esto, se recomienda usar nftables o configurar Docker en Linux con seguridad mediante la cadena DOCKER-USER para forzar el filtrado del tráfico que se dirige a los contenedores.

  Cómo configurar IP estática en Debian, Arch, Ubuntu, openSUSE y Fedora

Resumen de comandos esenciales

  • Estado y Activación: ufw status para ver el estado y ufw enable para activar.
  • Permisos básicos: ufw allow 22/tcp (SSH), ufw allow 80/tcp (HTTP) y ufw allow 443/tcp (HTTPS).
  • Restricciones: ufw deny from para bloquear un atacante y ufw allow from to any port para accesos privados.
  • Mantenimiento: ufw status numbered para listar reglas y ufw reset para borrar toda la configuración y empezar de cero.

Implementar un sistema de filtrado de paquetes es la base de cualquier servidor profesional, permitiéndonos decidir con precisión qué servicios quedan expuestos y cuáles permanecen ocultos. Combinando una política restrictiva por defecto, la limitación de accesos mediante IPs conocidas y herramientas complementarias como Fail2Ban, logramos reducir drásticamente la superficie de ataque y proteger los datos críticos frente a los constantes escaneos de la red.

Servidor de alta tecnología con iluminación azul en un centro de datos moderno, representando la infraestructura de sistemas distribuidos.
Related article:
Gestión de Permisos en Sistemas Distribuidos y Estrategias para Mitigar Fallos de Seguridad