Openvpn: differenze tra le versioni

nessun oggetto della modifica
Nessun oggetto della modifica
Riga 27: Riga 27:
Affidarsi a aziende poco serie, o peggio truffatori, in questo caso potrebbe infatti risultare peggio che non usare proprio alcuna VPN.
Affidarsi a aziende poco serie, o peggio truffatori, in questo caso potrebbe infatti risultare peggio che non usare proprio alcuna VPN.


== Prima di cominciare ==
== Creare una propria VPN ==
 
=== Prima di cominciare ===
La prima cosa da fare è verificare in <code>/dev</code> la presenza della directory <code>'''net'''</code> contenente il device virtuale <code>'''tun'''</code>. Se tutto ciò non ci fosse, crearlo con:
La prima cosa da fare è verificare in <code>/dev</code> la presenza della directory <code>'''net'''</code> contenente il device virtuale <code>'''tun'''</code>. Se tutto ciò non ci fosse, crearlo con:
<pre>
<pre>
Riga 45: Riga 47:
</pre>
</pre>


===Openvpn & Iptables===
=== Openvpn e Iptables ===
Diamo le opportune regole al firewall:
Diamo le opportune regole al firewall:
<pre>
<pre>
Riga 53: Riga 55:
</pre>
</pre>


== Generazione delle chiavi ==
=== Generazione delle chiavi ===
Se non l'abbiamo già fatto:
Se non l'abbiamo già fatto:
<pre>
<pre>
Riga 68: Riga 70:
Utilizzando queste chiavi su tutti gli host (''crittografia simmetrica'') otteniamo una  notevole cifratura del nostro canale in maniera davvero rapida.
Utilizzando queste chiavi su tutti gli host (''crittografia simmetrica'') otteniamo una  notevole cifratura del nostro canale in maniera davvero rapida.


== Collegamento ==
==== Configurazione chiavi condivise ====
=== Configurazione shared-keys ===
Spostiamoci sul server e creiamo in <code>/etc/openvpn</code> il file <code>server.conf</code> editandolo così:
Spostiamoci sul server e creiamo in <code>/etc/openvpn</code> il file <code>server.conf</code> editandolo così:
<pre>
<pre>
Riga 89: Riga 90:
remote www.hostremoto.net (che ovviamente corrisponderà al server)
remote www.hostremoto.net (che ovviamente corrisponderà al server)
dev tap  
dev tap  
rport 5000
rport 5000shared-keys
ifconfig 10.0.0.2 255.255.255.0
ifconfig 10.0.0.2 255.255.255.0
secret /etc/openvpn/zmo.key
secret /etc/openvpn/zmo.key
Riga 129: Riga 130:


=== Configurazione SSL/TLS ===
=== Configurazione SSL/TLS ===
==== Openvpn & Openssl ====
==== Openvpn e Openssl ====
Adesso, avvalendoci di SSL/TLS, configureremo un CA (''Certificate Authority'') che servirà a firmare i certificati degli host e a rendere disponibile il proprio; creeremo le rispettive chiavi (''una anche per il CA stesso'') facendo in modo che ognuno detenga una chiave e un certificato firmato. Infine, per lo scambio sicuro di tali dati, creeremo un Diffie-Hellman.
Adesso, avvalendoci di SSL/TLS, configureremo un CA (''Certificate Authority'') che servirà a firmare i certificati degli host e a rendere disponibile il proprio; creeremo le rispettive chiavi (''una anche per il CA stesso'') facendo in modo che ognuno detenga una chiave e un certificato firmato. Infine, per lo scambio sicuro di tali dati, creeremo un Diffie-Hellman.
<pre>
<pre>
Riga 225: Riga 226:
</pre>
</pre>


== Demonizzare Openvpn ==
=== Avviare Openvpn come servizio ===
=== Lo script <code>/etc/init.d/openvpn</code> ===
==== Lo script <code>/etc/init.d/openvpn</code> ====
Questo script, che demonizza <code>openvpn</code>, una volta lanciato va a cercare nella dir <code>/etc/openvpn</code> il file con estensione <code>'''.conf'''</code> che dovrà corrispondere al file di configurazione. Dico questo poiché in varie documentazioni lo troverete con estensioni diverse (''es: .ovpn etc..'') che lo script non riconoscerebbe come valido.  
Questo script, che demonizza <code>openvpn</code>, una volta lanciato va a cercare nella dir <code>/etc/openvpn</code> il file con estensione <code>'''.conf'''</code> che dovrà corrispondere al file di configurazione. Dico questo poiché in varie documentazioni lo troverete con estensioni diverse (''es: .ovpn etc..'') che lo script non riconoscerebbe come valido.  
<pre>
<pre>
Riga 240: Riga 241:
</pre>
</pre>


=== Openvpn & log ===
==== Openvpn & log ====
Per loggare l'output in un file qualunque (''anche se non esiste verrà creato'') aggiungere la riga al file <code>.conf</code>:
Per loggare l'output in un file qualunque (''anche se non esiste verrà creato'') aggiungere la riga al file <code>.conf</code>:
<pre>
<pre>
Riga 247: Riga 248:
Il file di log sarà più o meno forbito in base al valore che avremo dato al parametro <code>'''verb'''</code>.
Il file di log sarà più o meno forbito in base al valore che avremo dato al parametro <code>'''verb'''</code>.


== Conclusioni ==
=== Conclusioni ===
Openvpn<sup>[[#Riferimenti|[2]]]</sup> permette la creazione di VPN da applicativo ad applicativo, non necessitando quindi di modifiche nel [[kernel]] come nel caso di VPN che implementino IPSEC. Gira sulle principali piattaforme allacciando quindi OS diversi. Anche se lo standard IPSEC è una realtà nei dispositivi di rete hardware, il livello di sicurezza che <code>openvpn</code> può raggiungere è indiscutibile.
Openvpn<sup>[[#Riferimenti|[2]]]</sup> permette la creazione di VPN da applicativo ad applicativo, non necessitando quindi di modifiche nel [[kernel]] come nel caso di VPN che implementino IPSEC. Gira sulle principali piattaforme allacciando quindi OS diversi. Anche se lo standard IPSEC è una realtà nei dispositivi di rete hardware, il livello di sicurezza che <code>openvpn</code> può raggiungere è indiscutibile.


2 853

contributi