Come creare una rete peer-to-peer privata e sicura con NetBird

Quando si devono mettere in comunicazione dispositivi connessi a reti diverse, è sempre un problema. NetBird aiuta a impostare una rete privata e sicura che dà modo ai peer collegati di parlarsi direttamente senza alcun server centrale che funga da intermediario. Ecco come funziona e come si configura in pochi semplici passaggi.

Una rete mesh è un tipo di rete informatica in cui ogni dispositivo (o nodo) è connesso direttamente a diversi altri dispositivi a loro volta collegati. Creare una rete peer-to-peer privata e sicura significa allestire una rete in cui i dispositivi partecipanti alla stessa possono colloquiare reciprocamente senza l’intermediazione di un server centrale. Questa tipologia di rete è accessibile solo ai soggetti autorizzati ed è protetta dalle minacce esterne grazie all’adozione di misure di sicurezza come la crittografia.

In altri articoli abbiamo parlato di WireGuard, un protocollo VPN (Virtual Private Network) moderno e sicuro. È progettato per stabilire connessioni sicure su Internet e permette di creare tunnel crittografati in modo che le comunicazioni tra dispositivi non possano in alcun modo essere intercettate.

Realizzare una rete peer-to-peer privata e sicura con NetBird

NetBird è una piattaforma che combina una rete privata peer-to-peer priva di configurazioni complesse con un sistema centralizzato di controllo degli accessi. Racchiude tutti gli elementi per realizzare un’infrastruttura virtuale sulla rete Internet che permetta di scambiare dati in tutta sicurezza tra dispositivi connessi a distanza. Ecco perché uno strumento come NetBird si rivela utilissimo sia in ambito aziendale e professionale che ad uso domestico.

La piattaforma permette di creare una rete peer-to-peer basata su WireGuard che collega automaticamente più dispositivi attraverso un tunnel criptato. Questo elimina la necessità di aprire porte, configurare regole complesse per il firewall e gestire gateway VPN. NetBird assicura inoltre un accesso remoto sicuro grazie all’applicazione di politiche di accesso dettagliate e alla gestione di queste stesse policy da da un’unica posizione. Funziona su qualsiasi infrastruttura ed è compatibile con Windows, Linux, macOS, Android, iOS, Docker e OpenWRT.

 

NetBird logo

Come installare NetBird e configurare la rete privata usando i client già pronti

Ci sono due modi principali per installare e utilizzare NetBird. Il primo consiste nel servirsi di NetBird Cloud: in pratica, il sistema di controllo degli accessi è gestito da NetBird che offre la possibilità di connettere gratis alla rete privata fino a 100 dispositivi e un massimo di 5 utenti. La registrazione al servizio e il successivo login possono essere effettuati specificando un proprio indirizzo email oppure autenticandosi via OAuth, ad esempio con un account Google, Microsoft o GitHub.

Il download dei vari client NetBird può essere effettuato tramite la pagina “It’s time to add your first device“. Nel caso di Windows, macOS e Android sono disponibili i file d’installazione. Per Linux e Docker, NetBird indica i semplici passaggi utili a predisporre il software su ciascun sistema.

NetBird: come creare rete peer-to-peer privata e sicura

L’installazione di NetBird va ripetuta su tutti i dispositivi che si vogliono aggiungere alla rete privata sicura.

Una volta concluso questo passaggio, l’elenco dei dispositivi connessi alla rete sicura (peers) è disponibile nella dashboard di NetBird accessibile tramite browser Web previa autenticazione con il proprio account utente.

NetBird, lista peer collegati alla rete

Con un clic sulla scheda Setup Keys, si può eventualmente impostare una chiave precondivisa che serve come misura di sicurezza aggiuntiva per consentire l’accesso di nuovi dispositivi alla rete privata.

La successiva scheda Access Control consente di impostare eventualmente delle regole per definire le comunicazioni autorizzate tra dispositivi e quelle invece che non possono esserlo. Si può stabilire la direzione dello scambio di dati consentito o negato, i dispositivi cui la policy si riferisce, protocolli e porte. In questo modo, ad esempio, si può evitare che alcuni dispositivi siano visibili ad altri e abilitare solamente alcune tipologie di applicazioni.

NetBird: controllo degli accessi

Installazione Self-Hosted

Come si può vedere nelle precedenti immagini, NetBird assegna un indirizzo IP privato e un indirizzo mnemonico (dominio netbird.cloud) a ciascun peer connesso alla rete. Se si ha un proprio nome a dominio e si può intervenire sui corrispondenti record DNS, è possibile assegnare ad esempio un terzo livello (del tipo netbird.nomedominioazienda.abc) ai device connessi alla rete privata.

Per procedere è necessario disporre di una macchina Linux con almeno 1 CPU e 2 GB di memoria RAM. Il sistema, inoltre, deve essere pubblicamente raggiungibile sulle porte seguenti:

  • TCP: 80, 443
  • UDP: 3478, 49152-65535

Il nome a dominio deve puntare, lato DNS, all’indirizzo IP pubblico della macchina Linux.

Sulla stessa macchina è necessario installare Docker con docker-compose quindi caricare i pacchetti jq e curl.

A questo punto, è possibile scaricare ed eseguire lo script di installazione di NetBird:

export NETBIRD_DOMAIN=netbird.example.com; curl -fsSL https://github.com/netbirdio/netbird/releases/latest/download/getting-started-with-zitadel.sh | bash

Al termine dell’operazione, le risorse di NetBird sono gestibili tramite docker-compose.

Ulteriori informazioni sono disponibili nel repository GitHub di NetBird.

Come scambiare dati tra i dispositivi collegati alla rete peer-to-peer

Qualunque modalità si fosse scelta per configurare NetBird, i dispositivi connessi alla rete peer-to-peer si vedono a vicenda se riportati nella scheda Peers.

Dal prompt dei comandi di un sistema Windows si può ad esempio digitare il comando ping seguito dal nome o dall’indirizzo IP di un altro nodo per verificarne la raggiungibilità. Nell’esempio in figura, si vede che un dispositivo remoto (in questo caso un terminale Android) collegato a una rete completamente diversa (tra l’altro dall’altra parte del mondo) risulta direttamente raggiungibile.

NetBird, ping sui peer collegati alla rete

Per impostazione predefinita, con NetBird tutte le porte TCP/UDP di ciascun dispositivo connesso sono raggiungibili attraverso la rete. Se su una macchina fosse in esecuzione un server Web, si potrebbe caricare un’applicazione, senza che essa venga esposta pubblicamente sulla rete Internet.

Seguendo ad esempio le indicazioni per la condivisione di file e cartelle in Windows, i dispositivi connessi alla rete privata allestita con NetBird e WireGuard possono accedere alle risorse condivise a distanza e in totale sicurezza. E ciò indipendentemente dalla posizione fisica di ciascun device. L’importante è che, nel caso di Windows, le impostazioni di condivisione avanzata siano regolate così come in figura.

Condivisione file Windows NetBird

L’accesso remoto alla risorse condivise su Windows è possibile utilizzando le credenziali degli account utente configurati sulla singola macchina.

Credit immagine in apertura: iStock.com/NatalyaBurova

Ti consigliamo anche

Link copiato negli appunti