Criptarea Comunicatiilor Realizate Prin Retele Vpn
CUPRINS
Introducere
1. Generalități privind rețelele de calculatoare
1.1 Arhitecturi de rețele
1.2 Modelul de referință OSI
1.3 Stiva de protocoale TCP/IP
1.4 Adresarea IP. IPv4 vs. IPv6
2. Rețele Virtuale Private
2.1 Introducere in VPN
2.2 Tipuri de rețele VPN
2.2.1 Remote Acces VPN
2.2.2 Intranet VPN
2.2.3 Extranet VPN
2.3 Tunelare
2.4. Protocoale de tunelare
2.4.1 Protocoalele Ipsec
2.4.2 Protocolul SSL
2.4.3 Protocolul L2TP
2.4.4 Protocolul L2TPv3
2.4.5 Protocolul MPLS
3.5.2 Rețea virtuală privată administrată de furnizor (PPVPN
3.2 Modul de funcționare
3.3 Avantaje VPN
3.6 Componente VPN. Metode de realizare a soluțiilor VPN
3.7 Securitate VPN
3.7.1 Amenințări la adresa securității rețelelor publice
3.7.2 Soluții VPN
3.7.3 Criptarea datelor
3.7.3.1 Criptosisteme cu cheie privată (simetrice
3.7.3.2 Criptosisteme cu cheie publica (asimetrice
3.7.3.2.1 Diffie-Hellman
3.7.3.2.2 Rivest Shamir Adleman (RSA
3.7.4 Semnături digitale și autentificări de date
3.7.5 Autentificarea utilizatorilor și controlul accesului
3.8 VPN și NAT
4. Software-ul Hamachi pentru VPN
5 Open VPN
5.1 Generalități
5.2 Rutare vs Punte de rețea
5.3 Modul Rutare in OpenVpn
5.4 Modul Poartă in OpenVpn
5.5 Certificate pentru autentificare
6. Aplicație
7. Concluzii
Bibliografie
Anexa1- Abrevieri
1. Introducere
Dezvoltarea extraordinară pe care a cunoscut-o industria calculatoarelor a fost însoțită pas cu pas de apariția și extinderea rețelelor. În aproximativ 30 de ani realizările sunt uimitoare: calculatoarele au dimensiuni reduse și performanțe greu de bănuit cu ani în urmă, iar rețelele, după ani de încercări în care s-au elaborat diverse modele, standarde, în care s-au experimentat diverse proiecte care au dispărut sau care s-au unificat se prezintă astăzi într-o formă destul de avansată. Totodată, a crescut numărul aplicațiilor care necesită o rețea de calculatoare.
Proiectul de diplomă tratează una dintre tehnologiile moderne utilizate în cadrul rețelelor de comunicații și anume rețelele virtuale private (Virtual Private Networks-VPN). Tehnologia rețelelor virtuale a apărut ca o soluție prin care se asigură confidențialitatea datelor vehiculate printr-un mediu public precum Internet-ul. Rețelele virtuale private reprezintă un mod de a conecta locații aflate la distanță (filiale, utilizatori mobili, clienți, furnizori etc.) într-o unică rețea virtuală, asigurându-se mecanisme de securitate. Aceste rețele stau la baza comunicării eficiente între birourile, locațiile firmelor de dimensiuni mijlocii și mari utilizând rețele publice/Internetul, din România și din întreaga lume. Prin VPN, angajații aflați la distanță au acces direct la resursele companiei. În acest caz, esențiale sunt simplitatea pentru utilizator (pe principiul: “Indiferent de distanță, trebuie ca resursele să-ți fie la fel de accesibile ca și cum ai fi în sediul firmei”) și administrarea ușoară și centralizată. Pe de altă parte, accesul este permis utilizatorilor diferențiat, în funcție de profilul prestabilit.
Abia în ultima perioadă companiile au început să înțeleagă și, cele mai avansate dintre ele, să simtă avantajele pe care le oferă comunicarea la distanță prin Internet prin canale de bandă largă, față de tradiționalul acces prin dial-up. Motivația de bază pentru construirea unui VPN este reducerea costurilor legate de comunicații. Pentru că este mult mai ieftin să se folosească o singură legătură fizică comună pentru servirea mai multor clienți din rețea decât să se utilizeze legături separate pentru fiecare client din rețeaua privată.
În oricare dintre scenariile de acces la distanță prin VPN, ușurința în utilizare este un criteriu important. Majoritatea problemelor de securitate sunt atribuite erorilor de configurare, deci cu cât sistemul este mai ușor de administrat, cu atât șansele de a scăpa ceva din vedere sunt mai mici. Din punctul de vedere al clientului, simplitatea este critică, pentru că mulți angajați aflați în deplasări sau la distanță nu au cunoștințele necesare sau accesul la resursele tehnice pentru a depista și rectifica cauzele unor eventuale disfuncționalități.
Scopul acestei lucrări este familiarizarea cu elementele fundamentale ale unei rețele de calculatoare, prezentare noțiunilor teoretice care stau la baza realizări rețelelor virtuale private, precum și a modalităților de implementare. Lucrarea prezintă pe lângă soluții care necesită cunoștiințe avansate și soluții VPN pentru începători, care sunt la îndemâna oricui.
Obiectivul proiectului de diplomă este realizarea unui tunel între două calculatoare cu ajutorul programului OpenVPN. Am ales în partea practică folosirea acestui program deoarece este un concept modern în zilele noastre, care are foarte multe opțiuni ce pot fi exploatate. OpenVpn permite realizarea unei tunelări robuste și foarte flexibile care utilizează toate caracteristicile de autentificare și certificare a criptării ale bibliotecii OpenSSL pentru a tunela în mod securizat rețele IP. În plus acest program VPN este gratuit și open source.
Am optat în alegerea temei “Rețele Virtuale Private” cu scopul de a mă perfecționa în domeniul rețelelor de calculatoare. Cunoștiințele dobândite în cadrul facultății în acest domeniu, precum și în urma participării la cursurile de Cisco, m-au determinat să tratez acest concept modern al rețelelor de calculatoare.
CAPITOLUL I
GENERALITĂȚI PRIVIND REȚELELE DE CALCULATOARE
1.1 Arhitecturi de rețele
În termeni foarte simpli, o rețea reprezintă un sistem de oameni și obiecte conectate între ele. Oriunde privim în jurul nostru putem observa un anumit tip de rețea (sistemul nervos, sistemul cardiovascular etc). Rețelele de comunicații sunt proiectate astfel încât două calculatoare, localizate oriunde în lume, să fie capabile să comunice între ele, indiferent de tipul acestora. Acest lucru este posibil prin intermediul unei limbi comune, numită protocol.
Protocolul este definit ca „un set formal de reguli și convenții cu ajutorul cărora este gestionat schimbul de informații între echipamentele unei rețele”.
Dacă toate dispozitivele dintr-o rețea sunt situate în aceeași clădire, atunci este vorba despre o rețea locală, LAN (Local Area Network). În acest caz toate elementele componente ale rețelei sunt conectate cu același tip de cablu.
Mai multe rețele locale, situate în clădiri diferite, conectate împreună, formează o rețea metropolitană, MAN (Metropolitan Area Network). În acest caz legăturile pot fi pe linie telefonică, sau pe fibră optică.
Mai multe rețele metropolitane, situate în localități diferite, conectate împreună, formează o rețea regională, WAN (Wide Area Network). În acest caz legăturile pot fi radio, terestre sau prin satelit.
Mai multe rețele LAN, MAN și WAN interconectate între ele creează o așa numită inter-rețea sau internet, așa cum este prezentat în Figura nr. 1.
Figura nr. 1 – Tipuri de rețele
Dacă privim acest tip de rețele prin prisma sistemelor de operare ce pot fi folosite vom putea clasifica aceste rețele în peer-to-peer și rețele bazate pe servere.
Rețelele peer-to-peer nu implică existența unui server care să asigure serviciile în rețea. Fiecare din calculatoarele rețelei poate îndeplini și funcția de server. Utilizatorul este cel care hotărăște ce periferic sau informație dorește să fie accesată și de ceilalți membri ai rețelei. La polul opus, rețelele bazate pe server(e) implică existența cel puțin a unui calculator care să joace rolul de server.
Pentru desemnarea manierei de proiectare a unei rețele se folosește termenul topologie. Există două tipuri de topologii: fizică și logică. Topologia fizică a unei rețele se referă la configurația mediilor de transmisie, a calculatoarelor și a perifericelor. Topologia logică reprezintă metoda folosită pentru transferul informațiilor de la un calculator la altul. Cele mai des răspândite topologii fizice de rețea sunt: bus (magistrală), star (stea), ring (inel), tree (arbore).
1.2 Modelul de referință OSI
Modelul de referință OSI (Open Systems Interconnect), dezvoltat în 1984 de către Organizația Internațională de Standardizare (International Standards Organization – ISO), este o schemă descriptivă care a pus la dispoziția utilizatorilor standardele necesare asigurării compatibilității și interoperabilității între diferitele tehnologii.
Modelul de referință OSI este primul model pentru standardizarea comunicațiilor în rețele. Există și alte modele dar majoritatea producătorilor de echipamente respectă acest standard. Acest model permite utilizatorilor să vadă funcțiile rețelei pe măsură ce ele apar la fiecare nivel în parte. Chiar dacă pare destul de abstract, este un instrument foarte bun pentru a ilustra modul în care informațiile traversează o rețea: explică, vizual, circulația datelor de la o aplicație, către mediul fizic de transmisie și apoi către o altă aplicație localizată pe un calculator din rețea, chiar dacă expeditorul și destinatarul fac parte din rețele cu topologii diferite. După cum se vede și din Figura nr. 2, în modelul de referință OSI există 7 niveluri, fiecare dintre acestea ilustrând o funcție particulară a rețelei. Separarea între funcțiile rețelei este denumită nivelare (layering).
Modelul OSI este doar un model de arhitectură de rețea, deoarece spune numai ceea ce ar trebui să facă fiecare nivel și nu specifică serviciile și protocoalele utilizate la fiecare nivel. Fiecare nivel al modelului OSI are un set predeterminat de funcții pe care le realizează pentru a duce la bun sfârșit comunicarea.
Modelul OSI cuprinde șapte niveluri. Trei concepte sunt esențiale pentru modelul OSI: serviciile, interfețele, protocoalele. Probabil că cea mai mare contribuție a modelului OSI este că a făcut explicită diferența între aceste trei concepte. Fiecare nivel realizează niște servicii pentru nivelul situat deasupra sa. Definiția serviciului spune ce face nivelul, nu cum îl folosesc entitățile de pe nivelurile superioare sau cum funcționează nivelul.
Interfața unui nivel spune proceselor aflate deasupra sa cum să facă accesul. Interfața precizează ce reprezintă parametrii și ce rezultat se obține. Nici interfața nu spune nimic despre funcționarea internă a nivelului.
Figura nr. 2 – Modelul OSI
1.3 Stiva de protocoale TCP/IP
TCP/IP (Transmission Control Protocol/Internet Protocol) este o suită de protocoale, dintre care cele mai importante sunt TCP și IP, care a fost transformat în standard pentru Internet de către Secretariatul pentru Apărare al Statelor Unite și care permite comunicația între rețele eterogene (interconectarea rețelelor).
Modelul de referință ISO/OSI definește șapte nivele pentru proiectarea rețelelor, pe când modelul TCP/IP utilizează numai patru din cele șapte nivele, după cum se vede din Figura nr. 3.
Figura nr. 3 – Modelul TCP/IP
TCP și IP împreună dirijează fluxul de date în cadrul unei rețele, atât la intrare cât și la ieșire. În timp ce IP trimite fără discriminare pachete în rețea, TCP este însărcinat să se asigure că ele ajung acolo. TCP este responsabil cu: stabilirea conexiunilor, dirijarea pachetelor, controlul fluxurilor, detecția și tratarea erorilor.
Familia de protocoale TCP/IP are o parte stabilă, dată de nivelurile Internet (rețea) și transport și o parte mai puțin stabilă, nivelul aplicație, deoarece aplicațiile standard se diversifică mereu.
În ceea ce privește nivelul gazdă la rețea (echivalentul nivelului fizic și legătura de date din modelul OSI), cel mai de jos nivel din cele patru, acesta este mai puțin dependent de TCP/IP și mai mult de driverele de rețea și al plăcilor de rețea. Acest nivel face ca funcționarea nivelului imediat superior, nivelul Internet, să nu depindă de rețeaua fizică utilizată pentru comunicații și de tipul legăturii de date.
Nivelul Internet are rolul de a transmite pachetele de la sistemul sursă la sistemul destinație, utilizând funcțiile de rutare. La acest nivel se pot utiliza mai multe protocoale, dar cel mai cunoscut este protocolul Internet – IP. Nivelul transport are rolul de a asigura comunicația între programele de aplicație. Nivelul aplicație asigură utilizatorilor o gamă largă de servicii, prin intermediul programelor de aplicații. La acest nivel sunt utilizate multe protocoale, datorită multitudinii de aplicații existente, care sunt în continuă creștere.
1.4 Adresarea IP. IPv4 vs. IPv6
Fiecare calculator, echipament sau router dintr-o rețea are un nume global, numit adresă IP, care codifică identitatea sa precum și identitatea rețelei căreia îi aparține. Această combinație de adrese trebuie să fie unică. Nu este permisă existența a două calculatoare cu aceeași adresă IP. Structura generală a unei adrese IP poate fi observata în Figura nr. 4.
Figura nr. 4 – Structură adresă IP
O adresă IP conține informațiile necesare pentru a transporta un pachet cu date prin rețea și este reprezentată printr-un număr binar cu o valoare egală cu 32 biți. O manieră ușoară în care se poate citi o adresă IP presupune împărțirea adresei în patru octeți, fiecare octet conținând 8 biți. Valoarea maximă a fiecărui octet (în zecimal) este 255.
Porțiunea network din cadrul unei adrese IP identifică rețeaua căreia îi aparține un echipament. Porțiunea host a adresei identifică în mod unic dispozitivul conectat la rețea. Deoarece o adresă IP este alcătuită din patru octeți separați prin punct, primul, al doilea sau al treilea dintre aceștia pot fi folosiți pentru a identifica rețeaua din care face parte un dispozitiv. La fel și pentru identificarea dispozitivului în sine.
Toate adresele IPv4 au lungimea de 32 de biți și sunt incluse în câmpurile adresă sursă și adresă destinație din antetul datagramelor IP. În fiecare țară care implementează rețele TCP/IP, există un comitet național responsabil de administrarea și distribuirea adreselor IP. Responsabilitatea mondială pentru administrarea adreselor IP o are grupul IANA, Internet Assigned Numbers Authority. În mod uzual adresele IP sunt scrise în zecimal cu punct, DDN, Dotted Decimal Numbers. Iată un exemplu de adresă IP: 193.226.10.90.
Domeniul de adresare cuprins între 0.0.0.0 și 255.255.255.255 a fost împărțit în 5 clase, A, B, C, D și E ale căror elemente diferă în funcție de modul de specificare a câmpurilor ID rețea și ID host. Structura generală a adreselor pentru cele 5 clase se observă în Figura nr. 5.
Figura nr. 5 – Structura adreselor pentru cele 5 clase
Versiunea curentă de IP este IPv4, dar devine tot mai clar că zilele sale sunt numărate. Explozia interesului față de Internet după 1990 a evidențiat faptul că este necesară o nouă versiune, care să depășească limitele actualei versiuni de adresare IP. În primul rând spațiul de adrese este pe cale să se epuizeze și trebuie căutate diferite artificii pentru a permite accesul unor noi clienți. În al doilea rând actuala versiune este destul de rigidă și nu satisface noile servicii cerute de rețelele integrate, în primul rând transferul eficient de voce și imagini video în timp real. În dezvoltarea unei noi specificații de adresare IP au fost urmărite următoarele obiective:
să suporte miliarde de gazde;
să reducă dimensiunile tabelelor de dirijare;
să simplifice protocolul pentru a permite routere-lor să proceseze mai repede pachetele;
să asigure securitate (autentificare și confidențialitate) mai bună decât în prezent;
să permită servicii diferențiate cu grad specific de QoS;
să permită transmiterea multiplă în rețele distante;
să asigure mobilitate sporită a gazdelor fără schimbarea adresei;
să permită operarea cu diferite tipuri de protocoale existente sau viitoare;
să poată conlucra încă mulți ani cu actualul IPv4.
După discuții și propuneri diverse s-a ajuns la Protocolul simplu îmbunătățit pentru Internet (Simple Internet Protocol Plus – SIPP) cunoscut pe scurt ca IPv6. Menține caracteristicile bune ale IPv4, adaugă altele noi și este compatibil cu TCP, UDP, ICMP, IGMP, OSPF, BGP și DNS.
Deosebiri față de vechea versiune:
lungimea adreselor sursă și destinație mult mai mare, de 16 octeți față de 4;
simplificarea antetului care conține numai 7 câmpuri față de 13, ceea ce permite routere-lor o procesare mult mai rapidă;
suportă mai bine opțiuni noi;
securitate bună. Permite autentificarea și confidențialitatea;
acordă atenție sporită tiplui de serviciu.
Numărul total de adrese IPv6 este 21283 1038, număr foarte mare. Pentru scrierea lor a fost inventată o nouă notație: 8 grupuri de câte 4 cifre hexazecimale separate prin două puncte, că în exemplul următor:
8000:000:000:000:0123:4567:89AB:CDEF
adică în total 16 octeți. Unul sau mai multe grupuri de 16 zerouri în binar (4 zerouri în hexazecimal) pot fi înlocuite prin semnul „:”. În plus, un zero de la începutul unui grup de 4 cifre hexa poate fi omis, întrucât lipsa sa presupune valoarea implicită 0. Asta înseamnă că adresa de mai sus se pate scrie și sub forma:
8000::123:4567:89AB:CDEF
O adresă IPv4 poate fi scrisă în IPv6 ca o pereche de semne :: și vechea adresă în format zecimal cu punct:
::192.31.28.4
CAPITOLUL II
REȚELE VIRTUALE PRIVATE
2.1 Introducere în VPN
O rețea, din punct de vedere IT, constă din două sau mai multe dispozitive care pot comunica electronic între ele, prin intermediul diferitelor medii de transmitere (cabluri, radio, wireless, etc.). O rețea VPN (Virtual Private Network) reprezintă un grup de două sau mai multe sisteme de calculatoare conectate într-o arhitectură privată de comunicații, cu acces restrictiv și desfășurată prin intermediul unei rețele publice. Caracterul privat al unei rețele VPN (termenul privat subliniază accesul restrictiv la un set definit de entități, o terță parte nu are acces la conținutul privat al comunicației) depinde în principal de riscul pe care și-l asumă organizația respectivă: cerințele de secretizare și de securizare pot fi minime sau extrem de ridicate. Generarea informației private prin aceste rețele nu diferă prea mult de trimiterea unei corespondențe interne prin intermediul poștei sau de expedierea unui fax prin rețeaua publică.
Chiar dacă fizic nu există, un VPN trebuie să fie perceput ca o extensie a infrastructurii unei rețele, care aparține unei entități. Acest lucru înseamnă că trebuie să fie disponibil rețelei existente sau la un grup restrâns de utilizatori din acea rețea.
Virtual înseamnă ireal sau într-o altă stare de existență. În VPN comunicația privată între două sau mai multe dispozitive se realizează printr-o rețea publică, Internetul. Astfel, comunicația este virtuală dar nu și prezentă fizic.
Privat înseamnă a ascunde ceva publicului. Chiar dacă dispozitivele comunică între ele într-un mediu public, nu există o terță parte care poate întrerupe această comunicație sau recepționa datele schimbate între ele.
O rețea VPN – Figura nr. 6 – conectează componentele și resursele unei rețele private prin intermediul unei rețele publice. Altfel spus, o rețea virtuală privată este o rețea a companiei implementată pe o infrastructură comună, folosind aceleași politici de securitate, management și performanță care se aplică de obicei într-o rețea privată. Practic, tehnologia rețelelor virtuale private permite unei firme să-și extindă prin Internet, în condiții de maximă securitate, serviciile de rețea la distanță oferite utilizatorilor, reprezentanțelor sau companiilor partenere. Avantajul este evident: crearea unei legături de comunicație rapidă, ieftină și sigură.
Figura nr. 6 – Rețea VPN
2.2 Tipuri de rețele VPN
O rețea VPN permite unei rețele intranet private să fie extinsă în siguranță, prin diferite metode de securizare, în Internet sau în alte servicii de rețea, facilitând schimbul de informații în mod securizat și conexiuni extranet cu angajați mobili, parteneri de afaceri, furnizori și clienți. Există 3 tipuri principale de VPN-uri (Figura nr. 7):
VPN-urile cu acces de la distanță (Remote Access VPN) – permit utilizatorilor dial-up să se conecteze securizat la un site central printr-o rețea publică. Acestea mai sunt numite și „dial” VPN-uri;
VPN-urile intranet (Intranet VPN) – permit extinderea rețelelor private prin Internet sau alt serviciu de rețea publică într-o manieră securizată. Acestea sunt denumite și VPN-uri „site-to-site” sau „LAN-to-LAN”;
VPN-urile extranet (Extranet VPN) – permit conexiuni securizate între partenerii de afaceri, furnizori și clienți, în general în scopul realizării comerțului electronic. VPN-urile extranet sunt o extensie a VPN-urilor intranet la care se adaugă firewall-uri pentru protecția rețelei interne.
Figura nr. 7 – Tipuri de rețele VPN
Toate aceste rețele virtuale private au rolul de a oferi fiabilitatea, performanța și securitatea mediilor WAN tradiționale, dar cu costuri mai scăzute și conexiuni ISP (Internet Service Provider) mult mai flexibile. Tehnologia VPN poate fi folosită și într-un intranet pentru a asigura securitatea și controlul accesului la informații, resurse sau sisteme vitale. De exemplu, se poate limita accesul anumitor utilizatori la sistemele financiare din companie sau se pot trimite informații confidențiale în manieră securizată.
2.2.1 Remote Access VPN
Acces VPN la distanță (Remote Access VPN) permite conectarea individuală (utilizatori mobili) sau a unor birouri la sediul central al unei firme, aceasta realizându-se în cele mai sigure condiții (Figura nr. 8).
Figura nr. 8 – Remote Access VPN
Pentru realizarea unui Remote Access VPN organizația implementează un portal VPN pe rețeaua lor, fiecare utilizator de acces de la distanță stabilind apoi o conexiune VPN între computerul local (gazdă) și gateway-ul VPN, acesta putând fi un dispozitiv dedicat sau o parte a unui alt dispozitiv de rețea.
Există două tipuri de conexiuni Remote Access VPN:
Conexiune inițiată de client – clienții care vor să se conecteze la site-ul firmei trebuie să aibă instalat un client de VPN, acesta asigurându-le criptarea datelor între computerul lor și sediul ISP-ului. Mai departe conexiunea cu sediul firmei se face de asemenea în mod criptat. Figura nr. 9 schematizează acest tip de Access VPN.
Figura nr. 9 – Acces de la distanță inițiat de client
Access VPN inițiat de serverul de acces – acest tip de conexiune este ceva mai simplă pentru că nu implică folosirea unui client de VPN (Figura nr. 10). Tunelul criptat se realizează între server-ul de acces al ISP-ului și sediul firmei la care se vrea logarea. Între client și server-ul de acces securitatea se bazează pe siguranța liniilor telefonice (fapt care uneori poate fi un dezavantaj).
Figura nr. 10 – Acces de la distanță inițiat de server-ul de acces
2.2.2 Intranet VPN
Intranet VPN (Figura nr. 11) permite conectarea diferitelor sedii ale unei firme folosind legături dedicate. Acest tip de conexiune este folosit, de obicei pentru nevoi speciale, precum acelea desfășurate de administratorii de sistem pentru managementul de la distanță a unui singur server. Conexiunea Intranet VPN permite realizarea unor medii client-server performante prin utilizarea conexiunilor dedicate care pot să atingă rate de transfer foarte bune. Diferența față de Remote Access VPN constă în faptul că se folosesc legături dedicate, cu rata de transfer garantată, fapt care permite asigurarea unei foarte bune calități a transmisiei pe lângă securitate și bandă mai largă.
Figura nr. 11 – Intranet VPN
Arhitectura aceasta utilizează două routere la cele două capete ale conexiunii, între acestea realizându-se un tunel criptat. În acest caz nu mai este necesară folosirea unui client de VPN ci se utilizează IPSec. IPSec (IP Security Protocol) este un protocol standardizat de strat 3 care asigură autentificarea, confidențialitatea și integritatea transferului de date între o pereche de echipamente care comunică. Folosește ceea ce se numește IKE (Internet Key Exchange) care necesită introducerea la ambele capete ale conexiunii a unor chei de autentificare care mai apoi vor permite logarea reciprocă. Schematic conexiunea este prezentată în Figura nr. 12.
Aceste tipuri de rețele VPN sunt considerate conectate activ în permanență. Rețelele Intranet VPN sunt uneori denumite rețele VPN hard (bazate pe hardware), intranet sau rețele VPN LAN-to-LAN.
Figura nr. 12 – Arhitectura Intranet VPN
2.2.3 Extranet VPN
Extranet VPN – este adesea folosit pentru a oferi comunicații de rețea securizate între două rețele, pentru a lega diferiți clienți sau parteneri de afaceri la sediul central al unei firme folosind linii dedicate sau conexiuni partajate, de securitate maximă (Figura nr. 13).
Figura nr. 13 – Extranet VPN
Conexiunea se realizează, de obicei, prin implementarea unui gateway VPN pe fiecare rețea și stabilirea unei conexiuni VPN între cele două gateway-uri. Gateway-ul VPN poate fi un dispozitiv dedicat care efectuează numai funcții VPN sau poate fi parte a unui alt dispozitiv de rețea, cum ar fi un firewall sau router.
Acest tip de VPN seamănă cu precedentul cu deosebirea că extinde limitele intranetului permițând logarea la sediul corporației a unor parteneri de afaceri sau clienți care nu fac parte din structura firmei. Pentru a fi posibil acest lucru se folosesc certificate digitale care permit ulterior realizarea unor tunele criptate. Certificatele digitale sunt furnizate de o autoritate care are ca activitate acest lucru.
2.3 Tunelarea
Tunelarea este o metodă de a folosi infrastructura inter-rețea pentru a transfera datele unei rețele printr-o altă rețea (Figura nr. 14). Rețelele VPN se bazează pe transmiterea prin tunel pentru a crea o rețea privată în Internet.
Figura nr. 14 – Tunelarea
Tunelarea este procesul de preluare a unui pachet întreg de date și de încapsularea a lui în cadrul altui pachet, înainte de a-l transmite prin rețea. Rețeaua trebuie să înțeleagă protocolul pachetului din exterior, pentru ca acesta să poată intra și ieși din rețea. Pachetele încapsulate se dirijează apoi între capetele tunelului prin inter-rețea. Calea logică după care se deplasează pachetele încapsulate prin interrețea se numește tunel. Odată ce pachetele încapsulate ajung la destinație în inter-rețea, acestea sunt decapsulate și transmise la destinația finală. Tunelarea include tot acest proces (încapsularea, transmisia și decapsularea pachetelor).
Crearea unui tunel necesită funcționarea a trei protocoale diferite:
protocolul pasagerului (passenger protocol) – pachetul datelor inițiale, de obicei de tip IP (dar pot fi și alte protocoale, precum IPX sau NetBEUI), care trebuie criptat în rețeaua VPN;
protocolul de încapsulare (encapsulating protocol) – acesta (IPSec, MPLS, L2F, PPTP, L2TP ) înglobează datele inițiale. Protocolul permite întregului pachet pasager să fie criptat și protejat. Protocolul trebuie să fie acceptat de ambele interfețe ale tunelului pentru a funcționa corect;
protocolul purtătoarei (carrier protocol) – este folosit de rețeaua prin care călătorește informația. Pachetul inițial (protocolul pasagerului) este încapsulat în cadrul protocolului de încapsulare și introdus apoi în antetul protocolului purtătoarei, pentru a fi transmis prin rețeaua publică.
Tehnologia de tunelare se poate baza pe un protocol de tunelare de nivel 2 sau 3. Aceste nivele corespund modelului de referință OSI. Protocoalele de nivel 2 corespund nivelului legătură de date și folosesc cadre ca unitate de schimb. PPTP, L2TP și L2F sunt exemple de protocoale de tunelare de nivel 2. Protocoalele de nivel 3 corespund nivelului rețea, folosesc pachete IP și sunt protocoale care încapsulează pachete IP într-un antet IP adițional înainte de a le transmite peste o inter-rețea.
Pentru tehnologiile de nivel 2, cum ar fi PPTP sau L2TP, un tunel este asemănător cu o sesiune; ambele capete ale tunelului trebuie să cadă de acord asupra tunelului și să negocieze variabilele de configurare, cum ar fi atribuirea adreselor, criptarea, comprimarea. În cele mai multe cazuri, datele transferate prin tunel sunt trimise folosind un protocol bazat pe datagrame. Pentru gestionarea tunelului se folosește un protocol de menținere a tunelului.
Tehnologiile de tunelare de nivel 3 pleacă de la premiza că toate chestiunile de configurare au fost efectuate, de multe ori manual. Pentru aceste protocoale poate să nu existe faza de menținere a tunelului. Pentru protocoalele de nivel 2 un tunel trebuie creat, menținut și distrus.
Transmiterea prin tunel funcționează bine cu rețelele VPN deoarece se pot folosi protocoale care nu sunt acceptate în Internet în cadrul unui pachet IP și acesta poate fi transmis în siguranță în continuare. La începutul unei transmisii VPN prin tunel, un pachet de date de la o sursă LAN este înglobat sau încapsulat cu informații noi de antet, care permit rețelelor intermediare să-l recunoască și să-l livreze. După ce transmisia este încheiată antetul protocolului pentru tunel este îndepărtat iar pachetul original este transferat în rețeaua LAN de destinație, pentru a fi livrat.
Traficul VPN poate fi transmis pe infrastructura publică (ex: pe Internet), folosind protocoale standard (și deseori nesigure) sau peste rețeaua unui provider de servicii de telecomunicații care furnizează servicii VPN bine definite de SLA (Service Level Agreement) între consumatorul VPN și furnizorul de servicii VPN.
Deși transmisia prin tunel permite datelor să fie purtate prin rețele ale unor terțe părți, aceasta nu poate asigura singură protecția datelor. Pentru a proteja o transmisie prin tunel în fața oricărui tip de interceptare și sustragere, întregul trafic prin rețelele VPN este criptat.
2.4 Protocoale de tunelare
Pentru stabilirea unui tunel atât clientul cât și serverul de tunel trebuie să folosească același protocol de tunelare
Protocoalele de tunelare VPN includ:
IPsec (IP security) – folosit cu IPv4, fiind o parte obligatorie a IPv6.
SSL/TLS folosite pentru tunelare și pentru securizarea proxy-urilor web. SSL este cadrul principal, cel mai des asociat cu comerțul electronic, e-commerce, dar și pentru accesul la resursele de la distanță.
Layer 2 Tunneling Protocol (L2TP) este o înlocuire bazată pe standarde, și totodată un compromis, preluând avantajele fiecăruia dintre cele două protocoale VPN proprii: Layer 2 Forwarding a lui Cisco și Point-to-Point Tunneling Protocol (PPTP) a lui Microsoft.
L2TPv3 (Layer 2 Tunneling Protocol version 3), o nouă variantă pentru L2TP.
Multi-Protocol Label Switching (MPLS) reprezintã ultimul pas fãcut în evoluția tehnologiilor de comutare/rutare pentru Internet, folosind o soluție ce integreazã atât controlul rutãrii IP, cât si comutarea de la nivelul legãturii de date (nivelul 2 din modelul OSI).
OpenVPN, este un standard VPN deschis. Este o variantă de VPN bazată pe SSL capabilă să ruleze pe UDP.
2.4.1 Protocoalele IPsec
IPsec este o colecție de protocoale care ajută la protejarea comunicațiilor realizate pe rețele IP. Protocoalele IPsec lucrează împreună, în diverse combinații, pentru a oferi protecție pentru comunicații. Componentele principale ale protocoalelor IPsec sunt:
antetul de autentificare – protocolul Authentication Header (AH);
segmentul de date cu protecție prin încapsulare – protocolul Encapsutating Security Payload (ESP);
schimbul de chei în Internet – protocolul Internet Key Exchange (IKE).
Protocoalele IPSec au fost dezvoltate pe baza arhitecturii descrisă în RFC2401.
Authentication Header (AH), unul dintre protocoalele de securitate IPsec, oferă protecție atât pentru antete cât și pentru pachetele de date, precum și autentificarea utilizatorului. AH nu poate cripta orice parte a pachetelor. În versiunea inițială a IPsec protocolul ESP oferea doar criptare, nu și autentificare, așa că AH și ESP au fost deseori folosite împreună pentru a oferi atât confidențialitate cât și integritate comunicațiilor. Deoarece capacitățile de autentificare au fost adăugate la ESP în versiunea a doua a IPsec, AH a devenit mai puțin important. De fapt, unele software-uri IPsec nu mai acceptă AH. Cu toate acestea AH este încă utilizat pentru că AH poate autentifica porțiuni de pachete care ESP nu le poate autentifica.
AH are două moduri de utilizare: transport și tunel. În modul tunel, AH creează un nou antet IP pentru fiecare pachet, în timp ce în modul de transport AH nu creează un nou antet IP. În modul tunel datagrama IP e toată încapsulată de o nouă datagramă IP folosind protocolul IPsec. În modul transport doar încărcătura utilă (payload-ul) datagramei IP e condus de protocolul IPsec inserând header-ul IPsec între header-ul IP și header-ul protocolului superior (Figura nr. 15).
Figura nr. 15 – Modul tunel și modul transport pentru protocolul AH
Encapsulated Security Payload (ESP) este al doilea protocol de securitate de bază din cadrul IPsec. În versiunea inițială a IPsec, ESP furniza criptare numai pentru pachetele de date. Dacă era necesar protecție integrității era asigurată de protocolul AH. În a doua versiune a IPsec, ESP a devenit mai flexibil, putând efectua autentificarea pentru a oferi protecția integrității, dar nu și pentru antetul exterior al IP-ului. De asemenea, criptare ESP poate fi dezactivată prin intermediul algoritmului Null ESP Encryption Algorithm. Prin urmare ESP poate fi utilizat pentru a oferi doar criptare, protecția integrității și criptare sau doar protecția integrității.
ESP are două moduri de utilizare: transport și tunel. În modul tunel ESP creează un nou antet IP pentru fiecare pachet. Noul antet IP afișează punctele finale al tunelului ESP (ca două gateway-uri IPsec), fiind specificate sursa și destinația pachetelor. Datorită acestui mod ESP poate fi folosit pentru orice tip de arhitectură VPN. Modul tunel poate cripta și/sau proteja integritatea atât a datelor cât și a antetelor IP originale pentru fiecare pachet. Criptarea datelor asigură protecția împotriva accesării sau modificării acestora de către persoane neautorizate. Criptarea antetului original al pachetului IP ascunde natura comunicărilor, precum sursa reală sau destinația pachetului.
Modul tunel ESP este mult mai utilizat decât modul transport ESP. În modul transport ESP se utilizează antetul IP original în locul creării unuia nou. În acest mod ESP poate cripta și/sau proteja numai integritatea datelor și pachetelor dar nu și a antetelor originale. Ca și protocolul AH, modul ESP transport este utilizat, în general, numai pentru în cadrul intranet VPN-urilor. De asemenea, modul transport ESP este incompatibil cu NAT (Network Address Translator). De exemplu, în fiecare pachet TCP suma de control este calculată pentru fiecare câmp TCP și IP, incluzând adresele sursei și destinației pachetelor în antetul IP. Dacă s-ar utiliza NAT una sau ambele adrese IP ar fi alterate iar NAT trebuie să recalculeze suma de control TCP. Dacă ESP criptează pachetele antetul TCP este criptat și în acest fel NAT nu poate recalcula suma de control.
În modul tunel utilizarea NAT nu este o problemă deoarece întregul pachet TCP este ascuns iar NAT nu va încerca să recalculeze suma de control TCP.
Internet Key Exchange (IKE) este protocolul destinat pentru negocierea, crearea și managementul asocierilor de securitate (Security Association – SA). SA este un termen generic pentru un set de valori care definesc caracteristicile IPsec și protecțiile aplicate unei conexiuni. Asocierile de securitate pot fi, de asemenea, create manual, folosind valori convenite în prealabil de ambele părți, dar aceste SA nu pot fi actualizate.
IKE utilizează cinci tipuri diferite de schimburi pentru a crea asocieri de securitate, pentru a transfera informații referitoare la starea pachetelor și a erorilor asociate acestora precum și pentru a defini noi grupuri Diffie-Hellman. În IPsec, IKE este folosit pentru a furniza un mecanism sigur pentru stabilirea de conexiuni protejate IPsec. IKE utilizează 5 tipuri de schimburi: modul principal, modul agresiv, modul rapid, modul informațional și modul de grup.
2.4.2 Protocolul SSL
SSL (Secure Sockets Layer) este un protocol dezvoltat de Netscape pentru transmiterea documentelor private prin Internet. SSL utilizează un sistem de criptare cu două chei, una publică, cunoscută de toată lumea și una privată, cunoscută doar de beneficiarul mesajului (receptorul). Atât Netscape cât și Internet Explorer suportă protocolul SSL, iar o serie de site-uri îl utilizează pentru obținerea informațiilor sensibile, cum ar fi numărul cărții de credit. Re
Pașii care sunt urmați în procesul criptografic al implementării SSL sunt :
se criptează codul cu cheia secretă a expeditorului;
se criptează codul cu cheia publică a destinatarului;
se generează certificate care transportă cheia publică folosită în criptografia asimetrică.
Esența procesului de comunicare prin SSL constă în stabilirea unor parametri criptografici înainte de transmiterea efectivă a datelor. Stabilirea parametrilor poartă numele de „SSL handshake”. În primul rând, clientul comunică serverului ce „cipher suites” are disponibile. Un „cipher suite” reprezintă o combinație de parametri criptografici ce definesc algoritmul și cheile folosite pentru autentificare și criptare. Apoi, serverul se poate autentifica (acest pas este opțional), permițându-i clientului să fie sigur că entitatea server este ceea cu care clientul se așteaptă să comunice. Pentru aceasta, serverul prezintă clientului un certificat ce conține cheia sa publică. Verificând acest certificat clientul poate fi sigur de identitatea serverului. Din acest moment, pot fi schimbate date între client și server.
Protocolul SSL schimbă înregistrările; fiecare înregistrare poate fi compresată opțional, criptată și împachetată cu un MAC (Message Authentication Code). Fiecare înregistrare are un câmp (field) content_type care specifică nivelul superior al protocolului ce a fost început să fie folosit.
Când conexiunea se inițializează, nivelul înregistrării încapsulează un alt protocol, protocolul handshake, care are content_type 22. Clientul trimite și primește mai multe structuri handshake:
protocolul trimite mesajul ClientHello specificând lista de cipher suites (suită de cifruri), metoda de compresie și cea mai înaltă versiune de protocol pe care îl suportă. De asemenea, trimite bytes la întâmplare, care vor fi folosiți mai târziu;
ulterior primește mesajul ServerHello, în care serverul alege parametrii de conexiune, din opțiunile oferite de către client;
când parametrii de conexiune sunt cunoscuți, clientul și serverul schimbă certificatele (care depind de cheia publică selectată);
serverul poate solicita un certificat de la client, astfel încât conexiunea să poată fi în mod reciproc autentificată;
clientul și serverul negociază convorbirea secretă comună “master secret”. Este posibilă realizarea unui schimb de tipul Diffie-Hellman sau mai simplu criptând un secret cu o cheie publică acesta fiind decriptat cu o cheie privată peer. Toate celelalte chei sunt derivate din acest “master secret” (și clientul și serverul generează valori la întâmplare).
2.4.3 Protocolul L2TP
L2TP se comportă ca un protocol de nivel de legătură de date (nivelul 2 al modelului OSI) pentru traficul de rețea, tunelat între două capete peste o rețea existentă (de obicei Internetul). L2TP este de fapt un nivel de sesiune de protocol de nivelul 5 și folosește portul UDP înregistrat 1701. Tot pachetul L2TP, inclusiv informația utilă și headerul L2TP, se trimite printr-o datagramă UDP. Se obișnuiește transportul unor sesiuni PPP (Point-to-Point Protocol) în interiorul tunelului L2TP (Figura nr. 16).
L2TP nu asigură de unul singur confidențialitate sau autenticitate puternică. Deseori se utilizează IPsec pentru securizarea pachetelor L2TP, prin asigurarea confidențialității, autenticității și integrității. Combinația acestor protocoale se mai numește L2TP/Ipsec.
Figura nr. 16 – Scenariu L2TP
Cele două capete a unui tunel L2TP sunt: concentratorul de acces L2TP (LAC – L2TP Access Concentrator) și serverul de rețea L2TP (LNS – L2TP Network Server). LAC este inițiatorul tunelului, în timp ce LNS este serverul care așteaptă tunelurile noi. Odată ce s-a stabilit tunelul, traficul între puncte este bidirecțional. Prin tunelul L2TP se trimit protocoale de niveluri superioare. Prin această facilitate, pentru fiecare protocol de nivel superior, cum ar fi PPP, se stabilește o sesiune L2TP (sau apel). O sesiune poate fi inițiată de LAC sau LNS. L2TP izolează traficul pentru fiecare sesiune, deci este posibilă stabilirea mai multor rețele virtuale prin același tunel.
Pachetele utilizate într-un tunel L2TP se împart în pachete de control și pachete de date (Figura nr. 17 și Figura nr. 18). L2TP asigură integritatea pachetelor de control dar nu și a celor de date. Dacă se dorește, integritatea poate fi asigurată prin protocoalele utilizate în sesiunile tunelului L2TP.
Figura nr. 17 – Structura unui pachet L2TP conținând date de utilizator
Figura nr. 18 – Criptarea unui pachet L2TP cu IPSec ESP
2.4.4 L2TPv3
L2TPv3 este o versiune-proiect a L2TP propus ca alternativă la protocolul MPLS, pentru încapsularea traficului de comunicații multiprotocol de nivelul 2 (Figura nr. 19). La fel ca L2TP, L2TPv3 asigură un serviciu de „pseudo-fir”, dar adaptat la cerințele purtătorului.
Se poate spune că L2TPv3 este pentru MPLS ce este IP pentru ATM: o versiune simplificată a aceluiași concept, având majoritatea avantajelor la o fracțiune din efort (costul pierderii anumitor caracteristici tehnice, considerate mai puțin importante pe piață). În cazul L2TPv3, caracteristicile pierdute sunt cele de inginerie a traficului, considerate a fi importante în MPLS. Totuși nu există motive pentru care aceste caracteristici nu pot fi reintegrate în, sau peste L2TPv3, în produsele viitoare.
Figura nr. 19 – Tunel L2TPv3
2.4.5 MPLS
Comutarea Multiprotocol cu Etichete (Multi Protocol Label Switching) reprezintă o nouă arhitectură în care nodurile terminale adaugă o etichetă unui pachet IP care identifică drumul spre destinație, iar pachetele sunt direcționate pe baza etichetei, fără inspectarea header-ului inițial.
MPLS reprezintă ultimul pas făcut în evoluția tehnologiilor de comutare/rutare peste Internet, folosind o soluție ce integrează atât controlul rutării IP, cât și comutarea de la nivelul legăturii de date (nivelul 2 din modelul OSI). Mai mult, MPLS oferă bazele unor servicii de rutare avansate, rezolvând o serie de probleme:
se adresează problemelor privind scalabilitatea, legate de modelul IP-over-ATM, reducând complexitatea operațiilor din rețea;
facilitează apariția de noi posibilități de rutare, ce îmbunătățesc tehnicile de rutare IP existente;
oferă o soluție standardizată, ce are avantajul interoperabilității între diverși furnizori de produse și servicii.
Esența MPLS-ului este generarea unei etichete „label” scurte, de dimensiune fixă, care se comportă ca o reprezentare simplificată a header-ului pachetului IP. Este la fel cum codul poștal este o formă simplificată pentru adresa unei case, a unei străzi și a unui oraș în adresa poștală, folosind această etichetă pentru a lua o decizie în procesul de forward. Pachetele IP au un câmp în header-ul lor care conține adresa spre care pachetul este rutat. Procesul tradițional de rutare într-o rețea procesează această informație la fiecare router, într-o cale a pachetului prin rețea (rutare pas cu pas).
În MPLS, pachetele IP sunt încapsulate cu aceste etichete de către primul dispozitiv MPLS pe care-l întâlnesc de cum intră în rețea. Router-ul MPLS din margine (egde-router) analizează conținutul header-ului IP și selectează o etichetă potrivită cu care să încapsuleze pachetul.
Cel mai mare avantaj al MPLS-ului vine tocmai din faptul că în contrast cu rutarea IP convențională, această analiză poate să nu se bazeze numai pe adresa destinație care este purtată de header-ul IP, ci și pe alte elemente. La fiecare dintre nodurile ulterioare din rețea, eticheta MPLS (și nu header-ul IP) se folosește pentru a lua decizia de forwarding pentru un pachet. În final, pe parcurs ce pachetele MPLS etichetate părăsesc rețeaua, un alt edge router elimină etichetele.
În terminologia MPLS, nodurile sau router-ele care manipulează pachetele se numesc Label Switched Routers (LSR) – routere cu comutare de etichete. Derivarea acestor termeni este evidentă: router-ele MPLS forward-ează pachetele, luând decizii de comutare bazate pe eticheta MPLS. Aceasta ilustrează un alt concept cheie în MPLS. Router-ele IP convenționale conțin „tabele de rutare” care sunt interogate folosind un header IP dintr-un pachet pentru a decide cum să forward-eze acest pachet. Aceste tabele sunt construite de către protocoale de rutare IP (cum ar fi RIP, OSPF), care poartă informația IP destinație sub formă de adrese IP. În practică observăm că acest forwarding (inspectarea header-ului IP) și planurile de control (generarea tabelelor de rutare) sunt strâns cuplate. Întrucât forwarding-ul MPLS este bazat pe etichete, este posibilă separarea clară a planului de forward-are (bazat pe etichetă) de planul de control pentru protocolul de rutare. Prin separarea acestora două, fiecare poate să fie modificat independent. Cu o astfel de separare, nu mai avem nevoie să schimbăm mașina care face forwarding-ul, de exemplu, pentru a migra spre o nouă strategie de rutare în rețea (Figura nr. 20).
Figura nr. 20 – Nodurile MPLS
MPLS permite să avem decizii de forwarding bazate pe: Traffic Engineering, multicast, VPN, QoS, etc.
3.2 Modul de funcționare
VPN permite utilizatorilor să comunice printr-un tunel prin Internet sau o altă rețea publică în așa fel încât participanții la tunel să se bucure de aceeași securitate și posibilități puse la dispoziție numai în rețelele private.
Pentru a utiliza Internetul ca o rețea privată virtuală, de tip WAN (Wide Area Network), trebuie depășite două obstacole principale. Primul apare din cauza diversității de protocoale prin care comunică rețelele, cum ar fi IPX sau NetBEUI, în timp ce Internetul poate înțelege numai traficul de tip IP. Astfel, VPN-urile trebuie să găsească un mijloc prin care să transmită protocoale non-IP de la o rețea la alta. Când un dispozitiv VPN primește o instrucțiune de transmitere a unui pachet prin Internet, negociază o schemă de criptare cu un dispozitiv VPN similar din rețeaua destinație. Datele în format IPX/PPP sunt trecute în format IP pentru a putea fi transportate prin rețeaua mondială. Al doilea obstacol este datorat faptului că pachetele de date prin Internet sunt transportate în format text. În consecință, oricine poate vedea traficul poate să și citească datele conținute în pachete. Aceasta este cu adevărat o problemă în cazul firmelor care vor să comunice informații confidențiale și, în același timp, să folosească Internetul. Soluția la aceste probleme a permis apariția VPN și a fost denumită tunneling. În loc de pachete lansate într-un mediu care nu oferă protecție, datele sunt mai întâi criptate, apoi încapsulate în pachete de tip IP și trimise printr-un tunel virtual prin Internet.
Din perspectiva utilizatorului, VPN este o conexiune punct-la-punct între calculatorul propriu și serverul corporației (figura 3.2a)
Figura 3.2a Rețea Privată Virtuală – Echivalent logic
Confidențialitatea informației de firmă care circulă prin VPN este asigurată prin criptarea datelor. În trecut, rețelele private erau create folosind linii de comunicație închiriate între sedii. Pentru a extinde acest concept la Internet, unde traficul mai multor utilizatori trece prin aceeași conexiune, au fost propuse o serie de protocoale pentru a crea tuneluri. Tunelarea permite expeditorului să încapsuleze datele în pachete IP care ascund infrastructura de rutare și comutare a Internetului la ambele capete de comunicație. În același timp, aceste pachete încapsulate pot fi protejate împotriva citirii sau alterării prin diverse tehnici de criptare.
Tunelurile pot avea două feluri de puncte terminale, fie un calculator individual, fie o rețea LAN cu un gateway de securitate – poate fi un ruter sau un firewall. Orice combinație a acestor două tipuri de puncte terminale poate fi folosită la proiectarea unei rețele VPN.
În cazul tunelării LAN-to-LAN, gateway-ul de securitate al fiecărui punct terminal servește drept interfață între tunel și rețeaua privată LAN. În astfel de cazuri, utilizatorii fiecărui LAN pot folosi tunelul în mod transparent pentru a comunica unii cu alții.
Cazul tunelului client-to-LAN, este cel stabilit de regulă pentru utilizatorul mobil care dorește să se conecteze la rețeaua locală a firmei. Pentru a comunica cu rețeaua de firmă, clientul (utilizatorul mobil), inițiază crearea tunelului. Pentru aceasta, clientul rulează un software client special, care comunică cu gateway-ul de protecție al rețelei LAN.
3.3 Avantaje VPN
Mediul de afaceri este în continuă schimbare, multe companii îndreptându-și atenția spre piața globală. Aceste firme devin regionale, multinaționale și toate au nevoie stringentă de un lucru: o comunicație rapidă, fiabilă și sigură între sediul central, filiale, birouri și punctele de lucru, adică de o rețea WAN (de arie largă).
O rețea WAN tradițională presupune închirierea unor linii de comunicație, de la cele ISDN (128/256Kbps) la cele de fibră optică OC-3 (155 Mbps) care să acopere aria geografică necesară. O astfel de rețea are avantaje clare față de una publică, cum este Internetul, când vine vorba de fiabilitate, performanță și securitate. Dar deținerea unei rețele WAN cu linii închiriate este scumpă, proporțional cu aria geografică acoperită.
O dată cu creșterea popularității Internetului, companiile au început să își extindă propriile rețele. La început au apărut intraneturile, care sunt site-uri protejate prin parolă destinate angajaților companiei. Acum, multe firme și-au creat propriile VPN-uri pentru a veni în întâmpinarea cerințelor angajaților și oficiilor de la distanță.
Un VPN poate aduce multe beneficii companiei:
Reducerea costurilor-Rețelele private virtuale sunt mult mai ieftine decât rețelele private proprietare ale companiilor. Se reduc costurile de operare a rețelei (linii închiriate, echipamente, administratori rețea).
Integrare, simplitate-Se simplifică topologia rețelei companiei private. De asemenea, prin aceeași conexiune se pot integra mai multe aplicații: transfer de date, Voice over IP, Videoconferințe.
Mobilitate -Angajații mobili precum și partenerii de afaceri (distribuitori sau furnizori) se pot conecta la rețeaua companiei într-un mod sigur, indiferent de locul în care se află.
Securitate -Informațiile care circulă prin VPN sunt protejate prin diferite tehnologii de securitate (criptare, autentificare, IPSec).
Oportunități, comert electronic-Se pot implementa noi modele de business (business-to-business, business-to-consumer, electronic commerce) care pot aduce venituri suplimentare pentru companie.
Scalabilitate-Afacerea companiei crește, deci apare o nevoie permanentă de angajați mobili și conexiuni securizate cu partenerii strategici și distribuitorii.
3.5.2 Rețea virtuală privată administrată de furnizor (PPVPN)
Blocurile componente
Blocurile componente ale rețelei( figura 3.5.2a) depind de nivelul PPVPN-urilor ; acestea pot fi numai de nivel 2, numai de nivel 3, sau o combinație de nivel 2 și 3. Funcționalitatea MPLS estompează identitatea L2-L3.
Dispozitivele de la granița clientului, CE (Customer Edge Device) sunt dispozitive prezente fizic la locul unde îsi desfăsoară activitatea clientul și care permit accesul la serviciile PPVPN. În unele implementări, sunt considerate puncte de demarcație între responsabilitățile clientului și cele ale furnizorului de servicii, alteori pot fi configurate de către clienți.
Dispozitivul de la granița furnizorului, PE (Provider Edge Device) este un dispozitiv sau un set de dispozitive, la granița rețelei furnizorului, care oferă furnizorului o viziune asupra clientului. PE știe care sunt VPN-urile conectate, pentru care menține și informațiile de stare.
Dispozitivul furnizorului, P (Provider Device) se află în interiorul rețelei furnizorului (core network) și nu interfațează direct cu nici un client. Poate fi folosit, de exemplu, pentru a furniza dirijarea prin tuneluri operate de furnizorul de servicii, aparținând diverșilor clienți PPVPN. Acest dispozitiv este un element cheie la implementarea PPVPN, dar el nu cunoaște starea rețelei și nu menține informațiile de stare despre VPN. Sarcina sa principală este să permită furnizorului să se adapteze la oferta PPVPN, acționând ca un punct de agregare pentru mai multe PE-uri. Astfel, conexiunile P-la-P asigură o capacitate mare de transport, deseori prin legături optice între locațiile importante ale furnizorilor.
Figura 3.5.2a Modelul de referință PPVPN
3.6 Componente VPN. Metode de realizare a soluțiilor VPN
În funcție de tipul VPN-ului (cu acces de la distanță sau site-to-site), pentru a construi un VPN este nevoie de câteva componente:
software client pentru fiecare utilizator de la distanță;
hardware dedicat, precum un concentrator VPN sau un firewall PIX de securitate;
un server VPN dedicat serviciilor dial-up;
un NAS (server de acces la rețea) folosit de furnizorul de servicii pentru accesul VPN al utilizatorilor de la distanță;
un centru de administrare a politicilor din rețeaua VPN.
O soluție VPN bazată pe Internet este alcătuită din patru componente principale: Internet-ul, porțile de securitate (gateways), politicile de securitate ale server-ului și autoritățile de certificare.
Internet-ul furnizează mediul de transmitere. Porțile de securitate stau între rețeaua publică și rețeaua privată, împiedicând intruziunile neautorizate în rețeaua privată. Ele, deasemenea, dispun de capacități de tunelare și criptare a datelor înainte de a fi transmise în rețeaua publică. În general, o poartă de securitate se încadrează în una din următoarele categorii: routere, firewall, dispozitive dedicate VPN harware și software.
Sisteme VPN bazate pe routere
Pentru că router-ele trebuie să examineze și să proceseze fiecare pachet care părăsește rețeaua, pare normal ca în componența acestora să fie inclusă și funcția de criptare a pachetelor. Comercianții de routere dedicate VPN( figura 3.6a ), de obicei oferă două tipuri de produse: ori cu un suport software pentru criptare, ori cu un circuit adițional echipat cu un co-procesor care se ocupă strict de criptarea datelor. Acestea din urmă reprezintă cea mai bună soluție pentru situațiile în care sunt necesare fluxuri mari de date. Trebuie avut grijă la adăugarea de noi sarcini pentru router (criptarea), pentru că, dacă router-ul nu poate face față și „pică”, atunci întreg VPN-ul devine nefuncționabil.
Cisco 3660 Series Cisco 1710 Series Cisco 3620 Series
Figura 3.6a. Routere folosite la VPN
Din punct de vedere al performanțelor, soluția bazată pe routere este cea mai bună dar implică un consum foarte mare de resurse, atât din punct de vedere financiar cât și din punct de vedere al resurselor umane, fiind necesari specialiști în securitatea rețelelor pentru a configura și întreține astfel de echipamente. Este o soluție potrivită pentru companiile mari, care au nevoie de un volum foarte mare de trafic și de un grad sporit de securitate.
Figura 3.6b Soluție VPN bazată pe routere
Sisteme VPN bazate pe firewall
Mulți comercianți de firewall includ în produsele lor capacitatea de tunelare. Asemeni router-elor, firewall-urile trebuie să proceseze tot traficul IP. Din această cauză, nu reprezintă o soluție potrivită pentru tunelare în cadrul rețelor mari cu trafic foarte mare.
Combinația dintre tunelare, criptare și firewall reprezintă probabil soluția cea mai bună pentru companiile mici, cu volum mic de trafic. Ca și în cazul router-elor, dacă firewall-ul „pică”, întreg VPN-ul devine nefuncționabil.
Folosirea firewall-urilor pentru creearea de VPN reprezintă o soluție viabilă, îndeosebi pentru companiile de dimensiuni mici, ce transferă o cantitate relativ mică de date (de ordinul 1-2 MB pe rețeaua publică).
Soluția unui firewall cu VPN integrat(figura 3.6c) prezintă avantajul unei securități sporite (poarta de securitate a VPN-ului fiind protejată de filtrele aplicate de firewall) și, de asemenea, este mult mai ușor de întreținut, făcându-se practic management pentru amândouă componentele simultan.
Figura 3.6c. Firewall cu VPN integrat
Echipamente harware dedicate
O altă soluție VPN o reprezintă utilizarea de hardware special (figura 3.6d) proiectat să îndeplinească sarcinile de tunelare, criptare și autentificarea utilizatorilor. Aceste echipamente operează de obicei ca niște punți de criptare care sunt amplasate între router-ele rețelei și legătura WAN (legătura cu rețeaua publică). Deși aceste echipamente sunt proiectate pentru configurațiile LAN-to-LAN, unele dintre ele suportă și tunelare pentru cazul client-to-LAN.
Figura 3.6d Client hardware VPN
Integrând diverse funcții în cadrul aceluiași produs poate fi destul de atrăgător pentru o firmă care nu beneficiază de resursele necesare pentru a instala și întreține echipamente de rețea diferite. O simplă pornire a unui astfel de echipament este mult mai simplă decât instalarea unui software pe un firewall, configurarea unui router și instalarea unui server RADIUS.
Chiar dacă multe din aceste echipamente hardware(figura 3.6e) par că oferă cele mai bune performanțe pentru un VPN, tot trebuie decis câte funcții dorești să integrezi într-un singur echipament. Companiile mici, care nu dispun de personal specializat în securitatea rețelelor vor beneficia de aceste produse care integrează toate funcțiile unui VPN. Unele produse – cele mai scumpe – includ surse duble de alimentare și au caracteristici deosebite care asigură fiabilitatea funcționării.
Este greu de depășit performanța acestor echipamente în capacitatea lor de a susține un volum de trafic mare și un număr impresionant de tuneluri simultane, lucru esențial pentru companiile mari.
Figura 3.6e. Cisco VPN 3002 Hardware Client
Soluții software dedicate
Componente software VPN sunt deasemenea disponibile pentru creearea și întreținerea de tuneluri, fie între două porți de securitate, fie între un client și o poartă de securitate. Aceste sisteme sunt agreeate datorită costurilor reduse și sunt folosite pentru companiile mici, care nu au nevoie să procesese o cantitate prea mare de date. Aceste soluții pot rula pe servere existente, împărțind astfel resursele cu acestea. Reprezintă soluția cea mai potrivită pentru conexiunile de tipul client-to-LAN.
Practic, se instalează o aplicație software pe calculatorul clientului care stabilește conexiunea cu serverul VPN. Există multe firme producătoare de astfel de aplicații, Microsoft, integrând de altfel în ultimele sisteme de operare lansate soluții software de acest gen. Asfel, sistemul de operare Windows 2003 Server are încorporat un server VPN iar, din punct de vedere al clienților, sistemele de operare Windows 2000 Pro, respectiv Windows XP au încorporat un client VPN. Practic se poate realiza o aplicație VPN fără a mai instala alte produse software sau hardware, trebuind doar configurate cele existente.
Pe lângă porțile de securitate, o altă componentă importantă a unui VPN o reprezintă politica de securitate a server-ului. Acest server menține listele de control al accesului și alte informații legate de utilizatori. Porțile de securitate folosesc aceste informații pentru a determina care este traficul autorizat.
În cele din urmă, autoritatea de certificare este necesară pentru a verifica cheile partajate între locații și pentru a face verificări individuale pe baza certificatelor digitale. Companiile mari pot opta pentru a-și menține propria bază de date cu certificate digitale pe un server propriu, iar în cazul companiilor mici intervine o „terță” parte reprezentată de o autoritate de încredere.
3.7 Securitate VPN
3.7.1 Amenințări la adresa rețelelor publice
Cele mai vulnerabile situații ale pachetelor securizate și stabile identificate în rețele sunt:
pierderea caracterului privat al rețelei ,impostura, pierderea integrității datelor , refuzul serviciului.
VPN oferă soluții pentru înlăturarea amenințărilor de tipul celor menționate mai sus asigurând:
1. Pentru a păstra confidențialitate – Criptarea sau criptografierea datelor
2. Pentru a înlătura impostura – Autentificarea
3. Integritatea pachetelor
4. Satisfacția unui serviciu la un preț accesibil
În general orice intrus în rețea urmează procesul descris mai jos:
Supravegherea (din exterior) – Persoana rău intenționată accesează informații publice sau apare ca utilizator obișnuit. În acest stadiu este aproape imposibil să îi fie identificate intențiile. Între timp el poate accesa tabela DNS (Domain Name System) și identifică numele stațiilor de lucru, aflându-se aparent într-o căutare a unor date publice (ex. știri, comentarii despre companie etc).
Recunoașterea sau scanarea – Intrusul caută informații, dar încă nu produce nimic rău. De cele mai multe ori accesează site-urile companiei în căutarea scripturilor CGI (Common Gateway Interface), acestea fiind cel mai ușor de atacat.
Exploatarea sistemului-Intrusul încearcă să utilizeze posibilele deficiente în securitatea sistemelor utilizate. Astfel, el are câteva alternative: să transmită un volum mare de date și să se folosească de blocajul sistemului sau să speculeze conturile de autentificare neprotejate de parole sau cu parole ușor de identificat.
La atac – În acest stadiu, intrusul este deja în rețea fiind deghizat într-una dintre stațiile de lucru utilizate în rețea. Obiectivul principal al intrusului este de a șterge urmele, astfel ca la auditarea tranzacțiilor în rețea să nu fie identificat traseul de pătrundere. El trebuie să se asigure totuși că va putea reveni oricând va dori. Așa că intrusul poate instala utilitare proprii care să îi dea acces, înlocuind serviciile existente după sistemul calului Troian sau generând un cont de utilizator.
Bătălia finală – Intrusul sustrage date, utilizează resursele sistemului pentru alte atacuri viitoare sau mutilează datele paginii Web. Toate acestea afectează atât utilizatorii interni, cât și imaginea externă a companiei.
Pentru a înlătura aceste iminente atacuri, datele tranzitate prin rețelele VPN trebuie să fie criptate. Astfel nu vor putea fi accesate decât de cei autorizați, păstrându-se astfel confidențialitatea datelor.
3.7.2 Solutii VPN
O rețea VPN bine proiectată folosește câteva metode care mențin datele și conexiunea securizate: firewall-uri, criptarea, IPSec sau server AAA. Astăzi securitatea rețelei este în principal asigurată de firewall-uri, produse care pun o barieră software între resursele companiei (rețeaua privată) și Internet. Firewall-urile pot fi configurate să restricționeze numărul de porturi deschise, pot fi instruite care feluri de pachete să le lase să treacă și care nu, dar un firewall poate fi utilizat pentru a încheia sesiunile VPN(figura 3.7.2a).
Figura 3.7.2a. Firewall
CheckPoint Software Technologies și Raptor Systems sunt două dintre cele mai cunoscute firme care vând soft de firewall pentru servere Unix, situate în apropierea router-ului de rețea. Alte firme, ca Cisco Systems și Ascend Communications, vând produse de securitate la nivel de router.
Cel mai întâlnit dintre protocoalele VPN discutate anterior este IPSec – un „open-standard” de securitate folosit de cele mai mari firme, printre care se numără IBM, Sun sau BayNetworks – pentru stabilirea comunicațiilor directe private prin Internet.
Internet Protocol Security (IPSec)( Figura 3.7.2b) oferă caracteristici de securitate extinsă, precum și algoritmi de criptare mai buni, pe lângă mecanisme de autentificare. IPSec poate cripta date între diverse echipamente: router-router, firewall-router, PC-router, PC-server.
IPSec protejează datele în trei moduri, folosind tehnici criptografice:
Autentificare: Procesul prin care este verificată identitatea unui host (stație de lucru).
Verificarea integrității: Procesul prin care se semnalează orice modificări ale datelor survenite în procesul de transport prin Internet, între sursă și destinație.
Criptarea: Procesul de codificare a informației în tranzit prin rețea, pentru a asigura caracterul său privat.
Figura 3.7.2b Un Remote Access VPN cu Ipsec
Serverele AAA (de autentificare, autorizare și jurnalizare) sunt folosite pentru accesurile mult mai securizate dintr-un mediu VPN de accesul la distanță. Când vine o cerere de stabilire a unei sesiuni de la un client dial-up, serverul AAA verifică următoarele:
-cine sunteți (autentificare);
-ce permisiuni aveți (autorizare);
-ce anume de fapt faceți (jurnalizare).
Funcția de jurnalizare este utilă atunci când se urmărește ce anume face clientul, în scopul facturării.
O soluție completă pentru realizarea unei rețele VPN necesită îmbinarea a trei componente tehnologice critice: securitatea, controlul traficului și administrarea la nivelul organizației.
Securitatea
Tehnologiile importante care acoperă componența de securitate a unei rețele VPN sunt: controlul accesului pentru garantarea securității conexiunilor din rețea, criptarea, pentru protejarea confidențialității datelor, autentificarea, pentru a verifica identitatea utilizatorului, cât și integritatea datelor.
Controlul traficului
O a două componentă critică în implementarea unei rețele VPN este dată de controlul traficului, realizat pentru un scop simplu și clar: garantarea fiabilității, calității serviciilor și a unor performanțe optime în ceea ce privește ratele de transfer. Comunicațiile în Internet pot duce la apariția unor zone de congestie, impropii unor aplicații critice în domeniul afacerilor. Alternativa este dată de stabilirea unor priorități de rutare a traficului, astfel încât transferul datelor să fie realizat cu fiabilitate maximă.
Administrarea la nivelul organizației
Ultima componentă critică este dedicată garantării unei integrări complete a rețelei VPN în politica de securitate globală, unei administrări centralizate (fie de la o consolă locală, fie de la una la distanță) și unei scalabiltăți a soluției alese.
Deoarece în cazul rețelelor VPN nu există o rețetă unică, este necesară o combinație particulară a acestor trei componente, astfel încât rezultatul practic să întrunească criteriile de evaluare mai sus cros
3.7.3 Criptarea datelor
i Criptarea este o metodă de codare a datelor prin intermediul unei forme algoritmice într-o formă indescifrabilă înainte de transmiterea acestora de către stația de lucru sursă și decodate ulterior la destinație prin aplicarea algoritmului de criptare în sens invers.
Fără ca să existe un mecanism de criptare a datelor, acestea ar circula în clar pe canalele de comunicație publice ale Internetului. Aceste date ar putea fi citite și interceptate prin tehnici banale (analizor de protocol, instrumente de diagnoză în rețea, adeseori incluse în sistemele de operare în rețea). Sistemul care asigură prelucrarea consecventă a datelor în acest scop poartă denumirea de criptosistem, format din procesele de criptare/decriptare și de participanții la acesta – emițătorul și receptorul. În prezent există două tipuri de criptosisteme: cu cheie privată și cu cheie publică.
3.7.3.1 Criptosisteme cu cheie privată (simetrice)
Acest tip de sistem utilizează aceeași cheie secretă, atât pentru criptare cât și pentru decriptare. Cheia este de fapt un șir de biți, având o lungime fixă.
Schemele de criptare simerică sunt foarte rapide, algoritmii utilizați în prezent de producătorii VPN sunt RC-4 (RSA), DES (Data Encryption Standard), IDEA (Internațional Data Encryption Algorithm), triple-DES, FWZ-1 sau tehnologia de criptare Skipjack, propusă de guvernul Statelor Unite și implementată în cipul Clipper. Fiecare dintre acești algoritmi diferă prin lungimea cheii, care adesea este asimilată cu "puterea" de criptare a algoritmului. Această putere determină efortul de calcul necesar pentru descoperirea cheii. Cu cât o cheie este mai lungă cu atât algoritmul de criptare este mai "puternic".
Cu toate acestea, utilizarea doar a unui sistem cu cheie privată prezintă câteva dezavantaje. Din moment ce "cheia secretă" este folosită atât pentru criptare, cât și pentru decriptare, oricine deține această cheie poate intercepta datele care au fost sau nu criptate, punând sub semnul riscului comunicațiile desfășurate sub această cheie. Din această cauză, cheile trebuie livrate într-o manieră intrinsec protejată, cum ar fi transferul direct între persoane.
Confidențialitatea comunicațiilor se bazează pe integritatea cheii secrete, de aceea cheia trebuie înlocuită periodic. Printr-o înlocuire foarte frecventă, un anumit stil de criptare este expus publicului pentru o fereastră de timp cât mai mică. Această metodă de transmisie și înlocuire a cheilor este acceptabilă în cazul unui număr mic de chei. Odată cu creșterea numărului de chei, procesul devine mult mai complicat. De exemplu, pentru 100 de utilizatori în VPN, într-un criptosistem simetric, trebuie administrate 4950 de chei. În acest scenariu, componenta de setare și distribuție a cheilor pe perechi de parteneri de comunicații, luând în considerare și înlocuirea lor periodică, devine extraordinar de dificilă și consumatoare de timp.
3.7.3.2 Criptosisteme cu cheie publică (asimetrice)
Un astfel de sistem folosește o pereche de chei aflate într-o relație matematică: o cheie privată, menținută în secret în cadrul sistemului și o cheie publică, ce poate fi cunoscută de oricine. Astfel crearea și distribuția cheilor, prin cheia publică, poate fi realizată mult mai simplu față de cazul unui criptosistem cu cheie privată. Există două tipuri de criptosisteme utilizate în mod curent în cazul unor rețele VPN: Diffie-Hellman (DH) și Rivest Shamir Adlemen (RSA).
3.7.3.3 Diffie-Hellman
Unul dintre modurile prin care două sisteme care comunică pot cădea de acord asupra unei valori pentru cheia de criptare este sistemul cu cheie publică Diffie-Hellman. În acest sistem, combinația dintre cheia privată a utilizatorului1 și cheia publică a utilizatorului2 va genera același rezultat ca și combinația dintre cheia privată a utilizatorului2 și cheia publică a utilizatorului1. Această proprietate poate fi extinsă la orice combinație de două chei, astfel încât cheia publică a oricărui partener de comunicații poate fi distribuită liber, fără a pune în pericol securitatea criptositemului. Cele două părți, care schimbă propriile chei publice, sunt singurele care pot genera ceea ce se numește secretul comun (shared secret). Sistemul devine foarte sigur, fără ca o altă parte să poată crea sau cunoaște secretul comun.
Un criptosistem cu cheie publică poate fi folosit pentru sporirea unui sistem cu cheie privată, prin distribuirea unei chei secret comun celor două părți care doresc să stabilească o sesiune de comunicații privată. Primul pas este obținerea de către utilizatorul1 a cheii publice a utilizatorului2 și obținerea de către utilizatorul2 a cheii publice a utilizatorului1. În continuare utlilizatorul1 și utilizatorul2 calculează cheia secretului comun. În fine, ei pot utiliza secretul comun pentru criptarea și decriptarea tuturor transmisiilor de date dintre ei. Din acest punct de vedere, criptosisternul cu cheie publică Diffîe-Hellman este cunosct și sub numele de sistem cu distribuție de chei publice Diffie-Hellman.
Există însă o componentă a mecanismului de distribuție a cheii ce trebuie utilizat pentru a asigura proveniența cheilor. Dacă cei doi corespondenți, își obțin cheile publice reciproce printr-un canal de comunicație nesigur, cum ar fi Internetul, ei trebuie să fie siguri de proveniența cheilor. Ei nu își pot cere pur și simplu cheile publice, din cauza pericolului ca altcineva să supravegheze tocmai această sesiune de comunicații. O altă persoană poate să intercepteze cererea utilizatorului1 de a primii cheia publică a utilizatorului2 și să-și trimită propria cheie publică către ambii corespondenți. Dacă se întâmplă acest lucru, corespondenții vor avea un secret comun cu aceea persoană, care va devenii un virtual corespondent pentru fiecare dintre cei doi. Această situație este cunoscută sub numele de amenințarea "omului din mijloc'1 (Man în the Middle). O metodă de protecție împotriva acestei amenințări, ca și a altora, este utilizarea unei combinații între un criptosistem cu cheie publică cu RSA și un sistem de semnături digitale, astfel încât distribuția cheilor să fie realizată sigur și protejat.
3.7.3.4 Rivest Shamir Adleman (RSA)
Metoda RSA este aproape singura metodă "adevărată" de criptare cu cheie publică. Ea a fost publicată în anul 1977. S-a demonstrat însă recent că de fapt această metodă a fost inventată în anul 1973 de către Clifford Cocks. Algoritmul RSA se bazează pe următoarele fapte matematice:
Dacă se ridică un număr la o putere (d), modulo un număr N, numărul original poate fi recuperat prin ridicarea rezultatului la o altă putere (e) modulo același număr. Cunoscând numărul N utilizat ca și modul precum și prima putere folosită se poate determina cu ușurință care a fost cea de a doua putere folosită.
Criptosisternul cu cheie publică RSA poate fi folosit pentru două scopuri: criptare și semnături digitale. Orice informație criptată cu cheia privată RSA poate fi decriptată numai cu cheia publică RSA corespunzătoare. Dacă utilizatorul1 își folosește cheia privată RSA pentru criptarea unui mesaj, oricine deține cheia sa publică poate decripta acel mesaj. În această manieră, schema RSA (cunoscută mai bine sub numele de Semnătură Digitală RSA) poate fi aplicată pentru atingerea unor scopuri diferite, inclusiv transportul cheilor sau a materialului criptat.
Un atac împotriva metodei de criptare cu cheie publică RSA este așa numitul atac cu text în clar limitat. Dacă există un număr mic de mesaje care trebuiesc transmise, un atacator ar putea să le cripteze pe toate, cu diferite chei publice, folosind algoritmul RSA și să-l identifice pe cel transmis la un moment dat comparându-l cu toate textele cifrate pe care le-a obținut.
3.7.4 Semnături digitale și autentificări de date
Așa cum s-a văzut mai sus, un mesaj este introdus într-un algoritm matematic cunoscut sub numele de funcție hash (demixare) care mapează valori mai mari pe valori mai mici. Mărimea mesajului este micșorată, astfel încât să se asigure performanțele maxime la transmisia pe rețea – cu cât un mesaj este mai scurt, cu atât mai puține calcule sunt neceasare, deci și performanțele sunt mai mari.
Rezultatul funcției hash, cunoscut sub numele de message digest (sumar de mesaj) este apoi criptat cu cheia privată a emițătorului. Sumarul de mesaj astfel criptat formează semnătura digitală, care va fi atașată la mesajul original, ambele componente fiind apoi criptate și trimise destinatarului. Acesta poate autentifica mesajul după cum urmează. Mai întâi, prin folosirea aceleiași funcții de mixare de mai sus, stabilite de comun acord, se regenerează sumarul de mesaj. Semnătura digitală încorporată în mesaj este apoi decriptată cu cheia publică a expeditorului. În final, se compară cele două rezultate. Dacă și numai dacă cele două sumare coincid, se poate concluziona cu siguranță că:
– mesajul a fost transmis prin utilizarea cheii private corespondente;
– mesajul nu a fost alterat în decursul transferului.
Unele dintre funcțiile de mixare criptografice folosite în procesul de semnătură digitală sunt: MD4, MD5, SHA-1 și CBC- DES-MAC, între ele fiind diferențe de lungime a cheilor și de metodă de hash.
Am descris cum pot fi folosite funcțiile hash/de mixare pentru transportul cheilor. Ele pot fi utilizate și pentru a verifica dacă mesajul a fost recepționat în forma originală (integritatea datelor). Atunci când sunt folosite pentru controlul integrității datelor, funcțiile hash (ca și semnăturile digitale rezultate) sunt mult mai cunoscute sub numele de algoritmi de autentificare a datelor. Utilizarea unui sistem de semnături digitale pentru autentificarea datelor dovedește că:
– mesajul a fost transmis de o anumită persoană și nu a fost falsificat (autentificarea datelor);
– mesajul nu a fost modificat sau corupt (integritatea datelor).
Prin folosirea unei combinații între: schema de semnături digitale RSA, sistemul de distribuție a cheilor Diffie-Hellman și sistemul simetric de criptare cu cheie, se poate stabilii o sesiune criptată VPN care facilitează confidențialitatea datelor, autentificarea datelor și integritatea datelor. Odată cu stabilirea unei sesiuni criptate VPN, ea este protejată în fața unor forme diferite de atac, inclusiv a "omului din mijloc".
Securitatea unei rețele VPN nu se bazează numai pe algoritmi și chei de natură matematică, ci și pe un mecanism sigur de generare, distribuție și administrare a cheilor. Dacă aceste chei sunt compromise, atunci întreaga rețea poate fi compromisă. Entitatea responsabilă de generarea seturilor de chei private și publice pentru fiecare utilizator, ca și distribuire acestora, trebuie să aibă cel mai mare nivel de încredere. Asocierea perechilor de chei cu utilizatorii determină securitatea întregului sistem de chei. În acest scenariu, entitatea responsabilă este numită Certificate Authority (CA – Autoritatea de certificare), iar procesul de administrare a cheilor este realizat printr-un set de linii directoare stabilite global de industria de specific, cunoscut sub numele de Public Key Infrastructure (PKI – Infrastructura publică pentru chei). CA este de obicei o terță parte, a cărei responsabilitate unică sau set de produse se desfășoară în jurul componentelor PKI, cum ar fi generarea, distribuția, revocarea și depozitarea cheilor.
3.7.5 Autentificarea utilizatorilor și controlul accesului
Procedurile de autentificare sunt implementate la nivelul punctului de acces la rețeaua VPN. Prin acestea se stabilește identitatea persoanei care folosește "nodul VPN" și se elimină posibilitatea unui acces neautorizat în rețeaua unei organizații.
Cele mai cunoscute scheme de autentificare a utilizatorilor sunt: username/password (prin sistemul de operare), S/Key password (de unica folosință), schema de autentificare RADIUS și schema bazată pe token. Cea mai puternică și viabilă schemă de autentificare a utilizatorilor disponibilă în prezent pe piată este schema de autentificare cu doi factori (two-factor), care necesită două elemente pentru verificarea identității unui utilizator: un element fizic aflat in posesia acestuia (un token/jeton electronic) și un cod care este memorat (un PIN – Personal Identification Number). Unele soluții avansate au început să utilizeze mecanisme de identificare biometrice, cum ar fi amprentele digitale, vocale sau ale retinei. Cu toate acestea ele se află încă în partea de testare.
Pentru evaluarea unei soluții VPN, este importantă considerarea unei soluții care prezintă atât mecanisme de autentificare a datelor, cât și de autentificare a utilizatorilor. Furnizorii de soluții VPN care suportă doar unul din cele doua tipuri de mecanisme de autentificare se referă la autentificare în mod generic, fără a detalia tipul. O soluție VPN completă trebuie să suporte atât autentificarea datelor (procesul de semnătură digitală sau de integritate a datelor), cât și autentificarea utilizatorilor (procesul de verificare a identității ulilizatorilor VPN).
Controlul accesului
Odată ce a fost verificată identitatea persoanei, profilul de utilizator va determina exact care resurse și servicii pot sau nu să fie accesate in retea, fără a compromite securitatea rețelei.
Arhitectura pentru controlul accesului
Această arhitectură va afecta suportul existent și viitor al serviciilor, aplicațiilor și protocoalelor disponibile într-o soluție VPN.
Unele soluții de arhitectură, cum sunt cele bazate pe sistemele proxy, nu oferă o largă disponibilitate pentru aplicații și servicii, deoarece fiecare aplicație pretinde existența unui proxy dedicat. O soluție VPN completă va avea o arhitectură care suportă toate serviciile principale de pe Internet, încluzând browsere securizate și setul tradițional de aplicații Internet (e-mail, FTP, Telnet, etc.), întreaga familie TCP, protocoale neorientate pe conexiune (RPC), aplicațiile bazate pe UDP, ca și protocoalele definite de utilizator. În plus, arhitectura VPN ar trebui să suporte atât sisteme API (Application Program Interfaces) cunoscute, cât și standarde deschise, astfel terții producători de aplicații să poată să-și integreze produsele într-o soluție VPN.
3.8 VPN și NAT
Un translator de adresă de rețea (NAT – Network Address Translator) este un dispozitiv care se folosește de obicei pentru a furniza acces simultan rețelelor private la rețeaua publică, cum ar fi Internetul. Pentru că NAT nu lucrează cu protocoale care folosesc criptare, o soluție VPN care include un NAT poate să adauge un nivel suplimentar de complexitate unei desfășurări VPN.
NAT cu conexiune PPTP
Dacă un client VPN care folosește PPTP este în spatele unui NAT, NAT trebuie să includă un editor NAT care să poată să traducă traficul PPTP. De editorul NAT este nevoie pentru că datele tunelate PPTP au mai degrabă un header GRE decât unul TCP sau UDP. Editorul NAT folosește câmpul Call ID din antetul GRE pentru a identifica fluxul de date PPTP și a traduce adresele IP si Call ID-urile pentru pachetele PPTP transmise între o rețea privată și Internet.
Editorul NAT PPTP
Componenta de protocol de rutare NAT/Basic Firewall a serviciului de Rutare și Acces de la Distanță și funcția de divizare a conexiunii Internet din conexiunile de rețea, includ un editor NAT pentru traficul PPTP.
NAT cu conexiuni L2TP
Pentru a folosi conexiuni VPN bazate pe L2TP în spatele unui NAT, trebuie implementat IPSec NAT Traversal (NAT-T) la ambele capete a conexiunii VPN.
IPSec NAT-T
IPSec NAT-T abordează dificultatea utilizării VPN bazate pe IPSec printr-un NAT. Windows Server 2003 permite trecerea unei conexiuni L2TP/IPSec printr-un NAT. Această capacitate se bazează pe ultimele standarde IETF.
IPSec NAT-T permite punctelor IPSec să negocieze și să comunice când sunt în spatele unui NAT. Pentru a folosi IPSec NAT-T, atât clientul VPN cu acces de la distanță, cât și serverul VPN cu acces de la distanță, trebuie să suporte IPSec NAT-T. IPSec NAT-T este suportat de clientul VPN Windows Server 2003 Microsoft L2TP/IPSec și de actualizarea L2TP/IPSec NAT-T pentru Windows XP și 2000. În timpul procesului de negociere, punctele capabile L2TP/IPSec NAT-T determină automat dacă atât punctul inițiator IPSec (tipic un calculator-client) cât și punctul IPSec care răspunde, pot efectua L2TP/IPSec NAT-T. Suplimentar, punctele capabile L2TP/IPSec NAT-T determină dacă în calea lor sunt NAT-uri. Dacă sunt satisfăcute ambele condiții, punctele folosesc automat L2TP/IPSec NAT-T pentru a trimite trafic protejat IPSec.
4. Software-ul Hamachi pentru VPN
Hamachi este o soluție VPN (Virtual Private Network) la îndemâna oricui. De obicei, setarea unei rețele VPN este destul de complicată, trebuie setat routerul, firewallul și softwareul ce beneficiază de rețea. Dar cu ajutorul lui Hamachi, dezvoltat de Applied Networking Inc, oricine își poate seta o rețea “locală” privată pe internet.
Pentru a depăși obstacolele ce apar în setarea unei conexiune VPN perfectă, Hamachi folosește tehnologie peer-to-peer asemănătoare cu cea folosită pentru mesagerie instant (IM): există un server extern care creează un director cu toți clienții Hamachi. Acest server autentifică utilizatorii prin intermediul unor “chei”, chiar dacă clienții sunt localizați în spatele routerelor sau firewallurilor și creează o conexiune securizată între clienți.
Applied Networking precizează că odată ce serverul a stabilit conexiunea între clienții Hamachi, conexiunea securizată este numai între utilizatorii conectați, fără a exista trafic care să treacă prin serverele Hamachi. Totuși, serverele trimit semnale pentru a verifica dacă clienții mai sunt conectați sau nu.
Interfața lui Hamachi (figura 4.a)este foarte simplă, totodată ușor de folosit. Primă oară când se rulează programul se prezintă un scurt tutorial, dar care este cam inutil pentru că există doar trei butoane: butonul Power, cel care activează interfața Hamachi, butonul Network, folosit pentru crearea sau conectarea la rețele și butonul pentru setări, acestea din urmă fiind doar câteva.eg
Figura 4.a Interfața Hamachi
Atunci când instalăm Hamachi, acesta adaugă o interfață de rețea virtuală ce permite setarea parametrilor conexiunii separat de obișnuitele interfețe de rețea – cu fir sau fără fir. Această interfață instalată devine activă doar atunci când pornești Hamachi.
Când se dorește crearea unei rețele(figura 4.b), sau conectarea la o rețea deja existentă, se dă click pe butonul de rețea și se va cere numele rețelei și parola pentru aceasta. În momentul când conexiunea este stabilită, interfeței Hamachi îi este alocat un IP separat față de cele pe care deja le folosește clientul. De exemplu, rețeaua locală poate folosi IP-uri de genul 192.168.1.X, dar în rețeaua Hamachi se alocă un IP de forma 5.38.140.Y. Acest IP este accesibil doar în rețeaua Hamachi.3),
nouFig lansată.MPV
Figura 4.b Creare rețea
Conectarea altor computere la rețea este foarte ușoară. Tot ce trebuie făcut este să comunici utilizatorilor numele rețelei și parola pe care ai asociat-o.
Datorită faptului că majoritatea programelor firewall vor recunoaște adaptorul Hamachi ca și o rețea separată și vor bloca traficul, s-ar putea să fie nevoie să configurezi firewallul să permită traficul prin interfață Hamachi.PN wwwdffeWEW eregdftwew
În fereastra Hamachi ne vor apărea toți utilizatorii ce sunt membrii ai rețelei. Cei care sunt offline vor avea numele gri. Dacă dăm click dreapta pe membrii ai rețelei vom putea da ping, trimite mesaje, să vedem shareurile sau, dacă suntem “inițiatorul” rețelei, să deconectăm utilizatori și să le blocăm accesul. (Opew vedem shareurile sau, daca suntem “initiatorul” rețelei, sa deconectam utilizatori si sa le blocam accesul. (Opewetelei si parola pe care ai as
Figura 4.c Opțiuni Hamachi M
Figura 4.d Chat Hamachi stație care inițiază Figura 4.e Chat Hamachi stație apelată
Ragula Systems D Figura 4.f Browse stație 5.46.33.127 evelopment Company. Căutați Trademark Applications and
Open VPN
Generalitati
OpenVPN este un program VPN gratuit și open source, pentru crearea tunelelor criptate punct-cu-punct, între calculatoare-gazdă. A fost scris de James Zonan și publicat sub licența publică generală GNU (GPL – General Public License).
OpenVPN permite punctelor să se autentifice folosind chei secrete cunoscute anticipat, sau nume utilizator/parolă. Folosește extensiv librăria de criptare OpenSSL cât și protocolul SSLv3/TLSv1. Este disponibil pe Solaris, Linux, OpenBSD, FreeBSD, NetBSD, Mac OS X și Windows 2000/XP/Vista. Conține multe soluții de securitate și control. Nu este un VPN bazat pe Internet și nu este compatibil cu IPsec sau orice alt pachet VPN.
Tot pachetul constă într-un binar pentru conexiunile client și server, un fișier de conexiune opțional și unul sau mai multe fișiere-cheie în funcție de metoda de autentificare folosită.
OpenVPN folosește biblioteca OpenSSL pentru a furniza criptarea canalelor de date și control. Lasă OpenSSL-ului criptarea și autentificarea, permițând OpenVPN-ului să folosească toate cifrele disponibile în pachetul OpenSSL. De asemenea, poate folosi funcția de autentificare a pachetului HMAC, pentru a adăuga un nivel suplimentar de securitate conexiunii. Poate folosi și accelerarea hardware pentru îmbunătățirea performanțelor criptării.
OpenVPN are mai multe căi pentru autentificarea punctelor. Oferă autentificare cu chei secrete cunoscute apriori, bazată pe certificate și nume utilizator/parolă. Prima variantă este cea mai ușoară, cea bazată pe certificate fiind cea mai robustă și bogată în funcții. Nume utilizator/parolă este o funcție nouă (versiune 2.0) care poate fi folosit cu sau fără certificare de client (serverul are nevoie de certificat).
OpenVPN poate rula peste UDP (preferat și prestabilit) sau TCP. Multiplexează toate comunicațiile printr-un singur port TCP/UDP. Are capacitatea de a lucra prin majoritatea serverelor proxy (inclusiv HTTP) și este adecvat lucrului prin NAT și ieșirea prin firewall. Configurația de server are abilitatea de a “pasa” clientului anumite opțiuni de configurare de rețea. Acestea includ adrese IP, comenzi de rutare și câteva opțiuni de conectare. OpenVPN oferă prin driverul Universal TUN/TAP două tipuri de interfețe pentru rețelistică. Poate crea un tunel IP bazat pe nivelul 3 (TUN) sau un Ethernet TAP bazat pe nivelul 2 care poate purta orice tip de trafic Ethernet. Opțional, OpenVPN poate folosi biblioteca de compresie LZO pentru a comprima fluxul de trafic. Portul 1194 este portul oficial IANA pentru OpenVPN. Noile versiuni a programului au acest port prestabilit. O funcție în versiunea 2.0 permite unui proces să administreze mai multe tuneluri simultan, față de restricția originală a versiunii 1.x de “un tunel per proces”.
Folosirea protocoalelor de rețea comune (TCP și UDP) de către OpenVPN, o transformă într-o alternativă dorită IPsec-ului, în situațiile în care un ISP poate bloca anumite protocoale VPN pentru a forța utilizatorii să se aboneze la servicii cu prețuri mai ridicate, de “gradul business”.
OpenVPN oferă mai multe funcții interne de securitate. Are abilitatea de a renunța la privilegii de bază și de a preveni copierea datelor sensibile pe disc.
OpenVPN oferă support pentru smart card-uri prin tokenul criptografic bazat pe PKCS#11.
Rutare vs Punte de rețea
OpenVPN suportă 2 moduri diferite de interconectare a rețelelor: rutare și poartă
Rutare se referă la interconectarea de subrețele separate și independente. La recepția unui pachet un router din rețea examinează adresa ip destinație pentru a determina care din rețele interconectate ar trebui să primească pachetul, după care pachetul este livrat spre rețeaua destinație.
Poarta, în comparație cu rutare este mult mai simplu. Un bridge este o conexiune electrică între rețele separate fizic, care au aceeași clasă de IP-uri Exemple de echipamente care joacă rolul de bridge sunt hub-urile și switch-urile. Într-un hub pachetele care sosesc pe un port sunt comutate și trimise pe toate celelalte porturile. Un switch este mai inteligent, deoarece el poate să învețe adresele MAC atașate la porturile sale.
Alegerea modului de interconectare pentru OpenVpn
Cu toate că modul rutare este cel mai cunoscut și cel mai simplu de configurat, suferă de anumite limitări operaționale. Conexiunile bazate pe poartă sunt mai greu de configurat și nu sunt disponibile pe toate sistemele de operare, prin urmare nu sunt tipuri de conexiuni default. Însă când modul poartă este setat corect poate face orice,nu are limitări.
Modul Rutare în OpenVpn
Când placa de rețea este configurată pentru “Rutare”, acesteia i se atribuie o adresă IP în afară clasei de IP locale și se crează o subrețea virtuală separată pentru conectarea la calculatoarele legate prin VPN la distanță. Aceste calculatoare aflate la distanță primesc adrese Ip din aceeași clasă cu subreteaua nou creată,
Această subrețea virtuală trebuie să primească clasa diferită de IP-uri, față de cele din rețeaua locală, astfel încât computerele care rulează OpenVpn să știe când să direcționeze pachetele în rețeaua locală său spre subreteaua virtuală, prin gateway.
Fig 5.3a OpenVpn Rutare
OpenVPN în modul rutare crează o rețea privată, în care calculatoarele care fac parte din ea comunică prin tuneluri VPN. Aceasta este o soluție excelentă dacă utilizatorii la distanță doresc să comunice doar cu calculatoarele pe care rulează OpenVpn. , problema apare dacă doresc să acceseze computere din rețeaua locală pe care nu rulează OpenVpn.
Problema apare deoarece nici un computer din rețeaua locală nu știe despre această subrețea virtuală care a fost creată de OpenVpn. Practic OpenVpn este “gateway” pentru rețeaua virtuală, dar toate calculatoarele din rețeaua locală au definit deja un gateway pentru pachete cu destinație în altă rețea. Astfel dacă un utilizator trimite un pachet la un utilizator OpenVpn la distanță, mașina la distanță va observa că pachetul vine dintr-o rețea externă și va direcționa pachetele către gateway LAN decât la mașină OpenVpn [http://www.grc.com/vpn/routing.htm].
Tehnologia rețelelor a evoluat , astfel încât rețeaua locală să fie informată de subrețeaua virtuală creată de OpenVpn, astfele încât pachetele să se direcționeze la mașina OpenVpn și nu la gateway-ul rețelei locale. Acest proces este cunoscut ca “rute statice” care se vor implementa pe fiecare mașina locală, în mod manual. Însă majoritatea dispozitivelor nu au această tehincă de rutare avansată.
Configurațiile OpenVpn sunt folositoare dacă mașină care rulează server-ul OpenVpn este aceeași cu gateway-ul rețelei locale. Atunci toate calculatoarele din LAN vor trimit pachetele la gateway, iar Open Vpn le va trimite la utilizatorii la distanță
5.4 Modul Poartă în OpenVPN
O soluție superioară la “routing” este să setezi placă de rețea în configurație “bridging”. Cum se observă în figura de mai jos această configurație are ca efect plasarea utilizatorilor la distanță direct în rețeaua fizică locală.
Fig 5.4a OpenVpn Poartă
Utilizatorii la distanță primesc o adresă de IP care este în aceeași clasă cu adresele din rețeaua locală. Computerul care rulează serverul OpenVpn răspunde nu doar la adresa sa de IP dar și la celelalte calculatoare conectate la utilizatorii VPN. Utilizatorii la distanță practic pot să acceseze orice resursă din LAN-ul respectiv[http://www.grc.com/vpn/routing.htm].
Un alt beneficiu important este ca în Ethernet bridging se face broadcasting ,lăsând să treacă tot traficul, în schimb în routing se direcționează doar traficul adresat direct, nu se face broadcast. Routerul împarte o rețea în domenii de broadcast. În Windows "Network Neighborhood" depinde de broadcast pentru a permite calculatoarelor locale să se găsească în rețeaua locală. Acest lucru este important și funcționează perfect cu bridging, însă nu e disponibil pentru conexiuni routing. Problema în bridging este că nu e suportat de toate sistemele de operare. Windows XP este primul sistem de operare care suportă bridging .
)
Certificate de autentificare
Primul pas în stabilirea modalității de autentificare intru-un VPN este stabilirea infrastructurii de chei publice și private PKI(Public Key Infrastructure).
PKI conține:
Perechea (cheie publică, cheie privată) pentru server
Perechea (cheie publică, cheie privată) pentru fiecare client
Un certificat master (CA – Certificate Authority) folosit pentru a semna fiecare certificat al clientiilor
Se folosește certificare bidirecțională înainte stabilirii conexiunii și anume Clientul/Serverul verifică dacă certificatul celeilalte entități a fost semnat de certificatul master (CA).
Folosire certificatelor este o soluție simplă și eficientă din următoarele motive:
Serverul menține doar propriul certificat
Sunt acceptate conexiuni care furnizează certificate semnate cu un certificat master
Verificarea semnăturii se face numai cu cheia publică a CA deci cheia privată poate să fie păstrată pe alt host
Serverul poate restricționa accesul pe baza unor câmpuri din certificat.
Generarea certificatului master (CA) se face prin folosirea unor utilitare distribuite împreună cu OpenVPN – easy_rsa directory [Packt. Publishing. OpenVPN. Building.And. Integrating. Virtual. Private. Networks pagina 109]
Se introduc datele de identificare (fișierul vars): locația (țară, localitate), organizația și departamentul, adresă de mail și se apelează utilitarului build_ca.
Pentru generarea certificatului pentru server se folosește utilitarul: build-key-server
build-key-server <name_server>
Pentru generarea certificatului pentru client folosește utilitarul: build-key / build-key-pass
build-key / build-key-pass <name_client>
Este necesară introducerea unui câmp “Common Name” care este folosit pentru eventualele restricționări și trebuie să identifice în mod unic utilizatorul certificatului
După generarea certificatelor se generează parametrii Diffie-Hellman pentru schimbarea cheilor între cele două părți.
6. Aplicatie
Tunel între două calculatoare cu Win XP (OpenVPN client-server)
Dacă dorim să realizăm un tunel între două calculatoare pe care este instalat Microsot Windows XP situate în locații diferite și ambele au acces la internet putem să folosim OpenVPN ( http://www.openvpn.net ).
Unul dintre sisteme va fi configurat cu rol de server, celălalt cu rol de client. Primul lucru pe care trebuie să îl facem este să descărcăm OpenVPN-Windows Installer de la adresa http://openvpn.net/release/openvpn-2.0.9-install.exe și să îl instalăm pe cele două sisteme în directorul C:\Program Files\OpenVPN. Pentru server am folosit un calculator cu ip public 81.181.101.55, iar tunelul vpn are drept capăt de conexiune pe server ip-ul 10.8.0.1. Clientul este configurat pe un laptop și are drept capăt de conexiune pentru tunel vpn cu ip-ul 10.8.0.2.
Configurare server
Pe sistemul server mergem în Start -> Run , scriem CMD și dăm enter. În fereastra care se deschide tastăm:
cd C:\Program Files\OpenVPN\easy-rsa
copy vars.bat.sample vars.bat
Edităm apoi vars.bat cu comanda edit vars.bat și modificăm parametrii după nevoile noastre.
Să presupunem că avem în vars.bat următoarele:
@echo off
set HOME=%ProgramFiles%\OpenVPN\easy-rsa
set KEY_CONFIG=openssl.cnf
set KEY_DIR=keys
set KEY_SIZE=1024
set KEY_COUNTRY=RO
set KEY_PROVINCE=RO
set KEY_CITY=Timișoara
set KEY_ORG=Jurca Mihaela
set KEY_EMAIL=[anonimizat]
Copiem fișierul openssl.cnf.sample în openssl.cnf cu comanda:
copy openssl.cnf.sample openssl.cnf
Rulăm următoarele comenzi:
vars
clean-all
build-ca
Urmează generarea certificatului și a unei chei private pentru server:
build-key-server server
Generăm cartificatele și cheia pentru client:
build-key client
Este important ca Common Name pentru client să fie diferit de Common Name pentru server.
Generăm parametrii Diffie Hellman :
build-dh
În directorul C:\Program Files\OpenVPN\config facem un fișier server.ovpn în care scriem:
mode server
port 1194
proto udp
dev tun
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\server.key"
dh "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\dh1024.pem"
tls-server
ifconfig 10.8.0.1 10.8.0.2
ifconfig-pool 10.8.0.3 10.8.0.5 # IP range clients
ifconfig-pool-persist ipp.txt
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3
mute 20
Putem să pornim OpenVPN cu această configurație dacă dăm click dreaptă din explorer pe fișierul server.ovpn și alegem opțiunea Start OpenVPN on this config file sau îl putem porni ca și serviciu din Start -> Control Panel -> Administrativ Tools -> Serices -> OpenVPN Service unde dăm start sau putem seta pe Automatic la Startup Type pentru a fi pornit o dată cu sistemul de operare.
Configurare client
Pe sistemul client trebuie să mergem în directorul C:\Program Files\OpenVPN\easy-rsa și să creăm directorul keys în care copiem de pe server fișierele:
ca.crt
client.crt
client.key
În directorul C:\Program Files\OpenVPN\config facem un fișier client.ovpn în care scriem:
client
dev tun
proto udp
remote 81.181.101.55 1194 # ip server
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\ca.crt"
cert "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\client.crt"
key "C:\\Program Files\\OpenVPN\\easy-rsa\\keys\\client.key"
comp-lzo .
verb 3
Putem să pornim OpenVPN cu această configurație dacă dăm click dreaptă din explorer pe fișierul client.ovpn și alegem opțiunea Start OpenVPN on this config file sau îl putem porni ca și serviciu din Start -> Control Panel -> Administrativ Tools -> Serices -> OpenVPN Service unde dăm start sau putem seta pe Automatic la Startup Type pentru a fi pornit o dată cu sistemul de operare
Testare conexiune
După ce am pornit atât serverul cât și clientul ( fără a avea un mesaj de eroare ) putem să verificăm funcționalitatea tunelului creat. Astfel, pe server mergem în Start – Run și tastăm CMD. În fereastră deschisă introducem comanda:
Ipconfig
Vom obține mai multe informații printre care vom regăsi și cele din figura 6a
Figura 6a Ipconfig pe server
Pe sistemul configurat ca și client la comanda ipconfig obținem informațiile din figura 6b
Figura 6b Ipconfig client
Conexiunea între cele două sisteme o putem verifica cu utilitarul ping.
De pe sistemul configurat ca și server, care are ip-ul 10.8.0.1 vom da ping in 10.8.0.2 (client)( figura 6c)
Figura 6c Ping la client
De pe sistemul configurat ca și client, care are ip-ul 10.8.0.2 vom da ping in 10.8.0.1 (server)(figura 6d)
Figura 6d Ping la server
Pentru testarea conexiunii am partajat pe server câteva documente pe care o să le accesăm din client, cu ajutorul programului total commander(figura 6e si figura 6f).
Figura 6e Browse la server
Figura 6f Browse la server
7. Concluzii
VPN poate oferi câteva avantaje mari față de accesul de la distanță tradițional și liniile dedicate. Cu dinamismul organizațiilor din zilele noastre, utilizatorii de la distanță și birourile se pot schimba foarte rapid informații. În loc să investească în porturi RAS (Remote Access Services) și linii dedicate (de ex. ISDN sau circuite frame relay) scumpe, o companie poate să-și crească lățimea de bandă a conexiunii corporative la Internet și să suporte în mod dinamic servere și clienți VPN în funcție de nevoie. Deși nu este soluția ideală în fiecare caz, VPN permite firmelor să stabilească mai rapid și mai fluid un acces de la distanță când apare o nouă nevoie. Permite, de asemenea, folosirea mai bună a resurselor, din moment ce utilizatori au conexiuni diferite se pot conecta la momente diferite, împărțind mai degrabă aceași infrastructură, în loc să necesite infrastructuri separate. Și toate astea conduc la economisiri serioase de bani.
Cea mai importantă parte a unei soluții VPN este securitatea. Faptul că prin natura lor, prin VPN-uri se transmit date private prin rețele publice, ridică dubii cu privire la securitatea acestor date si impactul pierderii datelor. Atributele sunt: autentificare, criptare – confidențialitate, integritatea datelor), non-repudiere – acest serviciu ar oferi dovezi de nefalsificare, justifică faptul că o anumită acțiune a avut loc. Non repudierea originii înseamnă că datele au fost trimise si non repudierea primirii dovedeste că datele au fost recepționate.
Beneficiile serviciilor oferite prin VPN sunt:
-Convergența serviciilor voce, video, date se realizează cu costuri mici;
-Accesarea securizată de la distanță a resurselor companiei;
-Costuri predictibile și ușor de bugetat, independente de trafic;
-Posibilitatea de transfer any-to-any pentru aplicații de date-voce-video;
-Suport fiabil pentru integrarea LAN-urilor;
-Securitatea transmisiei datelor;
-Rată de transfer constantă, garantată tehnologic;
Pe lângă aceste beneficii, mai pot adăuga câteva din experiență proprie și anume de obicei furnizorii de internet filtrează porturile dedicate pentru file-sharing pe Windows ( 135, 139, 445) pentru a preveni propagarea de viermi. Deci nu se vor putea accesa fișierele de pe un anumit server din afara rețelei providerului, sau dintr-un alt oraș. Ca soluție se realizează vpn și astfel se asigură conexiunea directă cu serverul și controlul traficului permis.
Limitarile unui VPN
În ciuda popularității, VPN-urile nu sunt perfecte și există limitări, cum se întâmplă în cazul fiecărei tehnologii. Organizațiile trebuie să ia în considerare următoarele, la desfășurarea și folosirea unei rețele virtuale private, în operațuinile lor:
1. VPN necesită înțelegerea detaliată a problemelor de securitate de rețea și instalarea/configurarea atentă, pentru a asigura protecție suficientă într-o rețea publică cum este Internetul.
2. Fiabilitatea și performanța unui VPN bazat pe Internet nu este sub controlul direct al unei organizații. În schimb, soluția se bizuie pe un ISP și pe calitatea serviciilor lui.
3. De-a lungul timpului, produsele și soluțiile VPN ale diferiților furnizori nu au fost întotdeauna compatibile, datorită problemelor legate de standardele tehnologiilor VPN. Încercarea de a amesteca și potrivi echipamentele, ar putea cauza probleme tehnice, iar utilizarea echipamentelor unui singur furnizor ar putea să nu ofere o economisire mare de bani.
Specificațiile pentru rețeaua VPN au la bază principiul flexibilității maxime si realizarea cât mai rapidă. În acest scop se au în vedere implementarea a două soluții:
• soluție bazată pe circuite virtuale PPTP, ușor de pus în funcțiune și de utilizat, dar limitată la SO Windows si cu securitate mai redusă, dar acceptabilă,
• evoluția, în măsura posibilităților, către o soluție mult mai performantă bazată pe o „rețea virtuală OpenVPN”.
OpenVPN este o rețea privată virtuală (VPN) conformă protocolului de criptografie Secure Sockets Layer (SSL) care asigură comunicații sigure pe Internet, permite metode de autentificare flexibile ale clienților bazate pe certificate și permite politici de control a accesului utilizatorilor folosind reguli de firewall aplicate interfeței VPN virtuale. OpenVPN 2.0 extinde posibilitățile OpenVPN 1.0 oferind un mod scalabil client/server care permite mai multor clienți să se conecteze la un singur proces server OpenVPN printr-un singur port TCP sau UDP.
Consider că folosirea programului OpenVpn este foarte utilă și avantajoasă pentru construirea unei rețele virtuale private deoarece în primul rând este free și open source, nu e necesară folosirea unui dispozitiv Cisco care realizează aceeași funcție sau cumpărarea unui soft foarte scump. În plus se bazează pe protocolul de criptografie Secure Sockets Layer (SSL) care asigură securitate ridicată. Din punctul meu de vedere open source are un singur dezavantaj, într-un mediu bussiness trebuie să existe un administrator competent care să aibă cunoștiințe de configurare solide. În schimb la vpn-ul nativ din windows(server) sau alte dispozitive de bussines ( cisco) există suport tehnic, dar în schimb costă mult. Consider că o companie large bussiness nu va merge pe open source pentru că vrea suport asigurat.
Softul Hamachi, pe care l-am studiat în proiectul meu de diplomă este după părerea mea, un program util doar pentru începătorii care nu știu să își configureze și să își administreze singuri un VPN. Interfață lui Hamachi este foarte simplă, totodată ușor de folosit. Primă oară când se rulează programul se prezintă un scurt tutorial, dar care este cam inutil pentru că există doar trei butoane: butonul Power, cel care activează interfață Hamachi, butonul Network, folosit pentru crearea sau conectarea la rețele și butonul pentru setări, acestea din urmă fiind doar câteva. O rețea virtuală creată cu "Hamachi" este de dorit pentru fanii unor jocuri online, care sunt despărțiți de distanțe mari. Acest program îi ajută să creeze rețele LAN virtuale prin internet. Aceștia se pot bucura de multe facilități incluse în această nouă versiune oferită complet gratuit de autorul cu același nume. Acest soft prezintă și unele dezavantaje cum ar fi limitarea numărului de utilizatori într-o rețea la 16 si de asemena limitări legate de viteza server-ului.
VPN este o tehnologie emergentă care a străbătut un drum lung. De la începutul nesigur al rețelelor de telefonie publică, la un ajutor puternic de afaceri, care folosește Internetul ca poartă de ieșire. Tehnologia VPN încă se dezvoltă și asta este un mare avantaj pentru afaceri care au nevoie de tehnologie care să evolueze odată cu ele. Cu VPN, firmele pot să ofere angajaților beneficii alternative: angajații pot lucra de acasă, pot avea grijă de copii în timp ce sunt în continuare productivi și au acces oricând la informații legate de afacere. VPN va ajută ca posibilitatea extinderii serviciilor unei afaceri la distanțe lungi și chiar global, să devină o realitate.
Bibliografie
Charlie Scott, Paul Wolfe, Mike Erwin, Virtual Private Networks, Second Edition, January 1999
Eric Greenberg, Network Application Frameworks, Virtual Private Networks (VPNs), 1999
NETGEAR – VPN Concepts, Tips, and Techniques – TechNote, 2003
Andrew S. Tanenbaum ,Tanenbaum – Rețele de Calculatoare, 4th Ed. , Romanian, 2004
Markus Feilner, OpenVpn, April 2006
Juniper Networks, Inc. – VPN Decision Guide – White Paper, 2007
VPN Tutorial http://compnetworking.about.com/od/vpn/a/vpn_tutorial.htm
Hamachi http://en.wikipedia.org/wiki/Hamachi
Windows XP VPN Server Setup http://www.aeonity.com/frost/howto-windows-xp-vpn-server-setup
OpenVpn download http://openvpn.se/download.html
OpenVpn configurare http://www.informit.com/articles/article.aspx?p=605499&seqNum=2
OpenVpn configurare http://techgurulive.com/2008/08/19/how-to-install-openvpn/
"Routing" –versus– "Bridging" http://www.grc.com/vpn/routing.htm
Rețele virtuale private http://www.chip.ro/revista/iulie_2000/47/rețele_virtuale_private_-_ii/8247
VPN http://www.networkworld.ro/?page=node&id=15227
VPN pe Wikipedia http://en.wikipedia.org/wiki/Virtual_private_network
VPN la Universitatea Emory, Atlanta, GA – http://www.emory.edu/BUSINESS/et/P98/vpn/
Implement a free VPN with OpenVPN http://articles.techrepublic.com.com/5100-22_11 5687400.html
Anexa1-Abrevieri
Bibliografie
Charlie Scott, Paul Wolfe, Mike Erwin, Virtual Private Networks, Second Edition, January 1999
Eric Greenberg, Network Application Frameworks, Virtual Private Networks (VPNs), 1999
NETGEAR – VPN Concepts, Tips, and Techniques – TechNote, 2003
Andrew S. Tanenbaum ,Tanenbaum – Rețele de Calculatoare, 4th Ed. , Romanian, 2004
Markus Feilner, OpenVpn, April 2006
Juniper Networks, Inc. – VPN Decision Guide – White Paper, 2007
VPN Tutorial http://compnetworking.about.com/od/vpn/a/vpn_tutorial.htm
Hamachi http://en.wikipedia.org/wiki/Hamachi
Windows XP VPN Server Setup http://www.aeonity.com/frost/howto-windows-xp-vpn-server-setup
OpenVpn download http://openvpn.se/download.html
OpenVpn configurare http://www.informit.com/articles/article.aspx?p=605499&seqNum=2
OpenVpn configurare http://techgurulive.com/2008/08/19/how-to-install-openvpn/
"Routing" –versus– "Bridging" http://www.grc.com/vpn/routing.htm
Rețele virtuale private http://www.chip.ro/revista/iulie_2000/47/rețele_virtuale_private_-_ii/8247
VPN http://www.networkworld.ro/?page=node&id=15227
VPN pe Wikipedia http://en.wikipedia.org/wiki/Virtual_private_network
VPN la Universitatea Emory, Atlanta, GA – http://www.emory.edu/BUSINESS/et/P98/vpn/
Implement a free VPN with OpenVPN http://articles.techrepublic.com.com/5100-22_11 5687400.html
Anexa1-Abrevieri
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Criptarea Comunicatiilor Realizate Prin Retele Vpn (ID: 149684)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
