Crea sito

openvpn installazione e configurazione

vpn1

Una VPN o Virtual Private Network è una rete di telecomunicazioni privata, instaurata tra soggetti che utilizzano un sistema di trasmissione pubblico e condiviso, come per esempio Internet. OpenVPN è un programma VPN che permette agli host di comunicare tra loro tramite un tunnel crittografato punto-punto. L'autenticazione può avvenire tramite chiavi private condivise, certificati digitali o credenziali utente/password. Tra i diversi tipi di VPN esistenti, OpenVPN risulta tra i più utilizzati grado di sicurezza che offre, utilizzando le libreria di cifratura OpenSSL e il protocollo SSLv3/TLSv1.

In giro per internet esistono diverse guide su come configurare OpenVPN, molte delle quali, a mio avviso, complicano molto i passaggi necessari. Per questo motivo preparo questa guida, che evita, nella configurazione di OpenVPN l'utilizzo del bridging, inutile nella maggior parte dei casi.

La guida elenca le operazioni necessarie per Ubuntu/Debian. Per installare e configurare OpenVPN su altre versioni di Linux, effettuare le modifiche del caso. Per prima cosa va installato il software:

sudo apt-get install openvpn

Creare certificati per il server

Il secondo passo consiste nella creazione dei certificati di OpenVPN per il server. Incominciamo copiando la configurazione di esempio:
 

sudo mkdir /etc/openvpn/easy-rsa/
sudo cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0/* /etc/openvpn/easy-rsa/
sudo chown -R $USER /etc/openvpn/easy-rsa/

Modificare quindi il file /etc/openvpn/easy-rsa/vars sistemando quanto segue al proprio ambiente:

export KEY_COUNTRY="IT"
export KEY_PROVINCE="Roma"
export KEY_CITY="Roma"
export KEY_ORG="Societa di esempio"
export KEY_EMAIL="[email protected]"

Infine dare i seguenti comandi per creare i certificati del server:

cd /etc/openvpn/easy-rsa/
cp openssl-1.0.0.cnf openssl.cnf
source vars
./clean-all
./build-dh
./pkitool --initca
./pkitool --server server
cd keys
openvpn --genkey --secret ta.key
sudo cp server.crt server.key ca.crt dh1024.pem ta.key /etc/openvpn/

Creazione certificati per i client

Creato il certificato OpenVPN per il server, bisogna creare un certificato per ogni client. Dare quindi i seguenti comandi sostituendo "hostname" con il nome del client:

cd /etc/openvpn/easy-rsa/
source vars
./pkitool hostname

Sul proprio client andranno copiati i seguenti file:

  • /etc/openvpn/easy-rsa/keys/ca.crt
  • /etc/openvpn/easy-rsa/keys/hostname.crt
  • /etc/openvpn/easy-rsa/keys/hostname.key
  • /etc/openvpn/easy-rsa/keys/ta.key

Configurazione del server

L'ultimo passo da fare sul server per configurare OpenVPN è preparare il file di configurazione. Incominciamo copiando il file di esempio:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/server.conf.gz /etc/openvpn/
sudo gunzip /etc/openvpn/server.conf.gz

Modifichiamo il file di configurazione /etc/openvpn/server.conf secondo le nostre necessità:

port 1194
 
cipher AES-128-CBC
 
user nobody
group nogroup
 
verb 0

Configurazione del client

Terminiamo con la configurazione del client. Se decidiamo di utilizzare la linea di comando:

sudo cp /usr/share/doc/openvpn/examples/sample-config-files/client.conf /etc/openvpn

Editiamo il file /etc/openvpn/client.conf effettuando le seguenti modifiche:

remote mio-server 1194
 
cert hostname.crt
key hostname.key
 
cipher AES-128-CBC
 
verb 0

A questo punto abbiamo la nostra VPN configurata e funzionante. La presenza del file server.conf e dei certificati creati nella directory /etc/openvpn fa si che il server OpenVPN parta automaticamente all'avvio del sistema.

Nota. La presenza del file client.conf nella directory /etc/openvpn del client fa si che il tunnel OpenVPN si attivi all'avvio del sistema. Se non si desidera ciò, rimuovere tale file.

 

Filed Under: linuxubuntu

Tags:

About the Author: Marzio

RSSComments (1)

Lascia un commento | Trackback URL

  1. […] Nell'articolo precedente abbiamo visto come configurare OpenVPN per creare una VPN (Virtual Private Network). Questa volta vediamo come modificare alcuni parametri di OpenVPN per ottenere una sicurezza ancora maggiore (a livello paranoico) e come utilizzare il server con OpenVPN come gateway/router per l'accesso ad Internet. […]

Leave a Reply




If you want a picture to show with your comment, go get a Gravatar.