Acceder desde fuera de casa a un panel de administración, una aplicación personal o una herramienta de automatización suele empezar con una idea arriesgada: abrir un puerto en el router y apuntarlo al servidor. Funciona, pero también coloca el servicio frente a escaneos, intentos de acceso y errores de configuración.
Cloudflare Tunnel propone otro modelo. Un proceso llamado cloudflared, instalado cerca de la aplicación, establece conexiones salientes hacia la red de Cloudflare. Las solicitudes entran por un nombre de dominio y viajan por ese túnel hasta el servicio interno. El router no necesita aceptar una conexión entrante directa.
Eso reduce exposición, pero no convierte automáticamente una aplicación insegura en segura. El túnel es transporte; la identidad, los permisos, las actualizaciones y la recuperación siguen siendo responsabilidad del administrador.
Qué cambia en la arquitectura
En una publicación tradicional, el visitante conecta con la dirección pública del router, una regla NAT reenvía el tráfico y el servidor escucha el puerto. Con Tunnel, cloudflared inicia el enlace desde dentro hacia fuera. La documentación oficial indica que utiliza conexiones salientes a la red global de Cloudflare mediante HTTP/2 o QUIC, normalmente por el puerto 7844.
El flujo simplificado es:
-
El usuario abre
aplicacion.ejemplo.com. -
Cloudflare recibe la solicitud.
-
Una política de Access puede comprobar identidad y requisitos adicionales.
-
Cloudflare envía el tráfico por una conexión ya establecida por
cloudflared. -
El conector lo entrega a una dirección local, por ejemplo
http://localhost:8080.
El servicio puede permanecer sin dirección IP pública y el cortafuegos puede bloquear tráfico entrante. Solo las aplicaciones descritas en la configuración del túnel quedan asociadas a rutas públicas.
Lo que necesitas antes de crear el túnel
Necesitas un dominio gestionado en Cloudflare, una cuenta con acceso a Zero Trust, un equipo que pueda ejecutar cloudflared de forma continua y una aplicación interna que ya funcione localmente. Comprueba primero el servicio desde la misma máquina:
curl http://localhost:8080
Si falla en local, el túnel no lo arreglará. Verifica dirección, puerto, protocolo y certificados antes de añadir otra capa.
Elige además un nombre de host específico, como panel.ejemplo.com. No reutilices un subdominio destinado a otro servicio. Anota quién es responsable, qué datos procesa y cómo se desactivará si algo sale mal.
Crea un túnel administrado
En el panel Zero Trust, entra en la sección de redes y conectores, crea un túnel y selecciona Cloudflared. El panel proporciona un comando de instalación con un token. Ejecútalo solo en el equipo que actuará como conector y trata ese token como un secreto: no lo publiques en capturas, repositorios o documentación compartida.
Una vez conectado, añade un nombre de host público y define el servicio local de destino. Para una aplicación HTTP sin TLS dentro de la misma máquina, podría ser http://localhost:8080. Si el origen utiliza HTTPS, valida el certificado correctamente; desactivar la verificación para silenciar un error elimina una protección importante.
Cloudflare creará o asociará el registro DNS necesario. Espera a que el conector aparezca saludable y prueba el nombre desde otra red. Un estado conectado solo demuestra que cloudflared llega a Cloudflare, no que la aplicación responda bien.
Protege con Access antes de darlo por terminado
Un nombre público puede ser descubierto. Si la aplicación no debe ser pública, crea una aplicación de Access para ese dominio y configura una política explícita. Cloudflare Access evalúa quién puede alcanzar una aplicación mediante acciones, reglas y selectores.
Evita políticas que incluyan a “todo el mundo” o a cualquier correo válido. La documentación las señala como configuraciones que permiten acceso demasiado amplio. Para un servicio personal, limita por direcciones de correo concretas o por un grupo conocido del proveedor de identidad.
Añade autenticación multifactor. Access puede exigir el MFA informado por un proveedor compatible o aplicar MFA independiente. Para una consola sensible, una llave de seguridad ofrece mayor resistencia al phishing que un código reenviado. Ajusta también la duración de sesión: una sesión de semanas reduce la utilidad del segundo factor.
Mantén la autenticación propia de la aplicación siempre que sea posible. La capa de Access protege la entrada, pero una defensa adicional reduce el impacto de una política equivocada o una ruta que quede fuera de cobertura.
Comprueba que no existe una puerta lateral
Después de activar el túnel, verifica que el viejo acceso directo ya no funciona. Elimina la regla de reenvío de puertos del router si existía y confirma desde una red externa que la dirección pública no responde en ese puerto.
Revisa también interfaces alternativas. Una aplicación puede escuchar en todas las interfaces de la red local cuando solo necesita localhost. Limitar el enlace reduce exposición dentro de la propia LAN.
En el cortafuegos puedes adoptar un modelo positivo: bloquear conexiones entrantes y permitir únicamente las salientes que necesita cloudflared. Cloudflare documenta los destinos y el puerto 7844 para TCP y UDP. No copies listas de direcciones antiguas; consulta la referencia vigente y adapta las reglas al tipo de cortafuegos.
Alta disponibilidad y fallos previsibles
Si el único conector se apaga, el acceso desaparece. Para un servicio importante, ejecuta conectores adicionales del mismo túnel en máquinas o zonas de fallo diferentes. No instales dos procesos en un único equipo y lo llames redundancia: una avería eléctrica los detendría a ambos.
Prueba estos escenarios:
-
detener
cloudflaredy observar el error recibido; -
reiniciar el equipo y confirmar que el servicio arranca automáticamente;
-
detener la aplicación mientras el túnel continúa conectado;
-
retirar un usuario de la política de Access;
-
caducar la sesión y exigir una nueva autenticación;
-
restaurar la configuración en otro equipo.
Los mensajes deben distinguir entre fallo del conector, origen no disponible y acceso denegado. Esa diferencia acelera el diagnóstico.
Registros, privacidad y dirección del cliente
Conserva registros suficientes para saber quién accedió, qué política se aplicó y si el conector perdió conexión. Define retención y protege esos registros: pueden revelar nombres de host, cuentas, horarios y rutas internas.
El origen ya no recibe siempre la conexión directamente del visitante. Para HTTP, Cloudflare indica que la dirección original se transmite mediante la cabecera CF-Connecting-IP. Solo confíes en esa cabecera cuando la solicitud haya llegado por la ruta controlada; un cliente directo podría falsificarla si conserva otra entrada al servidor.
Un túnel tampoco cifra datos que tu aplicación escriba en disco. Aplica permisos, cifrado y minimización según el contenido. El hecho de no abrir puertos no sustituye la protección de la base de datos.
Actualizaciones y recuperación
Mantén cloudflared, el sistema operativo y la aplicación actualizados. Prueba cambios en un entorno separado cuando el servicio sea crítico y conserva una forma rápida de volver a la versión anterior.
Haz copias de la configuración de la aplicación y documenta el mapeo entre hostname, túnel y servicio interno. No incluyas tokens sin protección en el respaldo. Si un token se filtra, rótalo desde el panel y vuelve a instalar los conectores afectados.
Prepara un procedimiento de emergencia: desactivar el hostname público, retirar la política, detener el conector y revocar credenciales. La seguridad también consiste en poder cerrar el acceso con rapidez.
Lista de comprobación final
-
La aplicación funciona localmente antes de crear el túnel.
-
No quedan puertos de entrada abiertos para el mismo servicio.
-
El hostname solo apunta al origen previsto.
-
Access limita usuarios concretos y exige MFA cuando corresponde.
-
La autenticación interna de la aplicación permanece activa.
-
El token del túnel no aparece en repositorios ni capturas.
-
Los conectores arrancan tras reiniciar y existe redundancia si es necesaria.
-
Los registros tienen retención y acceso restringidos.
-
Hay copias verificadas y un procedimiento de revocación.
Cloudflare Tunnel elimina una exposición habitual y facilita conectar servicios sin una IP pública enrutable. Su ventaja real aparece cuando forma parte de un diseño completo: salida controlada, identidad explícita, mínimo privilegio, supervisión y recuperación. El objetivo no es que la aplicación “se vea desde Internet”, sino que únicamente las personas autorizadas puedan alcanzarla y que puedas demostrarlo.