VPN

Una VPN (Virtual Private Network) consente di instaurare un collegamento sicuro e cifrato fra due o più sistemi utilizzando una rete pubblica come Internet.

Il sistema supporta due tipi di VPN:

  1. roadwarrior: collegamento di un terminale remoto alla rete interna
  2. net2net o tunnel: collegamento di due reti remote

OpenVPN

OpenVPN consente di creare facilmente collegamenti VPN, porta con sé numerosi vantaggi tra cui:

  • Disponibilità di client per vari sistemi operativi: Windows, Linux, Apple, Android, iOS
  • Attraversamento NAT multipli, ovvero non è necessario un IP statico dedicato al firewall
  • Elevata robustezza
  • Semplicità di configurazione

Roadwarrior

Il server OpenVPN in modalità roadwarrior consente il collegamento di client multipli.

I metodi di autenticazione supportati sono:

  • utente di sistema e password
  • certificato
  • utente di sistema, password e certificato

Il server può operare in due modalità: routed o bridged. Si consiglia di scegliere la modalità bridged solo se il tunnel deve trasportare traffico non-IP.

Per consentire ad un client di stabilire una VPN:

  1. Creare un nuovo account: è consigliato creare un account VPN dedicato che utilizzi un certificato. In questo modo non è necessario creare un utente di sistema per garantire l’accesso VPN.

    È invece obbligatorio scegliere un account di sistema se si desidera utilizzare l’autenticazione basata su nome utente e password.

  2. Scaricare il file che contiene la configurazione e i certificati.

  3. Importare il file all’interno del client ed avviare la VPN.

Tunnel (net2net)

Il collegamento OpenVPN net2net prevede che uno dei server coinvolti venga eletto come master, mentre tutti gli altri sono considerati slave (client).

I passi da eseguire sul server master sono:

  • Abilitare il server roadwarrior
  • Creare un account solo VPN per ciascun slave che dovrà collegarsi
  • Durante la creazione dell’account ricordarsi di specificare la rete remota configurata dietro allo slave

I passi da eseguire sullo slave sono:

  • Creare un client dalla pagina Client specificando i dati di collegamento al server master
  • Copiare e incollare il contenuto dei certificati scaricati dalla pagina di configurazione del master

IPsec

Il protocollo IPsec (IP Security) viene di norma utilizzato per realizzare dei tunnel con dispositivi di altri produttori

Roadwarrior (L2TP)

L2TP è considerato il sostituto di PPTP ormai ritenuto insicuro. Molti dispositivi includono il supporto nativo per questo protocollo ma non tutte le implementazioni sono compatibili fra loro.

I metodi di autenticazione supportati sono:

  • utente di sistema, password e certificato
  • chiave condivisa segreta (PSK)

Per consentire ad un client di stabilire una VPN:

  1. Configurare il server come PDC (Primary Domain Controller) dalla pagina Rete Windows.
  2. Creare un nuovo account di sistema.
  3. Scaricare il file che contiene i certificati.
  4. Importare i certificati del client e della CA (Certification Authority) all’interno del client.
  5. Procedere alla configurazione con i dati di collegamento al server ed avviare la VPN.

Nota

Si consiglia di utilizzare L2TP se e solo se sul dispositivo da collegare non è possibile installare il client OpenVPN.

Tunnel (net2net)

IPsec è estremamente affidabile e compatibile con molti dispositivi. Infatti, è una scelta ovvia quando è necessario creare collegamenti net2net tra firewall di diversi produttori.

A differenza della configurazione OpenVPN, in un tunnel IPsec, i firewall sono considerati nodi pari livello.

Se si sta creando un tunnel tra due NethServer, dati A e B i firewall:

  1. Configurare il server A e specificare l’indirizzo remoto e la LAN del server B. Se il campo Remote IP è valorizzato con % any, il server rimane in attesa della connessione dell’altro endpoint.
  2. Configurare il secondo firewall B replicando la configurazione da A all’interno della sezione remota. Il valore speciale %any è consentito in un solo lato!

Se un endpoint è dietro un NAT, i valori per Local identifier e Remote identifier devono essere impostati con nomi univoci personalizzati preceduti da @. I nomi comuni sono le posizioni geografiche dei server, ad esempio il nome di stato o città.