Perché dovrei creare un tunnel sicuro?
Con Tunnel, non si invia il traffico a un IP esterno, invece, un daemon leggero nella vostra infrastruttura (cloudflared) crea connessioni in uscita alla rete globale di Cloudflare; in modo da poter chiudere porte non utilizzate con il firewall nella vostra infrastruttura. Per creare il tunnel l'infrastruttura (server domain+name) deve essere all'interno cloudflare rete.

Cosa devo creare un tunnel sicuro?
Un conto in cloudflare con il nome di dominio collegato al server con le configurazioni del server di nome; l'applicazione cloudflared che può essere scaricata per ogni sistema operativo qui: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/downloads/
Qual è l'applicazione Zero Trust?
Zero Trust è un framework di sicurezza che richiede a tutti gli utenti, sia all’interno che all’esterno della rete dell’organizzazione, di essere autenticati, autorizzati, e continuamente convalidati per la configurazione e la postura di sicurezza prima di essere concessi o mantenere l’accesso a applicazioni e dati. Quando si crea il tunnel per SSH e SFTP con cloudflare Dovrai associarlo a un'applicazione Zero Trust.

Inizia il tunnel sicuro
Una volta scaricato il cloudflared, è possibile creare il primo tunnel semplicemente via terminale o da webui.
TERMINALE
Digitare questo comando per autenticare:
$ cloudflared tunnel loginCreare un tunnel e dargli un nome:
$ cloudflared tunnel create Dall’output del comando, prendere nota dell’UUUID del tunnel e del percorso del file credenziali del tunnel.
Confermare che il tunnel è stato creato con successo correndo:
$ cloudflared tunnel listLeggi i documenti ufficiali per creare un tunnel tramite terminale: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/local/
WEBUI
- AccediZero Truste vaiAccesso>Tunnel.
- SelezionaCreare un tunnel.
- Inserisci un nome per il tunnel. Si consiglia di scegliere un nome che riflette il tipo di risorse che si desidera collegare attraverso questo tunnel (ad esempio,
enterprise-VPC-01). - SelezionaSalvare il tunnel.
- Il prossimo, è necessario installare
cloudflarede gestiscilo. Per farlo, controlla che l'ambiente sottoScegli un ambienteriflette il sistema operativo sulla macchina, quindi copiare il comando nella casella sottostante e incollarlo in una finestra terminale. Esegui il comando. - Una volta terminato il funzionamento del comando, il connettore apparirà in Zero Trust.
- SelezionaIl prossimo.
Leggi i documenti ufficiali per creare un tunnel via webui: https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/install-and-setup/tunnel-guide/remote/
Collegare con SSH attraverso il tunnel Cloudflare
Il protocollo Secure Shell (SSH) consente agli utenti di accedere da remoto ai dispositivi tramite la riga di comando. Con Cloudflare Zero Trust, è possibile rendere il server SSH disponibile su Internet senza il rischio di aprire le porte in entrata sul server.
Cloudflare Zero Trust offre due soluzioni per garantire un accesso sicuro ai server SSH:
- Routing subnet privato con Cloudflare WARP to Tunnel
- Nome host pubblico in routing con
cloudflared access
L'accesso cloudflared è quello che abbiamo usato qui.
Ricorda che il cloudflared è un software- [Program/Software: the instructions that control what a computer does; computer programs] - continuamente aggiornato ed è quindi necessario leggere i documenti ufficiali per essere sicuri che si sta utilizzando le migliori procedure possibili per la versione utilizzata.
Utilizzare SSH dal terminale o webui
Usa il tuo nuovo hostname pubblico (ad esempio ssh.example.com) per raggiungere la tua applicazione SSH tramite terminale:
$ ssh [username]@ssh.example.comÈ anche possibile utilizzare l'interfaccia web per acces terminale ssh via web; per farlo sono necessari ulteriori passaggi: si dovrebbe semplicemente abilitare il rendering del browser nella vostra applicazione. Leggi il documento ufficiale su questo argomento qui: https://developers.cloudflare.com/cloudflare-one/applicazioni/non-http/#rendering-in-the-browser
Utilizzare SFTP con il tunnel SSH Cloudflare
SFTP, o Secure File Transfer Protocol, è un protocollo di trasferimento di file sicuro che utilizza la crittografia sicura della shell per fornire un alto livello di sicurezza per l'invio e la ricezione di trasferimenti di file. Per utilizzare SFTP nei vostri clienti è necessario un ulteriore passo per collegare il client al tunnel; basta aprire il terminale (dal client che si desidera collegare) e digitare questo comando:
$ cloudflared access tcp --hostname ssh.example.com --url localhost:2222La prossima volta che si desidera connettere via SFTP (con qualsiasi software abilitato) inserire come hostname localhost:2222 e le credenziali del proprio nome utente SFTP del server; quando si chiude il terminale, l'estremità della connessione e non sarà possibile connettersi di nuovo fino ad aprire il terminale e digitare nuovamente questo comando.
Regolare le impostazioni di sicurezza
Quando tutte le procedure funzionano perfettamente, è ora possibile chiudere le porte utilizzate da SSH e SFTP (solitamente porta 22) attraverso il firewall; in questo modo, solo quelli in possesso dell'applicazione cloudflared e/o i certificati necessari saranno in grado di connettersi.
Leggi sempre i documenti ufficiali
Come ho scritto poco fa, vi consiglio di leggere e imparare sempre dal funzionario cloudflare documenti perché questi software potrebbero anche avere modifiche nel tempo. Questo documento è scritto senza aver ricevuto alcun supporto ufficiale da cloudflare ed è inteso come esempio per coloro che lavorano nella nostra organizzazione.

