¿Por qué crear un túnel seguro?
Con Tunnel, no envías tráfico a una IP externa, en cambio, un demonio ligero en tu infraestructura (cloudflared) crea conexiones de solo salida a la red global de Cloudflare; así que puedes cerrar puertos no utilizados con tu firewall en tu infraestructura. Para crear tu túnel tu infraestructura (dominio+servidor DNS) debe estar dentro de la red de Cloudflare.

¿Qué necesito para crear un túnel seguro?
Una cuenta en Cloudflare con tu nombre de dominio vinculado a tu servidor con las configuraciones de los servidores DNS; la aplicación cloudflared puede ser descargada para cualquier sistema operativo aquí: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
¿Qué es la aplicación Zero Trust?
Zero Trust es un marco de seguridad que requiere que todos los usuarios, ya sean dentro o fuera de la red de la organización, estén autenticados, autorizados y validados continuamente para la configuración de seguridad y el estado antes de que se les permita o mantengan el acceso a las aplicaciones y los datos. Cuando creas tu túnel para (x)RDP con Cloudflare, necesitarás asociarlo con una aplicación Zero Trust.

Comienza tu túnel seguro
Una vez que se haya descargado cloudflared, puedes crear el primer túnel simplemente a través del terminal o mediante la interfaz web.
TERMINAL
Escribe este comando para autenticarte:
$ cloudflared tunnel login
Crea un túnel y dale un nombre:
$ cloudflared tunnel create <NOMBRE>
A partir de la salida del comando, toma nota del UUID del túnel y de la ruta al archivo de credenciales del túnel.
Confirma que el túnel se ha creado correctamente ejecutando:
$ cloudflared tunnel list
Lee la documentación oficial para crear un túnel a través del terminal: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/
WEBUI
- Inicia sesión en Zero Trust y ve a Acceso > Túneles.
- Selecciona Crear un túnel.
- Introduce un nombre para tu túnel. Sugerimos elegir un nombre que refleje el tipo de recursos que quieres conectar a través de este túnel (por ejemplo,
enterprise-VPC-01). - Selecciona Guardar túnel.
- A continuación, deberá instalar
cloudflaredy ejecutarlo. Para ello, asegúrese de que el entorno bajo Seleccione un entorno refleje el sistema operativo de su máquina, luego copie el comando en la caja de abajo y péguelo en una ventana de terminal. Ejecute el comando. - Una vez que el comando haya finalizado, su conector aparecerá en Zero Trust.
- Seleccione Siguiente.
Lea la documentación oficial para crear un túnel a través de la interfaz web: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/remote/
Conecte con (X)RDP a través de Cloudflare Tunnel
El Protocolo de Escritorio Remoto (RDP) permite a los usuarios acceder de forma remota a los dispositivos mientras están frente a la máquina. Con Cloudflare Zero Trust, puede hacer que su servidor (X)RDP esté disponible en Internet sin el riesgo de abrir puertos de entrada en el servidor.
Cloudflare Zero Trust ofrece dos soluciones para proporcionar acceso seguro a los servidores RDP:
- Ruteo de subred privado con Cloudflare WARP a Tunnel
- Ruteo de nombre de host público con
cloudflared access
cloudflared access- [Access the simple access to a website as a visitor] - es el que hemos utilizado aquí. Puede utilizar cualquier subdominio público como xrdp.example.com.
Tenga en cuenta que cloudflared es un software- [Program/Software: the instructions that control what a computer does; computer programs] - en constante actualización y, por lo tanto, es necesario leer la documentación oficial para asegurarse de que está utilizando los mejores procedimientos para la versión que está utilizando.
Utilice (X)RDP con el Túnel RDP de Cloudflare
(X)RDP es un acrónimo de Protocolo de Escritorio Remoto X. Es un protocolo de escritorio remoto (RDP) de código abierto, que permite a los usuarios establecer conexiones a cualquier servidor de máquina desde una máquina Windows remota u otro sistema Linux utilizando el protocolo RDP. Para utilizar (X)RDP en sus clientes se requiere un paso adicional para conectar el cliente; simplemente abra su terminal (desde el cliente que desea conectar) y escriba este comando:
cloudflared access tcp --hostname xrdp.example.com --url localhost:3389
La próxima vez que desee conectarse a través de (X)RDP (con cualquier software habilitado) inserte como nombre de host localhost:3389 y las credenciales de su nombre de usuario (X)RDP del servidor; cuando cierre su terminal, la conexión finalizará y no será posible conectarse hasta que abra el terminal y vuelva a escribir este comando. Tenga en cuenta: en un sistema Windows, el puerto 3389 podría ya estar en uso por el servicio RDP y no funcionará; utilice otro puerto, a su elección, y conéctese con ese puerto al túnel.
Ajuste la configuración de seguridad
Una vez que todos los procedimientos funcionen correctamente, puede ahora cerrar los puertos utilizados por RDP (normalmente el puerto 3389) a través del firewall; de esta manera, solo aquellos que tengan la aplicación cloudflared y/o los certificados necesarios podrán conectarse.
Lea siempre la documentación oficial
Como escribí hace un tiempo, le aconsejo que siempre lea y aprenda de los documentos oficiales de cloudflare, ya que este software también puede tener cambios con el tiempo. Este documento está escrito sin haber recibido ningún soporte oficial de cloudflare y está destinado como un ejemplo para aquellos que trabajan en nuestra organización.

