Pritunl è una piattaforma open source per la realizzazione di reti VPN distribuite. Basata sul protocollo OpenVPN consente – in base al modello di licensing scelto – il setup di architetture di reti virtuali più o meno complesse. In sostanza permette di connettere con facilità dispositivi presenti entro o fuori le mura, anche in aziende che hanno due o più sedi, creando una VPN gestita con regole sofisticate e un meccanismo di autenticazione centralizzato. 

Pritunl integra in modo completo diversi servizi di terze parti come l’interconnessione di Amazon AWS VPC (Virtual Private Cloud, si tratta di uno spazio di rete virtuale nel cloud messo a disposizione dell’utente tramite la suite AWS) con automatic failover e l’autenticazione Single Sing On (SSO). Le integrazioni per l’utilizzo dell’SSO comprendono servizi come Google Apps, Slack, OneLogin, Okta, DUO e Radius: ognuno di questi servizi può essere utilizzato per garantire agli utenti l’accesso all’infrastruttura Pritunl con i propri account e senza necessità di utilizzare credenziali dedicate. Nel caso in cui si scelga la licenza Enterprise – che consente l’installazione di un numero illimitato di server Pritunl – si può sfruttare la presenza dell’high availability con failover automatico, consentito dal fatto che non esistono nodi master, ma ognuno ricopre lo stesso livello funzionale. Pritunl integra anche la funzionalità di replica dei server, che permette un elevato livello di scalabilità dei cluster. Nell’ottica della realizzazione distribuita a livello geografico, la scelta di basare la piattaforma sul celebre database MongoDB mette a disposizione un alto livello di affidabilità (in particolare all’aumentare dei nodi e degli utenti) associato alla possibilità di replica.

Nel momento in cui si realizzi una infrastruttura estesa e complessa, è fondamentale avere a disposizione i corretti strumenti di monitoraggio e controllo. Pritunl supporta InfluxDB, una suite di tool che consentono il controllo di host e cluster della rete.

dashboard

Utilizzo lato client, sicurezza e licensing

Lato client è possibile utilizzare Pritunl in diversi modi: installando il client software su Windows, Linux, Mac e Chromebook, sfruttando il client OpenVPN per Android e iOS o utilizzando le RESTful API per l’integrazione con servizi terzi. Una quarta opzione molto interessante permette di installare il servizio Pritunl anche su dispositivi di rete Ubiquiti, nello specifico i router della famiglia EdgeMax (come l'EdgeRouter X che abbiamo recensito qui). L’utilizzo combinato di hardware Ubiquiti e client Pritunl permette la realizzazione di reti VPN dove è il router a monte della rete locale, per comunicare direttamente con il server di riferimento. Il plugin per EdgeMax è disponibile per il download su GItHub (https://github.com/pritunl/pritunl-edgemax) ed è facilmente installabile tramite l’interfaccia Web di EdgeOS.

pritunl client

Quando si parla di reti distribuite e di traffico dati, la sicurezza delle informazioni trasmesse è un elemento fondamentale da tenere in considerazione. Pritunl server offre fino a cinque livelli di autenticazione, che partono dalla classica (e non troppo sicura) sequenza numerica da utilizzare come PIN per la connessione, a cui si affiancano l’utilizzo di certificati utente, autenticazione in due fasi (two-factor authentication), single sign on e mobile push (come nel caso si utilizzi il servizio DUO con la relativa app per smartphone).

Pritunl offre tre diversi livelli di licensing, con i relativi prezzi: si parte dalla versione completamente gratuita che permette l’installazione di un solo server e l’utilizzo base seppur senza limiti di utenti. C’è poi una licenza intermedia chiamata Premium che rimane limitata a un solo server ma introduce diverse funzionalità avanzate, per finire con la Enterprise che offre tutte le funzioni senza limiti (failover, replication, monitoring, SSO, server illimitati etc.). Alla apposita pagina della documentazione è possibile trovare il dettaglio delle offerte con i relativi prezzi, che vanno dai 10 dollari/mese della licenza Premium ai 50 dollari/mese della Enterprise. Pritunl offre anche il servizio di supporto a pagamento nei pacchetti da 250 dollari/mese o 3000 all’anno.

Setup e utilizzo della versione gratuita

Abbiamo provato la versione free del server che – come spiegato in precedenza – permette comunque l’utilizzo di utenti, gruppi e dispositivi per utente illimitati. Una tale soluzione può già essere sufficiente per implementazioni di piccole-medie dimensioni, come nel caso in cui si voglia dare accesso remoto a personale di una sede esterna all’azienda, o si voglia creare una rete di collegamenti verso i propri clienti per manutenzione e supporto remoto. Da sottolineare la qualità e il livello di dettaglio della documentazione messa a disposizione dal sito Pritunl, dove si possono trovare diversi tutorial passo passo e tutte le informazioni necessarie per il setup di base (https://docs.pritunl.com). Seguendo l’apposita guida abbiamo installato i componenti necessari (repository, pritunl e mongoDB) grazie all’efficace script citato dall guida. È infatti sufficiente creare un file con estensione .sh contenente i comandi indicati ed eseguirlo per ottenere una installazione funzionante del server VPN.

script

Pritunl è gestibile quasi completamente tramite l’interfaccia Web, solo durante l’installazione ci sono alcuni comandi specifici (ad esempio per la messa in sicurezza del DB e l’aumento dei limiti sulle connessioni attive) per cui è necessario utilizzare la riga di comando. Digitando l’indirizzo del server con protocollo https si accede alla pagina di gestione dove, al primo avvio, viene chiesta la chiave di configurazione del database e il cambio delle credenziali di default.

Una volta effettuati i passaggi inziali, ci si trova di fronte a una interfaccia graficamente piacevole e ben organizzata. Le sezioni principali del menu superiore sono tre: la Dashboard che riporta un log delle attività in tempo reale, la voce User che permette di creare e gestire sia gli utenti che le Organizzazioni (per Organizzazione di intende un sottogruppo logico degli utenti) e la sezione Server da cui si può gestire il server OpenVPN. Analizzando più attentamente la sezione Users troviamo alcune funzioni, che rendono estremamente facile la configurazione dei client con l’utente scelto: per ognuno è disponibile un pannello da cui monitorare lo stato attuale, il nome della macchina client, l’indirizzo IP ed è possibile scaricare o ottenere sia l’url che il file .tar contenente la configurazione OpenVPN.

user

La funzione di auto-download tramite link è molto comoda perché è sufficiente copiare e incollare il collegamento nel Pritunl client per ottenere il setup completo e pronto all’uso della macchina client. A quel punto un semplice clic sul tasto di connessione ci permette di essere online. La dashboard del server offre a sua volta molte informazioni, come il numero di client collegati, la porta in uso, l’organizzazione a cui il server è collegato (in fase di prima creazione è richiesta la creazione di una Organization e l’assegnazione del nuovo server ad essa) ed eventuali rotte configurate. È possibile inoltre riavviare, spegnere o cancellare il server, mentre nella finestra centrale del pannello si può scegliere tra la visualizzazione dei log, o dell’utilizzo della banda in tempo reale.

serverlog

Una volta creati due utenti, la relativa organizzazione e un server associato e avviato si può passare all’installazione dei client. Come già indicato in precedenza, il software per il collegamento è disponibile per molte piattaforme: nel nostro caso abbiamo utilizzato due macchine Windows 7 e 8.1 Professional e un MacBook Pro con OSX 10.11. Il client Pritunl si presenta molto colorato e piuttosto vistoso (ma non per questo di difficile utilizzo), con due tasti che indicano chiaramente le opzioni disponibili: inserimento dell’url di download e upload del file di configurazione scaricato dal pannello Users. Entrambi i metodi sono ugualmente efficaci, anche se il primo risulta ancora più veloce e senza passaggi intermedi: una volta caricato il profilo si è pronti per il collegamento. 
pritunl client online
Nel nostro caso, come metodo di autenticazione, abbiamo scelto il PIN di 6 cifre. Premendo sul tasto Connect viene richiesto il PIN e la connessione viene attivata, rendendo visibili gli IP del server e quello assegnato alla macchina in uso. Come nel caso di altri software OpenVPN, a livello di sistema operativo viene aggiunto un adattatore di rete virtuale, che verrà usato dal client per instradare il traffico sulla VPN.  L’operazione va ripetuta su tutti i client di cui si necessita e, una volta collegati alla rete virtuale, sarà possibile farli comunicare tramite una rete privata sicura e protetta.  
Attenzione alla corretta configurazione delle rotte lato server, perché di default viene impostata una regola di tipo 0.0.0.0/0 (che indica di instradare tutto il traffico internet del client verso il server VPN) che può creare problemi di navigazione se non viene adattata alla la rete in uso. In una situazione tipica infatti, ci si aspetta che solo parte del traffico dati debba essere instradato lungo la VPN. La versione di Pritunl gratuita in uso non permette l’attivazione del NAT sul server, di conseguenza è fondamentale che sul router a monte della rete venga configurata una regola apposita per l’indirizzamento del traffico (i pacchetti in arrivo dalla rete virtuale devono essere instradati verso il server Pritunl). Una volta configurato correttamente il router è possibile effettuare il ping tra le macchine collegate alla rete virtuale tramite internet, a dimostrazione del corretto funzionamento.

Pritunl si è dimostrata una soluzione interessante per il setup di architetture VPN con un elevato grado di sicurezza e scalabilità: il prezzo della licenza nella versione Enterprise è magari significativo per le organizzazioni più piccole, ma complessivamente ragionevole soprattutto viste le funzionalità che mette a disposizione. A favore di Pritunl bisogna sicuramente considerare l’estrema facilità di configurazione sia lato utente che lato server, grazie a interfacce ben strutturate e intuitive, una nota di merito va anche alla documentazione e ai tutorial dettagliati e spiegati in modo semplice e chiaro.

L'autore

Lorenzo Bedin

Laureato in Ingegneria delle Telecomunicazioni, svolge l'attività di libero professionista come consulente IT, dopo un periodo di formazione e esperienza in azienda nel ruolo di sistemista Windows e Linux. Si occupa di soluzioni hardware, siti web e virtualizzazione.

banner5

fb icon evo twitter icon evo

Parola del giorno

L'acronimo SoC  (System on a Chip) nasce per descrivere quei circuiti integrati che, all'interno di un singolo chip fisico, contengono un...

>

YAML è un formato utilizzato per serializzare (ovvero salvare oggetti su supporti di memoria ad accesso seriale) dati, in modo...

>

Il termine Edge Computing descrive, all'interno di infrastrutture cloud-based, l'insieme di dispositivi e di tecnologie che permettono l'elaborazione dei dati ai...

>

L'acronimo FPGA  (Field Programmable Gate Array), descrive quei dispositivi hardware formati da un circuito integrato e con funzionalità programmabili tramite...

>

Il termine Agentless (computing) descrive operazioni dove non è necessaria la presenza e l'esecuzione di un servizio software (demone o...

>
Leggi anche le altre...

Download del giorno

Fiddler

Fiddler è un server proxy che può girare in locale per consentire il debug delle applicazioni e il...

>

Adapter Watch

Adapter Watch è uno strumento che permette di visualizzare un riepilogo completo e dettagliato delle informazioni riguardanti una determinata...

>

DNS DataView

DNS Lookup  è un tool a interfaccia grafica per effettuare il lookup DNS dal proprio PC, sfruttando i...

>

SolarWinds Traceroute NG

SolarWinds Traceroute NG è un tool a linea di comando per effettuare traceroute avanzati in ambiente Windows...

>

Network Inventory Advisor

Network Inventory Advisor  è uno strumento che permette di scansionare la rete e acquisire informazioni riguardanti tutti i...

>
Tutti i Download del giorno...

Archivio numeri

  • GURU advisor: numero 21 - maggio 2019

    GURU advisor: numero 21 - maggio 2019

  • GURU advisor: numero 20 - dicembre 2018

    GURU advisor: numero 20 - dicembre 2018

  • GURU advisor: numero 19 - luglio 2018

    GURU advisor: numero 19 - luglio 2018

  • GURU advisor: numero 18 - aprile 2018

    GURU advisor: numero 18 - aprile 2018

  • GURU advisor: numero 17 - gennaio 2018

    GURU advisor: numero 17 - gennaio 2018

  • GURU advisor: numero 16 - ottobre 2017

    GURU advisor: numero 16 - ottobre 2017

  • GURU advisor: numero 15 - luglio 2017

    GURU advisor: numero 15 - luglio 2017

  • GURU advisor: numero 14 - maggio 2017

    GURU advisor: numero 14 - maggio 2017

  • 1
  • 2
  • 3
  • Teslacrypt: rilasciata la chiave

    Gli sviluppatori del temuto ransomware TeslaCrypt hanno deciso di terminare il progetto di diffusione e sviluppo e consegnare al pubblico la chiave universale per decifrare i file. Read More
  • Proxmox 4.1 sfida vSphere

    Proxmox VE (da qui in avanti semplicemente Proxmox) è basato sul sistema operativo Debian e porta con sé vantaggi e svantaggi di questa nota distribuzione Linux: un sistema operativo stabile, sicuro, diffuso e ben collaudato. Read More
  • Malware: risvolti legali

    tutti i virus e in particolare i più recenti Ransomware, che rubano i vostri dati e vi chiedono un riscatto, violano la legge. Vediamo insieme come comportarsi, per capire anche se e quando bisogna sporgere denuncia. Read More
  • 1