Creazione di una rete vpn con openvpn

Che cosè una vpn?

“Una Virtual Private Network o VPN è una rete privata instaurata tra soggetti che utilizzano un sistema di trasmissione pubblico e condiviso come per esempio Internet. Lo scopo delle reti VPN è di dare alle aziende le stesse possibilità delle linee private in affitto ad un costo inferiore sfruttando le reti condivise pubbliche (wikipedia)”.

Le reti vpn sono un ottimo strumento per connettere reti lan tramite internet in maniera totalmente sicura ed economica inoltre sono estramementi semplici da realizzare, gli scenari che offre una vpn sono molteplici, eccone alcuni:

  • Collegare reti lan distanti tra loro
  • Connettere un client mobile alla rete aziendale o casalinga
  • Creare una lan virtuale con gli amici tramite internet per giocare con l’xbox 360 scavalcando il servizio xbox-live

Il software che ho utilizzeremo oggi è OpenVPN basato sulla condivisione di una chiave segreta (crittografia) fra le postazioni della VPN. La crittografia (simmetrica) verrà realizzata con l’algoritmo blowfish.Per quanto riguarda l’installazione,la parte server e client mi sono basato su sistemi linux (in particolare sulla distro di Ubuntu ma anche su distro derivanti da Red Hat).

Premessa

La prima cosa da fare è verificare in /dev la presenza della directory net contenente il device virtuale tun. Se tutto ciò non ci fosse, crearlo con:

mkdir /dev/net && mknod /dev/net/tun c 10 200

caricare il modulo e far sì che al boot venga caricato:

modprobe tun

echo “tun” >> /etc/modules

Infine abilitare il forwarding:

echo 1 > /proc/sys/net/ipv4/ip_forward

Installazione

Installiamo openvpn a seconda della distro.Un consiglio particolare è quello di installare openvpn dai sorgenti che sono reperibili sul sito http://www.openvpn.net/, dove vengono messi a disposizione anche pacchetti RPM.

Dopo aver compilato i sorgenti e quindi installato il software, dobbiamo creare prima di tutto la chiave privata per l’inizializzazione del tunnel.

openvpn –genkey –secret static.key

Creare una PKI

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.Installiamo openssl:

apt-get install openssl

Openvpn dispone di vari script pronti all’uso che facilitano il compito.Per prima cosa,cercare la directory easy-rsa/2.0 e copiatela in /etc/openvpn

cp /usr/share/doc/openvpn/examples/easy-rsa/2.0/   /etc/openvpn/easy-rsa/2.0

andate nella directory 2.0

cd /etc/openvpn/easy-rsa/2.0

Aprite il file vars e assegnate i vostri valori alle seguenti variabili.Non lasciate righe vuote e usate NA nel caso non vogliate assegnare un valore:

export KEY_SIZE=2048

export KEY_COUNTRY=IT

export KEY_PROVINCE=RM

export KEY_CITY=Roma

export KEY_ORG=Ufficio

export KEY_MAIL=test@test.it

Eseguite ora questi comandi esattamente come mostrato e seguite i loro prompt.Dopo il primo punto in . ./vars c’è uno spazio.

. ./vars

./clean-all

./build-ca

Quando ci verrà chiesto un Common Name,usate qualcosa di descrittivo,come vpn-ca.Eseguite quindi questo comando per creare il certificato per il server,usando come nome quello del vostro server.

./build-key-server pippo

Usate il nome del server completo di dominio,come pippo.pluto.it, per il Common Name.Rispontete yes a “Sign the certificate? [y/n]” e  a “1 out of 1 certificate requests certified,commit? [y/n]”.

Ora create le chiavi Uniche per tutti i clienti.Questo esempio genera una coppia di chiavi senza password per la macchina topolino.

./build-key topolino

Se volete proteggere con una password la chiave del client usate

./build-key-pass topolino

La password verrà chiesta all’apertura di ogni nuova connessione.Usate il nome del host come Common Name.Ora generate i parametri crittografati Diffie-Hellman:

./build-dh

Nella directory delle vostre chiavi dovreste a questo punto avere i seguenti file:

01.pem

02.pem

ca.cert

ca.key

dh2048.pem

index.txt

index.txt.attr

index.txt.attr.old

index.txt.old

serial

serial.old

topolino.crt

topolino.csr

topolino.key

static.key

pippo.crt

pippo.csr

pippo.key

Per evitare inutili confusioni,usate una directory differente,magari su una macchina separata,per creare le chiavi.Create una nuova directory per le chiavi e spostateci le nuove chiavi e i nuovi certificati del server.Questi comandi vanno tutti eseguite da /etc/openvpn/easy-rsa/2.0:

mkdir -m 0700 /etc/openvpn/keys

cp ca.crt ../../keys

mv dh2048.pem static.key pippo.crt pippo.key ../../keys

topolino.crt,topolino.key e copie di static.key e di ca.crt vanno spostate nell’appropriata directory su topolino.Dovete creare una coppia di chiavi per ciascun client che deve accedere alla VPN.

Configurazione OpenVPN

Una volta creata la chiave segreta e i certificati dobbiamo creare il file di configurazione per il server (/etc/openvpn/server.conf).

dev tap

tls-auth /etc/openvpn/keys/static.key

ping 10
verb 3
mute 10
tls-server
comp-lzo

#Certificati digitali
#Certificate Authority o root  certificate
ca /etc/openvpn/keys/ca.crt
#Certificato server
cert /etc/openvpn/keys/pippo.crt
#Chiave server
key /etc/openvpn/keys/pippo.key
#Diffie hellman parameters
dh /etc/openvpn/keys/dh2048.pem

ifconfig 10.0.1.1 255.255.255.252
proto tcp-server
lport 443
log         /var/log/openvpn.log

La configurazione del gateway VPN (client) è identica a quella vista precedentemente. Ovviamente dobbiamo copiare la chiave segreta e i certificati e posizionarli nella directory /etc/openvpn/keys/ e creare il file di configurazione (/etc/openvpn/server.conf), che deve essere di questo tipo:

remote pippo.pluto.it
rport 443
proto tcp-client
dev tap
tls-client
ping 10
verb 3
comp-lzo
mute 10

key “/etc/openvpn/certificati/topolino.key”
ca “/etc/openvpn/certificati/ca.crt”
cert “/etc/openvpn/certificati/topolino.crt”

ifconfig 10.0.1.2 255.255.255.252

log  /var/log/openvpn.log

Una volta compilati i file, lanciamo openvpn su entrambe le macchine.

/etc/init.d/openvpn start

Infine controllate nel file log di openvpn eventuali errori.Se tutto andrà nel verso giusto dalla vostra macchina client (10.0.1.2 sull’interfaccia tap0)  pingherete la macchina server (10.0.1.1)

Conclusione

Questa è solo una configurazione personalizzata di openvpn,naturalmente potete ampliare o semplificare tale configurazione.Ho tralasciato un pò la parte networking sulla configurazione dell’interfacce ma da come si vede sono abbastanza semplici da “fare”.Grazie a questa vpn,attraverso il protocollo tcp sulla porta 443,non saremmo “spiati” e/o potremmo “sorpassare” eventuali firewall in una rete aziendale e raggiungere tranquillamente casa nostra.

Configurazione Java su Fedora

Se volete installare java senza l’ausilio di repository e/o perchè volete che il vostro sistema utilizzi una particolare versione del suddetto linguaggio,fate in questo modo:

Install Java:

1. Download the Linux 32b Java RPM from Sun
2. chmod a+x jre-<ver>-linux-i586-rpm.bin
3. ./jre-<ver>-linux-i586-rpm.bin
4. Step through the Java install
5. cd /etc/alternatives
6. ln -sf /usr/java/jre<ver>/bin/java java

Hope that helps for your Second problem
‘GC Warning: Out of Memory! Returning NIL!’
! Sorry it gave you trouble.

Creare pacchetti rpm di bacula per Centos 5 e Red Hat 5

Prima di tutto togliere le precedenti vesioni di qt:

yum remove qt qt-devel qt4 qt4-devel

Impostare i repository yum per usare ATrpms e EPEL. http://wiki.centos.org/AdditionalResources/Repositories

yum install qt44 qt44-devel --enablerepo=atrpms-testing
yum install qwt qwt-devel --enablerepo=epel

Scarica il bacula-3.0.xx.src.rpm da SourceForge e installarlo in questo modo:

rpm -i bacula-3.0.x-x.src.rpm

 

Montare un nuovo Hard Disk su xbox

La prima cosa essenziale per smontare la propria xbox(modificata) è procurarsi dei cacciavi Torx e naturalmente un Hard Disk IDE (PATA);successivamente la sostituzione fisica dell’HDD è una cosa semplicissima:

1)Procuratevi e masterizzate la ISO di EvutionX (io ho utilizzato nero 8 avendo l’opzione  per masterizzare le iso per l’xbox),

2)Se volete fare un backup della console inserite il DVD,configurate la sua interfaccia di rete e entrate mediante un collegamento FTP dal vostro PC, trasportando sul PC TUTTI i files contenuti in C: , ed eventualmente i salvataggi, che corrispondono alle cartelle E:TDATA e E:UDATA.

3)Spegnete e Smontate la console e rimuovete l’HDD originale dopo aver scollegato alimentazione e cavo flat, impostate il jumper del vostro HDD nuovo su CS (cable select) , inseritelo nell’alloggiamento e ripristinate i connettori della corrente ed il cavo flat.

4)Inserite il DVD e preparate l’HDD a seconda delle dimensioni dello stesso attraverso l’apposito menu’.Appariranno varie opzioni per creare le partizioni in modo automatico, manuale o formattere le singole partizioni una ad una. Noi scegliamo crea le partizioni automatico tutto cio verrà  effettuato automaticamente., successivamente installate Evolutionx.L’operazione durera’ pochi secondi.

5)Lockate l’HDD mediante l’apposito menu LOCK HDD qualora intendiate utilizzare l’xbox anche in modalita’ chip-disattivato, per fruire ad esempio del servizio Live.Qualora non eseguiate questa operazione, verra’ visualizzato il classico errore 5.

1 28 29 30