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.

1. 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

2. 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.

3. 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.

4. CONCLUSIONI
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.

firma

Hai già letto questi articoli?

About P@olo

Sistemista Informatico con diversi anni di esperienza in ambito aziendale, l'implementare "soluzioni IT che realmente soddisfano le esigenze" è la filosofia lavorativa adottata ed è la chiave della buona riuscita di un progetto. Rimani aggiornato sui prossimi articoli: iscriviti ai Feed RSS e alla Newsletter.