2. Descrizione Delle Applicazioni Vpn
Total Page:16
File Type:pdf, Size:1020Kb
UNIVERSITÀ DEGLI STUDI DI PISA Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Tesi di Laurea Analisi sperimentale di soluzioni open-source per la realizzazione di VPN Relatori Candidato Prof. Stefano Giordano Dario Napolitano Prof. Michele Pagano Ing. Davide Adami 1 1. INTRODUZIONE ........................................................................ 5 1.1 ARCHITETTURA DI UNA VPN ........................................................ 9 1.1.1 Indirizzi privati............................................................... 12 1.2 ALGORITMI CRITTOGRAFICI......................................................... 14 1.2.1 3DES .............................................................................. 17 1.2.2 AES................................................................................. 20 1.2.3 Algoritmi hash................................................................ 22 1.2.4 RSA................................................................................. 22 1.2.5 Diffie-Hellman ............................................................... 25 1.3 PARAMETRI DI QUALITÀ .............................................................. 26 1.3.1 Throughput..................................................................... 27 1.3.2 Latenza........................................................................... 28 1.3.3 Packet Loss .................................................................... 29 1.3.4 Jitter ............................................................................... 30 2. DESCRIZIONE DELLE APPLICAZIONI VPN .................... 31 2.1 OPENS/WAN .............................................................................. 33 2.1.1 Funzionamento di OpenS/WAN...................................... 34 2.2 TINC ............................................................................................ 40 2.2.1 Funzionamento di Tinc................................................... 41 2.3 OPENVPN ................................................................................... 45 2.3.1 Funzionamento di OpenVPN.......................................... 46 3. PIATTAFORMA DI TEST ....................................................... 50 3.1 SISTEMA SPIRENT AX4000 ......................................................... 52 3.1.1 Configurazione di base .................................................. 54 3.2 DESCRIZIONE DEI TEST ................................................................ 58 2 3.2.1 Dimensione dei pacchetti ............................................... 60 3.2.2 Test 1: Throughput......................................................... 61 3.2.3 Test 2: Latenza............................................................... 62 3.2.4 Test 3: Packet Loss Rate ................................................ 64 3.2.5 Test 4: Back-To-Back Packets........................................ 65 3.2.6 Test 5: VoIP Quality ...................................................... 65 3.3 SETUP DELLE APPLICAZIONI ........................................................ 69 3.3.1 Setup di OpenS/WAN...................................................... 70 3.3.2 Configurazione di Tinc................................................... 75 3.3.3 Configurazione di OpenVPN.......................................... 79 4. RISULTATI SPERIMENTALI ................................................ 83 4.1 TEST 1: THROUGHPUT ................................................................. 83 4.1.1 Sistema senza VPN......................................................... 84 4.1.2 OpenS/WAN con 3DES .................................................. 86 4.1.3 OpenS/WAN con AES..................................................... 88 4.1.4 Tinc ................................................................................ 90 4.1.5 OpenVPN ....................................................................... 92 4.1.6 Grafici di riepilogo ........................................................ 94 4.2 TEST 2: LATENZA ........................................................................ 96 4.2.1 Sistema senza VPN......................................................... 96 4.2.2 OpenS/WAN con 3DES .................................................. 97 4.2.3 OpenS/WAN con AES..................................................... 98 4.2.4 Tinc ................................................................................ 99 4.2.5 OpenVPN ..................................................................... 100 4.2.6 Grafici di riepilogo ...................................................... 101 4.3 TEST 3: PACKET LOSS RATE...................................................... 103 3 4.3.1 Sistema senza VPN....................................................... 103 4.3.2 OpenS/WAN con 3DES ................................................ 104 4.3.3 OpenS/WAN con AES................................................... 106 4.3.4 Tinc .............................................................................. 107 4.3.5 OpenVPN ..................................................................... 109 4.4 TEST 4: BACK-TO-BACK PACKETS ............................................. 110 4.4.1 Sistema senza VPN....................................................... 111 4.4.2 OpenS/WAN con 3DES ................................................ 112 4.4.3 OpenS/WAN con AES................................................... 113 4.4.4 Tinc .............................................................................. 114 4.4.5 OpenVPN ..................................................................... 115 4.4.6 Grafici di riepilogo ...................................................... 116 4.5 TEST 5: VOIP QUALITY ............................................................. 117 4.6 OVERHEAD................................................................................ 122 4.7 ANALISI DEI DATI ...................................................................... 125 5. CONCLUSIONI ....................................................................... 136 6. RIFERIMENTI ........................................................................ 139 4 1. Introduzione Il grandissimo sviluppo che le tecnologie informatiche hanno riscontrato negli ultimi anni ha fatto sì che praticamente in ogni settore lavorativo, così come in moltissime situazioni domestiche o di svago, siano coinvolti computer o dispositivi in grado di comunicare mediante reti di vari tipi, dalla classica rete Ethernet su cavo ai vari tipi di reti wireless, quali 802.11 o anche le reti di telefonia cellulare. Di pari passo con tale diffusione sono state sviluppate innumerevoli applicazioni che sfruttano le possibilità offerte dalla crescente facilità di collegamento. Complice anche la presenza di una connessione ad Internet, spesso a larga banda, in moltissimi uffici e abitazioni, viene spontaneo pensare di estendere la propria rete aziendale o domestica in modo da collegare fra loro più sedi distanti, quali ad esempio filiali della propria azienda in città diverse, la propria abitazione con il luogo di lavoro o perfino il 5 proprio cellulare con delle apparecchiature domestiche per il controllo a distanza; il tutto sfruttando come rete di trasporto l'infrastruttura offerta dalla rete pubblica. Sede centrale Filiale A Rete di trasporto Filiale B Figura 1.1 Questo proponimento si scontra però con una serie di problematiche di vario tipo, inerenti al fatto di far transitare il proprio traffico telematico in una rete che fornisce una riservatezza quasi nulla per i dati trasmessi, poche garanzie sulle prestazioni ottenibili e la virtuale certezza che ogni macchina raggiungibile dall'esterno sarà soggetta a molteplici attacchi, da quelli volti a ostacolarne il funzionamento a quelli che mirano a prenderne il controllo per scopi illeciti. Non trascurabile è anche il fatto che dotare ogni macchina di un indirizzo IP pubblico può essere oneroso, dato che almeno fino 6 a quando il protocollo comunemente utilizzato sarà IPv4 gli indirizzi disponibili resteranno limitati e pertanto costosi. Per fare fronte ad alcuni di questi inconvenienti viene sempre più spesso adottato il sistema delle VPN (Virtual Private Networks - reti private virtuali), mediante le quali è possibile mettere in collegamento macchine o sottoreti diverse tramite una rete di trasporto pubblica, offrendo però allo stesso tempo ragionevoli garanzie di protezione dei propri dati, controllo dell'accesso alle proprie risorse e tutela da alcune tipologie di attacchi. La realizzazione di un'architettura di questo tipo, che però mantenga al tempo stesso delle prestazioni accettabili per le principali applicazioni, viene spesso effettuata con apparecchiature dedicate anche piuttosto costose, dotate di processori dedicati allo scopo. Dato il basso costo e le elevate prestazioni offerte dai processori odierni e, più in generale, dai comuni PC attualmente in commercio, può essere ragionevole pensare di realizzare una VPN mediante l'utilizzo di queste macchine, specialmente considerando l'esistenza di vari strumenti software espressamente dedicati a questo impiego, con in più il vantaggio di essere gratuiti e open-source: il loro codice sorgente è cioè liberamente disponibile e modificabile secondo 7 le proprie esigenze, ed essendo ispezionabile consente di verificare che non ci siano debolezze o vulnerabilità, intenzionali o meno. La maggior parte di queste applicazioni inoltre funziona sotto il sistema operativo Linux, anch'esso disponibile gratuitamente ed adatto a