Marcio Cunha

Cómo configurar reglas de firewall con UFW en Linux

Aprende a bloquear puertos innecesarios, crear políticas predeterminadas seguras y gestionar el tráfico de tu servidor Linux usando UFW de forma sencilla.

Marcio Cunha•6 min
También disponible en:PortuguêsEnglish
Resumen
  • UFW simplifica la gestión de iptables proporcionando una capa amigable para reglas de red.
  • La política predeterminada de denegar entradas protege servicios ocultos contra intrusiones.
  • Abrir puertos específicos requiere precaución para exponer solo lo esencial al exterior.
  • El control de subredes e IPs garantiza acceso restringido a entornos corporativos sensibles.
  • Monitorear el estado y registros del firewall evita sorpresas con conexiones no deseadas.

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

Cuando mantenemos un servidor conectado a internet, se vuelve visible para miles de escaneos automatizados al día. Para evitar que atacantes exploten puertos abiertos, necesitamos un firewall, un sistema de seguridad que controla el tráfico de red permitiendo solo conexiones confiables. En el ecosistema Linux, la herramienta predeterminada de bajo nivel se llama iptables, pero su sintaxis suele ser compleja e intimidante para los administradores de sistemas. Es precisamente aquí donde entra UFW, que significa Uncomplicated Firewall, sirviendo como un facilitador amigable que traduce comandos simples en reglas robustas de filtrado de paquetes.

En la práctica, UFW actúa como un portero estricto que verifica cada dato que entra o sale de tu máquina, decidiendo si tiene permiso para pasar basándose en una lista de reglas predefinidas. Antes de pasar a los comandos prácticos, vale la pena recordar la importancia de mantener un entorno de infraestructura organizado, lo que abarca desde la seguridad de los puertos hasta rutinas de automatización con herramientas como configurar el programador Cron en Linux sin errores. A continuación, veremos cómo instalar, activar y estructurar políticas seguras desde cero.

Instalación y verificación inicial de UFW

La mayoría de las distribuciones de Linux basadas en Debian y Ubuntu ya traen UFW preinstalado, pero siempre es prudente asegurarse de que esté presente y actualizado en el sistema. El primer paso para cualquier administrador es verificar el estado actual del servicio para entender si ya está activo o bloqueando tráfico. Para ello, utilizamos la terminal con privilegios administrativos, asegurándonos de tener la autoridad para alterar de manera segura la configuración de red del sistema operativo.

Abre tu terminal y ejecuta los comandos a continuación para verificar la instalación y el estado actual del firewall. Si no está instalado, el gestor de paquetes de tu distribución hará el trabajo rápidamente.

sudo apt update && sudo apt install ufw -y
sudo ufw status verbose

Si el resultado indica que el estado está inactivo, no te preocupes, ya que es el comportamiento esperado en una instalación limpia. Antes de activar UFW, debemos definir políticas predeterminadas para evitar quedarnos bloqueados fuera del propio servidor durante el proceso de configuración remota mediante SSH.

Definición de políticas predeterminadas seguras de entrada y salida

La regla de oro de cualquier arquitectura de seguridad defensiva es la denegación por defecto. Esto significa que, a menos que una regla explícita autorice el tráfico, todo lo demás debe ser estrictamente bloqueado. En contextos de red, configuramos el firewall para rechazar todo lo que intente entrar al servidor sin permiso, permitiendo al mismo tiempo que el propio servidor envíe peticiones a internet y reciba sus respectivas respuestas.

Para aplicar esta estrategia de denegación de entrada y autorización de salida, ejecutamos comandos directos que moldean el comportamiento base del firewall. Este enfoque reduce drásticamente la superficie de ataque de la máquina, impidiendo que puertos abiertos por software olvidado queden vulnerables a explotaciones maliciosas. Consulta los comandos necesarios para bloquear la entrada y liberar la salida:

sudo ufw default deny incoming
sudo ufw default allow outgoing

Con estas directrices establecidas, el servidor comienza a ignorar cualquier intento de conexión externa no autorizada. Sin embargo, si activamos el firewall en este preciso momento sin liberar el puerto de la terminal remota, perderemos el acceso a la máquina si estamos conectados vía SSH. Resolveremos esto en el siguiente paso.

Liberación del acceso esencial para la administración remota

El acceso SSH, que significa Secure Shell, es el protocolo estándar que utilizamos para administrar servidores Linux a distancia de forma cifrada. Como bloqueamos todas las conexiones entrantes en el paso anterior, debemos abrir explícitamente el puerto utilizado por SSH antes de encender el firewall, de lo contrario la conexión se cortará inmediatamente.

Por defecto, el servicio SSH opera en el puerto 22, aunque muchos administradores cambian este puerto por razones de seguridad contra ataques de fuerza bruta automatizados. Para habilitar el acceso estándar, utilizamos el nombre del servicio o el número de puerto correspondiente. Ejecuta el siguiente comando en la terminal:

sudo ufw allow ssh

Si utilizas un puerto personalizado para tu acceso remoto, simplemente reemplaza el término ssh por el número correspondiente, como por ejemplo 2222/tcp. Con el acceso administrativo garantizado, ya podemos habilitar UFW de forma definitiva y probar el funcionamiento de las reglas aplicadas.

Activación de UFW y validación de reglas activas

Ahora que el puerto de administración está debidamente abierto y las políticas predeterminadas están configuradas, podemos encender el firewall de manera segura. Durante el proceso de activación, el sistema emitirá una advertencia indicando que la operación podría interrumpir conexiones SSH existentes, pero como ya abrimos el puerto 22, el proceso ocurrirá sin interrupciones no deseadas.

Para activar UFW e inspeccionar el panel completo de reglas activas, utiliza los comandos secuenciales a continuación en la terminal de tu servidor. El uso del parámetro verbose muestra detalles adicionales que ayudan a auditar el estado de seguridad:

sudo ufw enable
sudo ufw status numbered

El comando status numbered es especialmente útil porque muestra un índice numérico al lado de cada regla registrada. Esto facilita enormemente la eliminación o modificación de reglas futuras al simplemente hacer referencia al número de línea correspondiente en lugar de volver a escribir toda la regla compleja.

Permitir y bloquear puertos para servicios específicos

Con el firewall activo y seguro, el siguiente paso en la rutina de administración de sistemas es abrir puertos para los servicios que realmente necesitan exponer contenido a internet, como servidores web HTTP y HTTPS. Del mismo modo, podemos bloquear direcciones IP específicas que estén realizando intentos sospechosos de intrusión contra nuestra infraestructura.

Para abrir puertos comunes como el 80 para páginas web sin cifrar y el 443 para sitios seguros, utilizamos comandos directos en la terminal. Además, podemos restringir el acceso a redes confiables o prohibir IPs maliciosas. Ve ejemplos prácticos de cómo gestionar estas excepciones:

sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw deny from 203.0.113.50 to any port 22
sudo ufw allow from 192.168.1.0/24 to any port 3306

Estas reglas permiten un control granular, asegurando que solo el tráfico legítimo llegue a bases de datos o servicios internos. En entornos de desarrollo o diagnóstico de red, herramientas complementarias como la capacidad de inspeccionar paquetes de red con tcpdump en Linux ayudan a validar si los paquetes llegan correctamente a los puertos abiertos. Para profundizar en estos conceptos arquitectónicos en producción, consulte también nuestro análisis técnico sobre Cómo probar fuentes ATX en el banco con carga fantasma.

Consideraciones finales sobre auditoría y mantenimiento de redes

Mantener un firewall configurado no es una tarea que se hace una sola vez y se olvida. La seguridad de los sistemas es un proceso continuo que exige revisiones periódicas de las reglas activas, eliminación de puertos heredados que ya no se utilizan y monitoreo constante de los registros del sistema operativo para identificar patrones de tráfico anómalos. UFW cumple este papel magistralmente al ocultar la complejidad de iptables sin sacrificar el control necesario para mantener entornos corporativos o personales protegidos contra amenazas virtuales.

Adoptar buenas prácticas de administración de redes desde el inicio de la configuración evita dolores de cabeza futuros con intrusiones y fugas de datos. Dedica tiempo a documentar las excepciones creadas en tu firewall y realiza pruebas regulares de conectividad externa para garantizar que solo los servicios intencionales permanezcan visibles para el resto del mundo.