UFW en Ubuntu: protege puertos sin perder SSH

Índice de contenido
  1. Identifica servicios y acceso actual
  2. Añade primero una regla administrativa
  3. Activa con una segunda vía disponible
  4. Publica solo servicios necesarios
  5. Revisa y elimina reglas de forma controlada
  6. Docker cambia el recorrido del tráfico
  7. Logs y recuperación
  8. Preguntas frecuentes
    1. ¿UFW bloquea todos los puertos publicados por Docker?
    2. ¿Puedo cerrar la sesión después de enable?
    3. ¿Cambiar el puerto SSH sustituye el firewall?
  9. En pocas palabras
  10. Conclusión
  11. Fuentes y documentación

UFW facilita administrar reglas de firewall en Ubuntu. Antes de activarlo por SSH, debes permitir el acceso que realmente utilizas y conservar una consola alternativa. Una regla correcta para el puerto 22 no protege una sesión que escucha en otro puerto.

Este recorrido está pensado para un laboratorio. En un servidor compartido o con políticas de organización, revisa el diseño antes de modificar reglas.

Identifica servicios y acceso actual

sudo ss -lntup
sudo ufw status verbose
sudo ufw show added

Comprueba dirección y puerto de SSH, interfaces e IPv6. Revisa también el firewall del proveedor, si existe. Son capas distintas y cada una puede permitir o bloquear tráfico.

Añade primero una regla administrativa

El ejemplo utiliza una dirección de documentación que debes reemplazar por tu origen autorizado:

sudo ufw allow from 203.0.113.10/32 to any port 22 proto tcp
sudo ufw show added

Si tu dirección cambia o accedes mediante una VPN, diseña una regla apropiada y un procedimiento de recuperación. No uses literalmente el rango de ejemplo.

Activa con una segunda vía disponible

Después de revisar reglas y conservar consola:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
sudo ufw status verbose

Comprueba una conexión nueva antes de cerrar la sesión existente. Una sesión ya establecida no prueba que una conexión posterior vaya a ser aceptada.

El comportamiento de tráfico reenviado y rutas necesita reglas adicionales según el equipo. No apliques este perfil de host a un router o nodo con necesidades especiales sin revisar su función.

Publica solo servicios necesarios

Si el servidor debe atender una web, permite los puertos correspondientes a tu diseño. Un panel de administración o una base de datos normalmente requieren más restricciones que una web pública.

No abras 3306, 5432 o 6379 “por si acaso”. Para una base remota, limita origen y considera red privada y cifrado. El firewall no reemplaza la autenticación del servicio.

Revisa y elimina reglas de forma controlada

sudo ufw status numbered

Antes de retirar una regla por número, comprueba la lista actual. Los números pueden cambiar después de una eliminación; no ejecutes una serie de números basada en una captura anterior.

Documenta el propósito y propietario de cada excepción. Las reglas temporales que nadie revisa suelen permanecer más tiempo del necesario.

Docker cambia el recorrido del tráfico

Docker crea sus propias reglas para redes y puertos publicados. Determinado tráfico de contenedores puede pasar por rutas que no coinciden con las reglas UFW que esperabas.

Comprueba la documentación de Docker para el backend de firewall utilizado y verifica desde otra máquina qué puertos quedan accesibles. Publicar en 127.0.0.1 puede servir para un laboratorio local; no es la misma decisión que exponer un servicio en todas las interfaces.

Logs y recuperación

Activa registros con un nivel adecuado y revisa su volumen. Un registro lleno de tráfico no es automáticamente una incidencia; relaciona origen, puerto, frecuencia y servicio.

Si pierdes acceso, utiliza la consola autorizada para revisar y corregir. No dependas de una instrucción remota de desactivación cuando precisamente no puedes conectar.

Preguntas frecuentes

¿UFW bloquea todos los puertos publicados por Docker?

No debes asumirlo. Docker administra reglas y rutas propias; revisa el diseño y comprueba accesibilidad efectiva.

¿Puedo cerrar la sesión después de enable?

Primero prueba una conexión nueva desde el origen autorizado y conserva una vía alternativa.

¿Cambiar el puerto SSH sustituye el firewall?

No. Puede reducir cierto ruido, pero no reemplaza autenticación, restricciones de origen y mantenimiento.

En pocas palabras

Un firewall útil permite las conexiones necesarias y restringe las demás sin bloquear la administración. Sus reglas deben comprobarse desde la red y coordinarse con otras capas como Docker o el proveedor.

Conclusión

Mantén un inventario de puertos y reglas y revisa su necesidad después de cambiar servicios. Aplica modificaciones pequeñas y conserva siempre una vía de recuperación.

Para continuar, revisa Cómo instalar Ubuntu desde una USB: paso a paso y Cómo instalar Docker en Ubuntu 24.04: guía práctica paso a paso.

Fuentes y documentación

Documentación de documentation.ubuntu.com.

Documentación de docs.docker.com.

Subir

Descubre más de Sergio Caballero

Suscríbete ahora para seguir leyendo y obtener acceso al archivo completo.

Continuar leyendo