Configurare connessioni VPN con OpenVPN

openvpn1

La possibilità di connettersi ad una rete aziendale anche trovandosi al di fuori della sede è diventata una necessità quotidiana per lo svolgimento della propria attività lavorativa.

Tipici esempi dell'applicazione della tecnologia VPN possono essere le connessioni alla rete per recuperare o accedere ai dati, per eseguire dei lavori di manutenzioni in remoto o fornire il supporto per gli utenti.

Naturalmente l'accesso alla rete deve rispecchiare alcuni criteri di sicurezza per garantire l'integrità e la riservatezza dei dati durante la connessione.

La protezione della connessione tra un computer esterno alla rete e la rete stessa viene effettuata criptando la comunicazione tra client e server, quindi stabilendo una connessione definita VPN (virtual private network).

openvpn2

La tecnologia VPN sfrutta le normali connessioni Internet tramite le normali linee analogiche PSTN, ISDN (quelle di casa per intenderci), il cellulare (GSM, GPRS, UMTS) o le più veloci linee Internet xDSL.

openvpn3

Fra le varie tecnologie disponibili (IPsec, PPTP per citarne alcune), particolare attenzione deve essere fatta per OpenVPN , una soluzione VPN SSL open source che, oltre ad essere molto efficiente, offre una varietà di configurazioni come l'accesso remoto, connessioni site-to-site, sicurezza per le reti wireless applicabili sia per le PMI che le Enterprise.

 

Installazione

Per implementare un sistema OpenVPN, abbiamo bisogno di un computer che svolga la funzione di server per la gestione delle connessioni e della sicurezza. Il server è consigliato installarlo con un sistema operativo Linux (è più sicuro) e con il package OpenVPN (disponibile sia per Linux che per Windows) e configurarlo opportunamente a seconda della funzione operativa (road warriors o  site-to-site). Il server gestirà le connessioni effettuate dai clients verificandone l'autenticità dell'utente tramite la verifica delle chiavi e la black list.

Nei clients viene installato sempre lo stesso package utilizzato per il server ma con una configurazione dedicata (client) che permette di effetture il collegamento in modalità protetta e sicura (tunnel) al server garantendone la riservatezza dei dati.

Gli utilizzi tipici per connessioni VPN sono tipicamente:

  • road warriors
  • site-to-site

 

Road Warriors

Questa è la definizione che identifica la connessione fra un utente esterno alla rete e la rete stessa. Probabilmente per le PMI è la connessione maggiormente utilizzata durante il proprio business.

openvpn4

Questa tipologia di configurazione viene molto utilizzata per offrire l'assistenza remota tipicamente fornita dagli operatori IT o almeno dovrebbe essere così per garantire una certa sicurezza.

Una possibile configurazione da utilizzarsi allo scopo, può essere definita in questo modo:

 

Configurazione Road Warriors - Server

# ----------------------------------------------------------------
# Configurazione road warriors - SERVER
# OS: Linux
# ----------------------------------------------------------------

dev tun
proto udp
port 1194

ca ca.crt
cert nome.crt
key nome.key
dh dh2048.pem
float
mode server
tls-server

ifconfig 192.168.xx.1 192.168.xx.2
ifconfig-pool 192.168.xx.100 192.168. xx.150

route-up "route delete -net 192.168.xx.0/24"
route-up "route add -net 192.168.xx.0/24 tun0"
push "route 192.168.xx.0 255.255.255.0"
push "route 192.168.xx.1"
push "dhcp-option DNS 192.168.yy.1; 192.168.yy.2"
push "dhcp-option DOMAIN dominio"

user nobody
group nobody

client-to-client
max-clients 5
keepalive 10 120
persist-key
persist-tun
comp-lzo

auth RSA-MD5
cipher AES-256-CBC
tls-auth tls.key 0
crl-verify crl.pem
plugin /usr/lib/openvpn/plugin/lib/openvpn-auth-pam.so login

verb 3
mute 10
log-append packet.status
status vpn-status.log

 

Configurazione Road Warriors - Client

# ----------------------------------------------------------------
# Configurazione road warriors - CLIENT
# OS: Windows
# ----------------------------------------------------------------
dev tun
proto udp
port 1194
pkcs12 "C:\\Program Files\\OpenVPN\\config\\chiave.p12"

remote dns-name/IP-address

float
resolv-retry 86400
client
nobind

persist-key
persist-tun
comp-lzo

auth RSA-MD5
cipher AES-256-CBC
ns-cert-type server
tls-auth "C:\\Program Files\\OpenVPN\\config\\tls.key" 1
"/C=IT/ST=MI/O=PVnets/CN=server/emailAddress=email@domain.xxx"
auth-user-pass

verb 3

Per i dettagli dei vari comandi esiste una ricca documentazione, oltre al fattore esperienza, che permette di trovare la configurazione che più si adatta alle esigenze. OpenVPN è una soluzione robusta, semplice da utilizzare e permette di trasportare la configurazione sulle varie piattaforme disponibili Windows, Linux, MAC senza grosse modifiche.

 

Site-to-site

Questa è la definizione che identifica una connessione VPN fra una o più sedi. In pratica si sfrutta questa configurazione per collegare varie subnets per formare un'unica LAN rendendo disponibili i servizi di rete (servers, stampanti, web, applicazioni, etc.) agli utenti dell'azienda indipendentemente dalla loro locazione.

Le sedi possono essere collegate anche affidandosi a linee dedicate (frame relay, leased lines ad esempio) ma non è molto conveniente dal punto di vista economico e la gestione della configurazione ?
? nelle mani del provider. Avendo a disposizione un'adeguata connessione a Internet, tramite la tecnologia VPN è possibile ridurre significativamente i costi ed offrire un certo controllo sulla configurazione, sicurezza e prestazioni.

La configurazione site-to-site è simile a quella illustrata precedentemente ma data la particolarità dell'utilizzo, è soggetta alla tipologia e struttura della rete esistente.

OpenVPN è una valida alternativa ai protocolli VPN tipo IPsec, PPTP ed è una soluzione open source soggetta a licenza GPL, quindi non necessita di costi aggiuntivi per il suo utilizzo "standard".

Inoltre la gestione è più semplice rispetto ad altre soluzioni e le prestazioni sono molto efficienti con un fattore sicurezza molto alto ed affidabile.

Abbinare un firewall tipo IPCop, come illustrato in un precedente articolo, ed il modulo OpenVPN (Zerina) può essere una valida soluzione "all in one" per le PMI.

vpn openvpn 1

16 Comments

  1. Pierluigi 14/10/2008
  2. Pierluigi 14/10/2008
  3. Paolo 16/10/2008
  4. Pierluigi Ferro 17/10/2008
  5. Pierluigi 18/10/2008
  6. Pierluigi Ferro 20/10/2008
  7. Paolo 20/10/2008
  8. Pierluigi 20/10/2008
  9. Pierluigi 20/10/2008
  10. Paolo 21/10/2008
  11. Pierluigi 21/10/2008
  12. Albusa 10/11/2008
  13. Paolo 10/11/2008
  14. Albusa 12/11/2008
  15. Albusa 12/11/2008
  16. Michelecmv 04/11/2009