Perché creare un tunnel sicuro?
Con Tunnel, non invii il traffico a un indirizzo IP esterno, invece un demone leggero nella tua infrastruttura (cloudflared) crea connessioni in uscita solo alla rete globale di Cloudflare; così puoi chiudere le porte inutilizzate con il firewall nella tua infrastruttura. Per creare il tuo tunnel la tua infrastruttura (dominio+server DNS) deve essere all'interno della cloudflare network- [Network of Contents: is the channel in which owners can post their content and the audience can see the contents posted by the owners] - .

Di cosa ho bisogno per creare un tunnel sicuro?
Un account- [Account: an Account contains the personal information that is assigned to those who register and access with email and password] - in cloudflare con il tuo nome di dominio collegato al tuo server con le configurazioni dei server DNS; l'applicazione cloudflared può essere scaricata per ogni sistema operativo qui: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
Cos'è l'applicazione Zero Trust?
Zero Trust è un framework di sicurezza che richiede che tutti gli utenti, sia all'interno che all'esterno della rete dell'organizzazione, siano autenticati, autorizzati e continuamente validati per la configurazione di sicurezza e lo stato prima di essere autorizzati ad accedere alle applicazioni e ai dati. Quando crei il tuo tunnel per (x)RDP con cloudflare, dovrai associarlo a un'applicazione Zero Trust.

Inizia il tuo tunnel sicuro
Una volta scaricato cloudflared, puoi creare il primo tunnel semplicemente tramite terminale o tramite webui.
TERMINALE
Digita questo comando per l'autenticazione:
$ cloudflared tunnel login
Crea un tunnel e dagli un nome:
$ cloudflared tunnel create <NAME>
Dall'output del comando, prendi nota dell'UUID del tunnel e del percorso del file delle credenziali per il tuo tunnel.
Verifica che il tunnel sia stato creato correttamente eseguendo:
$ cloudflared tunnel list
Leggi la guida ufficiale per creare un tunnel tramite terminale: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/
WEBUI
- Accedi a Zero Trust e vai a Access- [Access the simple access to a website as a visitor] - > Tunnels.
- Seleziona Create a tunnel.
- Inserisci un nome per il tuo tunnel. Suggeriamo di scegliere un nome che rifletta i tipi di risorse a cui vuoi connetterti tramite questo tunnel (ad esempio,
enterprise-VPC-01). - Seleziona Save tunnel.
- Successivamente, dovrai installare
cloudflarede avviarlo. Per farlo, verifica che l'ambiente sotto Scegli un ambiente rifletta il sistema operativo del tuo computer, quindi copia il comando nella casella sottostante e incollalo in una finestra del terminale. Esegui il comando. - Una volta terminato l'esecuzione del comando, il tuo connettore apparirà in Zero Trust.
- Seleziona Avanti.
Leggi la documentazione ufficiale per creare un tunnel tramite webui: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/remote/
Connettiti con (X)RDP tramite Cloudflare Tunnel
Il Protocollo Remoto Desktop (RDP) consente agli utenti di accedere in remoto ai dispositivi mentre si trovano di fronte alla macchina. Con Cloudflare Zero Trust, puoi rendere il tuo server (X)RDP disponibile su Internet senza il rischio di aprire porte in entrata sul server.
Cloudflare Zero Trust offre due soluzioni per fornire un accesso sicuro ai server RDP:
- Routing della sottorete privata con Cloudflare WARP al Tunnel
- Routing dell'hostname pubblico con
cloudflared access
Il cloudflared access è quello che abbiamo utilizzato qui. Puoi utilizzare qualsiasi sottodominio pubblico come xrdp.example.com.
Ricorda che cloudflared è un software- [Program/Software: the instructions that control what a computer does; computer programs] - in continua evoluzione e pertanto è necessario consultare la documentazione ufficiale per assicurarsi di utilizzare le migliori procedure per la versione utilizzata.
Utilizza (X)RDP con il Tunnel RDP Cloudflare
(X)RDP è un acronimo per Protocollo Remoto Desktop (X). È un protocollo di desktop remoto open-source (RDP) che consente agli utenti di stabilire connessioni a qualsiasi macchina server da una macchina Windows remota o da un altro sistema Linux utilizzando il protocollo RDP. Per utilizzare (X)RDP nei tuoi client è necessario un passaggio aggiuntivo per connettere il client al tunnel; apri semplicemente il terminale (dal client da cui vuoi connetterti) e digita questo comando:
$ cloudflared access tcp --hostname xrdp.example.com --url localhost:3389
La prossima volta che vuoi connetterti tramite (X)RDP (con qualsiasi software abilitato) inserisci come hostname localhost:3389 e le credenziali del tuo nome utente (X)RDP del server; quando chiudi il terminale, la connessione terminerà e non sarà più possibile connetterti fino a quando non apri di nuovo il terminale e digiti di nuovo questo comando. Tieni presente: nel sistema Windows la porta 3389 potrebbe già essere utilizzata dal servizio RDP e non funzionerà; utilizza un'altra porta, a tua scelta, e connettiti con quella porta al tunnel.
Regola le impostazioni di sicurezza
Una volta che tutti i passaggi funzionano correttamente, puoi ora chiudere le porte utilizzate da RDP (solitamente la porta 3389) tramite il firewall; in questo modo, solo coloro che hanno l'applicazione cloudflared e/o i certificati necessari potranno connettersi.
Leggi sempre la documentazione ufficiale
Come ho scritto un po' fa, vi consiglio sempre di leggere e imparare dai documenti ufficiali di cloudflare, perché questo software potrebbe anche subire modifiche nel tempo. Questo documento è stato scritto senza aver ricevuto alcun supporto ufficiale da cloudflare ed è destinato ad essere un esempio per chi lavora nella nostra organizzazione.

