Questa guida è stata verificata solo con versioni obsolete di Ubuntu, potrebbe non essere più valida. Vuoi contribuire ad aggiornarla? Clicca qui!

Problemi in questa pagina? Segnalali in questa discussione

Introduzione

Una Virtual Private Network è una rete LAN virtuale over Internet, ovvero è un modo attraverso il quale dei pc connessi a Internet possono scambiare informazioni con una LAN remota preservando la sicurezza e la confidenzialità dei dati scambiati.

In una VPN è possibile implementare la crittografia a livello IP (livello 3 del modello ISO/OSI), pertanto i singoli pacchetti IP verranno crittografati.

L'implementazione di VPN in Linux è realizzata nel pacchetto FreeSWAN. Per assicurare la sicurezza delle comunicazioni viene utilizzata la crittografia.

Il pacchetto FreeSWAN (moduli del kernel IPSEC) supporta per la protezione delle sessioni IP sia la crittografia a chiave simmetrica che quella a chiave asimmetrica.

Nel primo caso (crittografia a chiave privata) ciascun endpoint nel processo di comunicazione ha una propria chiave che deve essere elencata in un comune file di configurazione condiviso fra tutti gli host che comunicano uno con l'altro.

Nel secondo caso ciascun host possiede sia una chiave privata che una pubblica.

La chiave privata è contenuta in un file, ipsec.secret, leggibile soltanto da root.

La chiave pubblica invece deve essere copiata nel file di configurazione comune a tutti gli host della rete, ipsec.conf, in modo che tutti possano effettuare i processi di cifratura/decifratura dei pacchetti IP.

Uno scenario di esempio :

Azienda1 in Europa : 
        LAN 172.16.1.0/16
        Gateway per Internet con IP pubblico 200.123.145.1 
Azienda2 in Asia : 
        LAN 172.16.77.0/16 
        Gateway per Internet con IP pubblico 151.56.34.98 

Possibile politica di protezione delle comunicazioni fra le reti:

Protezione del traffico fra Azienda1 e Azienda2

Questo vuol dire che tutto il traffico fra il Gateway di Azienda1 ed il Gateway di Azienda2 sarà crittografato, ma non lo sarà il traffico all'interno delle singole LAN nè fra ciascun host delle LAN ed il rispettivo Gateway.

In una VPN i Gateway generalmente agiscono come agenti di crittografia di tutto il traffico che passa per essi: tale modalità prende il nome di tunnel.

Gli host invece hanno bisogno di crittografare tutto il traffico ad essi indirizzato (o da essi proveniente) e tale modalità prende il nome di transport.

Qualora un Gateway debba critografare anche tutto il traffico ad esso indirizzato (o che genera) sarà necessario configurarlo anche per supportare la modalità transport.

Nell'esempio di cui sopra i 2 Gateway saranno impostati in modalità tunnel e pertanto sarà necessario avere un file di configurazione della VPN con 2 chiavi , una per il Gateway di Azienda1 e l'altro per il Gateway di Azienda2.

In una configurazione come quella dell'esempio sopra riportato è possibile configurare una VPN a 3 livelli di complessità :

  1. Protezione del solo traffico fra Azienda1 e Azienda2 :
    • i 2 Gateway hanno impostata la VPN in modalità tunnel e crittografano tutto il traffico proveniente dalle LAN retrostanti
    • numero delle chiavi da creare 2
  2. Protezione di tutto il traffico fra Azienda1 e Azienda2:
    • i 2 Gateway hanno impostata la VPN in modalità tunnel e crittografano tutto il traffico proveniente dalle LAN retrostanti
    • tutti gli hosts delle 2 LAN hanno una chiave eccetto i 2 Gateway (il traffico è protetto anche all'interno delle LAN)
    • numero delle chiavi da creare 2+65536*2
  3. Protezione totale :
    • i 2 Gateway hanno impostata la VPN in modalità tunnel e crittografano tutto il traffico proveniente dalle LAN retrostanti
    • tutti gli hosts delle 2 LAN hanno una chiave compresi i 2 Gateway (il traffico è protetto anche all'interno delle LAN)
    • numero delle chiavi da creare 2+65536*2+2

Come si vede il salto in termini di computazioni ed amministrazione della soluzione è fra il punto 1 ed il punto 2, in quanto fra il punto 2 ed il punto 3 quello che cambia è che viene crittografato anche il traffico indirizzato direttamente (o generato direttamente) dai 2 Gateways (che opereranno anche in modalità transport).

Pertanto ancora una volta è necessario ponderare accuratamente le politiche di protezione dei dati e considerare che l'aumento della sicurezza derivante dall'implementazione di una VPN su tutti gli hosts di una LAN è subordinato al throughput della rete e ne condiziona pesantemente le prestazioni.

Descrizione dell'architettura

Implementeremo qui uno schema simile a quello esposto nell'esempio sopra riportato, ovvero :

Azienda1 in Europa : 
        LAN 192.168.1.0/24
        Gateway (hostname debian1) per Internet con IP pubblico 200.123.145.1 
Azienda2 in Asia : 
        LAN 192.168.77.0/24 
        Gateway (hostname debian2) per Internet con IP pubblico 151.56.34.98 

Le politiche di protezione delle comunicazioni fra le reti sono:

Protezione del traffico fra Azienda1 e Azienda2

I 2 Gateway dovranno pertanto essere impostati in modalità tunnel e dovranno utilizzare una crittografia a chiave pubblica per la protezione delle sessioni IP.

Implementazione della soluzione

si dovrebbe vedere un output simile al seguente

IPSEC started....

Informazioni sul corretto avvio di IPSEC nella nostra configurazione sono presenti anche nei file

dmesg
daemon.log
messages

Inoltre si potrà sempre esaminare il file /var/log/auth.log che permetterà di tracciare l'uso di IPSEC in ogni pacchetto di rete.


CategoryDaRevisionare CategoryInternet

InternetRete/ConfigurazioneRete/Vpn (l'ultima modifica è del 01/01/2023 11.29.58, fatta da andreas-xavier)