27/11/2014
enit

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 – Client

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.

firma

About Paolo Valsecchi

Sistemista Informatico | Mi occupo principalmente dell’implementazione e della gestione di servizi informatici basati su piattaforma virtuale VMware vSphere con sistemi Microsoft Windows/Active Directory e Linux (Red Hat, CentOS). VCP5-DCV, PernixPro.

16 commenti

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

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

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

  4. Pierluigi Ferro

    GRazie mille provo e poi ti faccio sapere :-)

  5. 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 :-)

  6. Pierluigi Ferro

    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

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

  8. Grazie mille :-) sono un po imbranato ma alla fine ci sono arrivato pure io :-) meglio tardi che mai :-)

    Ciauz

  9. 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?

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

  11. Ah ok provo e grazie mille

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

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

  14. 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?

  15. ..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!!

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