.: HosiriS :.

Informatica e non solo

Archive for the ‘VPN’ Category

Tips: OpenVPN in Debian Squeeze

Posted by hosiris su settembre 29, 2011

Dopo il passaggio a Debian ho riconfigurato tutti i servizi che col tempo avevo messo su, tra cui anche la mia VPN!
Purtroppo al tentativo della connessione mi sono trovato davanti a degli errori causati da un parametro mancante:
Leggi il seguito di questo post »

Posted in Sistemi, VPN | Leave a Comment »

Diamo un interfaccia alla nostra VPN

Posted by hosiris su novembre 4, 2010

Adeso che la VPN è configurata, ho pensato di crearmi una interfaccia per poterla gestire. Mi sono messo alla ricerca di informazioni riguardo la fattibilità, ed ecco che mi imbatto in qualcosa di pronto: openvpn-web-gui

L’installazione è molto semplice ed è spiegata al seguente link
Comunque sia… a me rimane la voglia di costruirmi un cruscotto per gestire tutti i servizi del mio server… vedremo.

Posted in Informatica, VPN | Leave a Comment »

Configurare DNS per risolvere i nomi della VPN

Posted by hosiris su ottobre 26, 2010

Adesso che ho configurato la VPN ho potuto ottimizzare un po’ di ambienti: backup, sviluppo, siti on line… niente di importante o serio… ma ordinato 😀
Ma ricordarmi gli ip che vengono assegnati da server VPN è un tantino poco efficacem soprattutto pensando a tutti gli alias usati per accedere ai siti di sviluppo. Allora perchè non configurare un bel DNS?
Cominciamo subito con l’installazione del server:

$ sudo apt-get install bind9

Ho configurato il mio DNS come server autoritario, atto quindi a risolvere i nomi che vengono impostati.
Modifichiamo il file /etc/bind/named.conf.options:

options {
  directory "/var/cache/bind";
  forward first;
  forwarders {
    ;your dns address
  };
  auth-nxdomain no; # conform to RFC1035
};

Modifichiamo il file /etc/resolv.conf modificando il valore di “nameserver” con l’indirizzo della macchina locale.
Adesso cominciamo a configurare le zone e gli alias:

; /etc/bind/named.conf.local
zone "lan" in {
type master;
file "/etc/bind/db.lan";
};


; /etc/bind/db.lan
$TTL 3h
@. IN SOA server.lan. root.lan. (
2005030801; Serial
3h; Refresh
1h; Retry
1w; Expire
1h) ;Negative cache
;dns server
IN NS server.lan.
;database risolutivo
server.lan. IN A 127.0.0.1
pc1.lan. IN A 192.168.1.1
;alias
alias.server.lan. IN CNAME server.lan.

Adesso dobbiamo modificare il server VPN per inviare le informazioni del DNS nella configurazione. Per questo aprite il vostro file di configurazione del server:

#/etc/openvpn/server.conf
push "dhcp-option DNS ipaddress"
push "dhcp-option DNS dnsips"

Inoltre bisogna instruire i client ad accettare le informazioni passate dal server. Questa operazione va fatta solo sui client linux perchè a causa dei permessi non viene modificato il file resolv.conf.
Installiamo:

$ sudo apt-get install resolvconf

Poi apriamo il file di configurazione del client e aggiungiamo le seguenti linee:

up /etc/openvpn/update-resolv-conf
down /etc/openvpn/update-resolv-conf

riavviate tutte le configurazioni e adesso potrete dimenticare l’uso dei file hosts.

Posted in Informatica, Linux, Sistemi, Ubuntu, VPN | Leave a Comment »

VPN con molti client

Posted by hosiris su ottobre 15, 2010

Dopo aver creato la mia prima VPN non mi sono accontentato del risultato, d’altronde è il voler superare i propri limiti che ci permette di crescere.
Il mio scopo è di riuscire a far comunicare tutti i miei PC e di migliorare la sicurezza dei protocolli.

Cominciamo il nostro percorso pensando alla sicurezza della connessione: dobbiamo generare certificati e chiavi che ci permettono di riconoscere i PC coinvolti nella comunicazione.
I tool necessari si trovano nella cartella:

/usr/share/doc/openvpn/example/easy-rsa/2.0/

Per evitare che ad ogni aggiornamento le nostra configurazioni vengano perse, copiamo questa cartella su un’altra destinazione:

$ sudo mkdir /etc/openvpn/easy-rsa
$ sudo cp /usr/share/doc/openvpn/example/easy-rsa/2.0/* /etc/openvpn/easy-rsa/

Spostiamoci nella cartella di openvpn e cambiamo utenza:

$ cd /etc/openvpn/easy-rsa
$ sudo su
# vi vars

in questo ultimo file andiamo a modificare la parte finale, inserendo le informazioni corrette.
Salviamo il file ed eseguiamo i seguenti passi:

# . ./vars
# ./clean-all
# ./build-ca

Adesso generiamo le chiavi e i certificati per il server ed i client:

# ./build-key-server server
# ./build-key client1
# ./build-key client2
# ./build-key client3

Infine generiamo i parametri Diffie-Hellman:

# ./build-dh

Al termine di tutto, nella certella di configurazione di openvpn del server saranno presenti i seguenti file:

  • server.key
  • server.crt
  • ca.crt
  • dh1024.pem

mentre sui client:

  • client{n}.key
  • client{n}.crt
  • ca.crt

A questo punto generiamo i file di configurazione sia sul server che sui client.


#Configurazione server (server.conf)
dev tun
port
proto udp
ca ca.crt
cert server.crt
key server.key
dh dh1024.pem
server 10.1.1.0 255.255.255.0
ifconfig-pool-persist ipp.txt
client-to-client
max-clients 10
keepalive 10 120
comp-lzo
persist-key
persist-tun
status status.log
verb 3


#Configurazione client (client.conf)
client
dev tun
ca ca.crt
cert client{n}.crt
key client{n}.key
#indirizzo IP srv
remote
resolv-retry infinite
nobind
persist-key
persist-tun
ping 15
verb 3
comp-lzo
# solo sul client per mappare le reti
route 10.0.0.0 255.255.255.0 10.1.1.1

Riavviate il servizio:

$ sudo /etc/init.d/openvpn restart

Qualora si presentino dei problemi il log si trova in /var/log/daemon.log.

Buon divertimento

Posted in Informatica, Sistemi, Ubuntu, VPN | Leave a Comment »

MySQL on VPN: sfruttiamo il tunneling

Posted by hosiris su ottobre 11, 2010

La versione pacchettizzata di MySQL Server 5 ha una caratteristica, non accetta connessioni sulla porta 3306 (la porta a cui risponde MySQL) se non da localhost, cioè sé stesso. Questo può essere un problema se vogliamo o dobbiamo tenere due macchine separate per un’applicazione ed il relativo database.
La soluzione al problema è molto semplice, si tratta di commentare la seguente voce

#/etc/mysql/my.cnf
bind-address = 127.0.0.1

Dopodiché, dobbiamo abilitare uno o più utenti per poter connettersi in remoto su un particolare database utilizzando l’istruzione SQL GRANT:

GRANT ALL privileges ON DB.* TO ‘USR’@’10.1.1.2’ IDENTIFIED BY ‘PWD’

così facendo, si abilita l’utente USR a connettersi al database DB dall’host 10.1.1.2. A questo punto, è sufficiente far ripartire il demone di MySQL per abilitare la modifica effettuata al file my.cnf:

$ sudo /etc/init.d/mysql restart

Posted in Informatica, Sistemi, Ubuntu, VPN | Leave a Comment »

La mia prima VPN

Posted by hosiris su ottobre 7, 2010

Dopo mesi e mesi… diciamo anni, ho finalmente trovato il tempo di realizzare una VPN.
Per chi non sapesse di cosa sto parlando la VPN o Virtual Private Network rappresenta una rete privata (come una LAN) ma che trasmette su rete pubblica come internet. I vantaggi si vedono soprattutto in termini di sicurezza, infatti in questo modo è possibile usare il canale instaurato per trasmettere tutti i protocolli senza dover aprire porte sul firewall o esporre la macchina su internet. Inoltre il canale di comunicazione è criptato evitando a terze persone di leggere i dati.

La configurazione è relativamente semplice, ed inizia con l’installazione del software sul server:

$ sudo apt-get install openvpn

Adesso configuriamo l’ip forwarding editando il file /etc/sysctl.conf togliendo il commento alla riga:

net.ipv4.forwarding = 1

Generariamo il file di chiave con il comando

$ openvpn --genkey --secret /path/to/secret/file

verificariamo con il comando ifconfig se è stata creata l’interfaccia virtuale tun o tap ed eventualmente creiamola con il comando

$ sudo openvpn --mktun --dev tun0

e verificariamo di nuovo che l’interfaccia per il tunneling sia stata creata.
Abilitariamo il masqurading dentro iptables

$ sudo iptables -t nat -I POSTROUTING -s 10.1.1.102 -d 192.168.0.0/24 -j MASQUERADE

per fare in modo che la modifica ad iptables sia definitiva aggiungiamo il comando da dare ad iptables nello script /etc/rc.local che viene eseguito alla fine di ogni runlevel.

Terminata la fase di configurazione passiamo ad inserire il file di configurazione in /etc/openvpn/:

#/etc/openvpn/vpn.conf
dev tun
port (porta)
ifconfig 10.1.1.1 10.1.1.2
secret /percorso/per/la/chiave
ping 15
ping-restart 45
comp-lzo
persist-key
persist-tun
verb 3

Riavviate il servizio:

$ sudo /etc/init.d/openvpn restart

ed il server è configurato.

Dopo aver installato openvpn anche sul client, inseriamo la configurazione seguente:

#/etc/openvpn/vpn.conf
dev tun
port (stessa porta del server)
secret (percorso relativo del file di chiave)
#indirizzo IP srv
remote (indirizzo ip a cui connettersi)
ifconfig 10.1.1.2 10.1.1.1
ping 15
verb 1
comp-lzo
# solo sul client per mappare le reti
route 10.0.0.0 255.255.255.0 10.1.1.1

Posted in Informatica, Sistemi, Ubuntu, VPN | Leave a Comment »