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).
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.
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.
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.
Ciao p@olo scusa il disturbo vorrei kiedereti un'info sulla mai rete... io uso ipcop con zerina(openvpn) e tutto funziona da dio infatti io da lavoro mi collego a casa senza problemi... mi assegna l'indirizzo ip e tutto funzia... solo che se mi collego da un'altro portatile mi assegna sempre lo stesso indirizzo... come faccio ad assegnare indirizzi diversi ai portatili che si vogliono connettere? è un limite di zerina?
GRazie mille
La configurazione è questa :
Lato Server :
#OpenVPN Server conf
daemon openvpnserver
writepid /var/run/openvpn.pid
#DAN prepare ZERINA for listening on blue and orange
;local 192.168.1.254
dev tun
tun-mtu 1400
proto udp
port 1194
tls-server
ca /var/ipcop/ovpn/ca/cacert.pem
cert /var/ipcop/ovpn/certs/servercert.pem
key /var/ipcop/ovpn/certs/serverkey.pem
dh /var/ipcop/ovpn/ca/dh1024.pem
server 192.168.3.0 255.255.255.0
push "route 192.168.2.0 255.255.255.0 192.168.3.1 "
status-version 1
status /var/log/ovpnserver.log 30
cipher BF-CBC
max-clients 100
tls-verify /var/ipcop/ovpn/verify
crl-verify /var/ipcop/ovpn/crls/cacrl.pem
user nobody
group nobody
persist-key
persist-tun
verb 3
Lato Client :
#OpenVPN Server conf
tls-client
client
dev tun
proto udp
tun-mtu 1400
remote 151.47.36.85 1194
pkcs12 ServerCasa.p12
cipher BF-CBC
verb 3
ns-cert-type server
La GUI di Zerina è un po' limitata in effetti soprattutto se devi effettuare configurazioni particolari.
Prova ad inserire la seguente riga nella configurazione del server:
ifconfig-pool 192.168.xx.100 192.168.xx.120
- dove xx è la tua subnet mentre 100-120 è un pool di indirizzi IP assegnabili.
- riavvia il servizio per attivare le modifiche.
Ricorda che se effettui delle modifiche tramite GUI, il file viene sovrascritto.
p@olo
GRazie mille provo e poi ti faccio sapere 🙂
Ciao ho provato ad inserire la riga ma il servizio dipo aver messo la riga sul file server.conf non parte.... quindi ho rimesso tutto a posto come prima....
mah mistero della fede 🙂
Problema Risolto... praticamente devo creare un certificato per ogni macchina che si connette al server VPN in tal modo ad ogni macchina viene così assegnato un ip diverso ad ognuno in base al certificato che ha sul client...!!!
Ciao e Grazie
Si, chiaramente ogni client deve avere il suo certificato... questo è un po' il concetto di base per il corretto funzionamento di Zerina ed in generale delle VPN.
Per motivi ovvi di sicurezza ogni client deve avere associato un certificato che, nel caso venga compromesso, può essere annullato (quindi impedendo la connessione) senza bloccare gli altri clients configurati.
Buone connessioni allora!
Grazie mille 🙂 sono un po imbranato ma alla fine ci sono arrivato pure io 🙂 meglio tardi che mai 🙂
Ciauz
Solo un ultima cosa..... se volessi scaricarmi dei file da internet direttamente da linea di comando... ho visto che ipcop nn ha di default nè yum nè apt-get... pero sicuramente quando fa gli aggiornamenti interni al Sistema operativo lui usera di certo qualcheprogramma per scaricare da internet... per caso sai cosa usa?
Usa il comando "wget" dalla riga di comando, ti permette di scaricare files utilizzando HTTP, HTTPS e FTP.
Esempio:
wget http://www.domain.com/download/file.exe
Spero ti sia utile.
Ah ok provo e grazie mille
ciao
io ho una rete con un fw ipcop conficurato con zerina...
ora.... io sono veramente alle prime armi, dovrei riuscire a mettere in piedi una VPN tra un client e la sede ma non va, riesco a collegarmi solo alla schermata di ipcop
come posso fare?
grazie
Hai aperto su IPCop la porta UDP 1194 come accesso esterno?
OpenVPN (Zerina) utilizza questa porta per il suo corretto funzionamento.
Da IPCop procedi così:
- Firewall -> External Access
- Add a new rule:
Source IP "ALL"
Destination IP "Default IP"
Destination Port "1194"
Questo permette a Zerina di collegarsi alla rete di destinazione.
grazie!
no..non l'avevo fatto
però non va lo stesso.
domanda...nella schermata di OpenVPN vedo che il servizio è avviato ma dove dice "Client status and control" come stato indica CHIUSO
è perchè non ci sono connessioni VPN attive o perchè mi manca ancora qualcosa?
..come non detto, era un problema di aggiornamento..e di fretta (mia)
a questo punto riesco a connettermi, utilizzo OpenVPN GUI x Win, che mi assegna un indirizzo IP di una classe del tipo 10.74.93.0, come faccio per raggiungere le risorse condivise sulla LAN che sono sulla classe IP 192.168.0.0 ?
grazie e buona giornata!!
Ciao Paolo, grazie per i tuoi preziosi suggerimenti. Mi trovo nella situazione di Albusa poco sopra: "domanda…nella schermata di OpenVPN vedo che il servizio è avviato ma dove dice “Client status and control” come stato indica CHIUSO" --- in effetti però sono collegato, la vpn è attiva e dal client remoto (posto comunque dietro ad un ipcop) riesco ad entrare nella lan di destinazione protetta a sua volta da un altro ipcop sul quale è installato, appunto openvpn zerina. In quest'ultimo ipcop mi viene detto nella sezione Client status, in corrispondenza del certificato che uso, che è CHIUSO... cosa vuol dire? Secondo punto: dopo qualche minuto di inattività il collegamento si chiude e si ripristina da solo: si può allungare questo periodo? Grazie mille. Michele