Openvpn: differenze tra le versioni

m
nessun oggetto della modifica
mNessun oggetto della modifica
Riga 60: Riga 60:
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=
=Collegamento=
=Collegamento=
==Configurazione shared-keys==
==Configurazione shared-keys==
Riga 120: Riga 119:
  </pre>
  </pre>
In questo modo disporremo rapidamente di un canale cifrato relativamente sicuro, per lo scambio di dati privati.
In questo modo disporremo rapidamente di un canale cifrato relativamente sicuro, per lo scambio di dati privati.
==Configurazione SSL/TLS==
===Openvpn & Openssl===
Adesso, avvalendoci di SSL/TLS, configureremo un CA (''Certificate Authority'') che servira' 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>
apt-get install openssl
</pre>
===Configurazione CA===
Il CA risiedera' sul server, ma distinguiamo le entita' in questo modo:
CA Server Client0 Client1...<br>
Occupiamoci del CA; facciamogli generare una sua chiave (''.key''), un suo certificato (''.csr'') e facciamogli firmare il suo certificato (''.crt''). Dunque, sempre sul server, torniamo in /etc/openvpn (''la chiave precedentemente usata, zmo.key, non serve piu' '').
<pre>
# openssl genrsa -out ca.key
Generating RSA private key, 512 bit long modulus
...++++++++++++
........++++++++++++
e is 65537 (0x10001)
# openssl req -new -key ca.key -out ca.csr
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:
</pre>
...questa sezione compilatela a discrezione vostra.
<pre>
# openssl x509 -req -in ca.csr -signkey ca.key out ca.crt
Signature ok
subject=/C=AU/ST=Some-State/O=Internet Widgits Pty Ltd
Getting Private key
</pre>
Ricapitolando dovremmo aver creato '''ca.crt  ca.csr''' e '''ca.key'''.
Bene, siamo sempre sul server. Per fare ordine, creiamo una dir e riponiamoci i file del CA creati:
<pre>
# mkdir CA && mv ca* CA
</pre>
===TLS-Server & TLS-Client===
Occupiamoci ora di server e client, la loro configurazione e' quasi uguale:
Sul server:
<pre>
# openssl genrsa -out server.key
# openssl req -new -key ca.key -out server.csr
</pre>
Facciamo firmare al CA il certificato del server:
<pre>
# openssl x509 -req -in server.csr -CA CA/ca.crt -CAkey CA/ca.key -CAcreateserial -out server.crt
</pre>
Sul server creiamo anche il Diffie-Hellman:
<pre>
# openssl dhparam -out dh.pem 1024
</pre>
{{Box|Nota|L'input format di default adottato da dhparam e' PEM. Per usare DER usare il flag inform. Per una ulteriore consultazione del flag dhparam, fare riferimento a questa pagina: [http://www.mkssoftware.com/docs/man1/openssl_dhparam.1.asp openssl dhparam]
}}
Sui client:
<pre>
# openssl genrsa -out client.key
# openssl req -new -key ca.key -out client.csr
</pre>
Spediamo il certificato al CA (''che risiede sul server''), facciamocelo firmare e rispedire in /etc/openvpn (''stessa procedura del server per la firma'').
'''Server.conf''',br>
Compilare cosi' il file per il server:
<pre>
dev tap
ifconfig 10.0.0.1 255.255.255.0
tls-server
dh dh.pem
ca CA/ca.crt
cert server.crt
key server.key
lport 5000
verb 4
</pre>
'''Client.conf'''<br>
Compilare cosi' il file per il client:
<pre>
remote www.hostremoto.net (che ovviamente corrispondera' al server)
dev tap
ifconfig 10.0.0.2 255.255.255.0
tls-client
ca ca.crt
cert client.crt
key client.key
rport 5000
verb 4
</pre>
Una volta compilati i file, lanciamo openvpn su entrambe le macchine come precedentemente:
<pre>
openvpn config xxxx.conf
</pre>


=Demonizzare Openvpn=
=Demonizzare Openvpn=
128

contributi