Securitatea In Vpn
CUPRINS
Introducere…….……………………………………………..…………..……..……….
CAPITOLUL I
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 .………………………………………..
CAPITOLUL II
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…………………………….…….……
CAPITOLUL III
SECURITATEA ÎN VPN
3.1 Amenințări la adresa securității rețelelor …….………….…….
3.2 Criptarea informațiilor ………………………………………….……………
3.2.1 Algoritmi cu chei simetrice (private) ……………………..
3.2.2 Algoritmi cu chei asimetrice (publice) …………………….
3.2.2.1 Algoritmul Diffie-Hellman ………………………………………….
3.2.2.2 Algoritmul Rivest Shamir Adleman (RSA) ……………………….
3.3 Controlul accesului și autentificarea utilizatorilor …………………….
CAPITOLUL III
STRATEGII DE IMPLEMENTARE A REȚELELOR VPN
4.1 Modalități de realizare a soluțiilor VPN ……………………………………..
4.1.1 Soluții VPN bazate pe routere …………………………………………..
4.1.2 Soluții VPN bazate pe echipamente hardware dedicate ………………….
4.1.3 Soluții VPN bazate pe firewall ……………………………………………
4.1.4 Soluții VPN bazate pe aplicații software dedicate ………………………..
4.2 Funcționarea rețelelor VPN ………………………………………………………
4.3 Rețele VPN administrate de furnizor …………………………………………….
4.4 Aplicația software OpenVPN …………………………………………………….
4.4.1 Rutare vs Poartă în OpenVPN …………………………………………….
4.4.1.1 Modul Rutare în OpenVpn ………………………………………..
4.4.1.2 Modul Poartă in OpenVpn …………………………………………
4.4.2 Certificate pentru autentificare în OpenVPN ……………………………..
3.3 Avantaje VPN……………………………….……………………………………14
6. Aplicație………………………………………………………………………………59
7. Concluzii ……………………………………………………………………………………………………..65
Bibliografie ……………………………………………………………………………………………………..68
Anexa1- Abrevieri……………………….…………………………………………69
1. Introducere
Dezvoltarea exponențială cunoscută de industria calculatoarelor a fost permanent însoțită de apariția și extinderea rețelelor. În ultimii ani realizările sunt extraordinare: dimensiunile calculatoarelor sunt tot mai mici și performanțe acestora tot mai mari, iar rețelele, după ani de căutări și experimentări, în care au fost dezvoltate diferite modele și standarde, în care s-au încercat diverse proiecte care au funcționat sau nu, se prezintă astăzi într-o formă tot mai avansată, evoluând de la clasicele conexiuni de cabluri la rețele wireless. De asemenea, în ziua de azi, majoritatea aplicațiilor informatice necesită conexiuni on-line și ca urmare, este necesară conectarea stațiilor de lucru pe care rulează acestea la o rețea de calculatoare.
Lucrarea de față tratează o tehnologie modernă utilizată în cadrul rețelelor de calculatoare și anume Rețelele Virtuale Private (Virtual Private Networks – VPN). Tehnologia VPN a apărut ca o soluție necesară pentru asigurarea confidențialității datelor vehiculate prin rețelele publice de comunicații, îndeosebi printr-un mediu precum Internet-ul. Conexiunile VPN furnizează posibilitatea interconectării unor locații aflate la distanță (sedii de firme, furnizori, clienți, utilizatori mobili, etc.) într-o rețea unică, virtuală, în care securitatea și confidențialitatea datelor este asigurată. Prin intermediul VPN-urilor, angajații aflați la distanță au acces direct la resursele disponibile numai în sediul companiei. În acest context, pentru utilizator este esențială simplitatea accesării (pe principiul: “Indiferent de distanță, trebuie ca resursele să-ți fie la fel de accesibile ca și cum ai fi în sediul firmei”) iar pentru furnizor dispunerea centralizată și administrarea ușoară a acestor resurse. De asemenea, prin intermediul rețelelor VPN, accesul utilizatorilor este permis diferențiat, în funcție de profilul prestabilit, pe principiul „need to know, need to share”.
Principala motivație pentru construirea unui VPN este reducerea costurilor legate de comunicații, deoarece este mult mai ieftin să se utilizeze o singură conexiune fizică, comună, pentru deservirea mai multor utilizatori din rețea decât să se realizeze legături separate pentru fiecare dintre aceștia, ca în cazul conexiunilor dial-up.
Ușurința în utilizare este un criteriu important în cazul utilizării accesului la distanță prin VPN. Erorilor de configurare a conexiunii VPN determină majoritatea problemelor de securitate, astfel încât, cu cât sistemul este mai ușor de administrat, cu atât șansele de a pierde ceva din vedere sunt mai mici. Având în vedere că angajații și clienții aflați la distanță sau în deplasări nu au acces la resursele tehnice necesare pentru a depista și rectifica cauzele unor eventuale disfuncționalități și nici cunoștințele necesare, simplitatea realizării conexiunii este critică pentru utilizator.
Scopul acestei lucrări este acela de a prezenta noțiunile teoretice care stau la baza realizări rețelelor virtuale private, și am pus accent pe mecanismele de securitate care guvernează aceste conexiuni precum și posibilitățile de implementare practică a acestora. În lucrare sunt prezentate, atât soluții care necesită cunoștințe avansate cât și soluții VPN pentru începători, care sunt la îndemâna oricui.
În partea practică a lucrării am prezentat modul de realizarea a unui tunel, între două computere, cu ajutorul programului OpenVPN și cum pot fi accesate/schimbate date între acestea utilizând conexiunea securizată. Am ales acest program deoarece este gratuit și open source, are multe opțiuni ce pot fi exploatate, permite realizarea unei tunelări robuste și flexibile și utilizează toate caracteristicile de autentificare și certificare a criptării oferite de bibliotecile OpenSSL pentru a securiza rețele IP.
Am optat pentru tema „Criptarea comunicațiilor realizate prin Rețele Virtuale Private” deoarece cunoștințele dobândite pe timpul celor doi ani de studiu, îndeosebi cele din domeniul criptării informațiilor, m-au determinat să mă gândesc la posibilitatea realizării unei rețele VPN, la locul meu de muncă, unde securizarea transmiterii informațiilor este esențială. În acest context cred că lucrarea de față poate fi un bun început pentru realizarea unei rețele VPN și renunțarea la serviciile costisitoare oferite de actualul furnizor.
CAPITOLUL I
GENERALITĂȚI PRIVIND REȚELELE DE CALCULATOARE
1.1 Arhitecturi de rețele
În termeni simpli o rețea reprezintă un ansamblu de oameni și obiecte conectate între ele. Privind în jurul nostru putem observa o multitudine de rețele (rețeaua sistemului nervos, rețeaua de autostrăzi, rețele de distribuție a energiei electrice etc). Rețelele de comunicații sunt proiectate și dezvoltate astfel încât două echipamente de calcul (calculatoare), localizate spațial diferit, să fie capabile să comunice între ele, indiferent de tipul acestora. Acest lucru este posibil prin intermediul unui limbaj comun, numit în literatura de specialitate “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 din punctul de vedere al sistemelor de operare ce pot fi utilizate le putem clasifica în rețele peer-to-peer și rețele bazate pe servere.
Rețelele peer-to-peer nu necesită existența unui server care să asigure serviciile în rețea, oricare dintre calculatoarele rețelei putând îndeplini și funcția de server. Administratorul 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 a cel puțin 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. Modelul OSI 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 de aproximativ 31038. 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:0000:0000:0000:0123:4567:89AB:CDEF
adică un total de 16 octeți. Unul sau mai multe grupuri de 16 zerouri în binar (4 zerouri în hexazecimal) pot fi înlocuite prin semnul „:”. Suplimentar, un zero de la începutul unui grup de 4 cifre hexa poate fi omis deoarece 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.28.16.1
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.
CAPITOLUL III
SECURITATE ÎN VPN
3.1 Amenințări la adresa securității rețelelor
Cele mai des întâlnite vulnerabilități alte pachetelor de date tranzitate prin intermediul rețelelor de comunicații sunt: pierderea caracterului privat al rețelei, impostura, pierderea integrității datelor și refuzul serviciului. Conexiunile VPN furnizează soluții pentru eliminarea sau reducerea acestor amenințări asigurând totodată:
criptarea informațiilor – secretul informației;
autentificarea – identificarea entităților;
integritatea datelor – evitarea modificării informației;
satisfacția unui serviciu la un preț accesibil.
În conformitate cu cele prezentate de Tom Thomas, indiferent de tipul de sistem pe care îl țintește atacatorul, în general, sunt utilizate următoarele etape:
recunoașterea și urmărirea – pe parcursul acestei faze a unui atac metodele întrebuințate nu sâcâie, sunt discrete și nu permit detectarea eforturilor făcute de atacator. Acesta dorește să determine tipul de rețea cu care are de-a face și personalul care asigură administrarea și securitatea rețelei. Intenția este să alcătuiască o hartă a rețelei, să descopere dispozitivele de routare și sistemele firewall și apoi să identifice sistemele cheie precum serverele de e-mail, serverele numelor de domenii, serverele de fișiere etc. Atacatorul mai dorește să știe de unde obține ținta accesul la Internet, pentru situația în care vrea să încerce să acceseze ținta prin furnizorul său de servicii (ISP);
scanarea – în acest moment atacatorul are o imagine bună despre echipamentele de rețea, sistemele lor de operare, cine sunt administratorii de rețea, ceva discuții transmise prin grupurile de știri, localizarea utilizatorilor și care este sistemul pentru prevenirea intruziunilor. Atacatorul este gata să treacă la identificarea serviciilor de ascultare și a porturilor deschise și mai știe că, de aici înainte, tot ceea ce face ar putea fi înregistrat. Atacatorul va determina, de asemenea, riscul acceptabil. Scanarea indică atacatorului ce porturi sunt deschise și ce servicii rulează;
elaborarea listelor – este o extragere a informațiilor de cont și a resurselor exportate valide. Diferența esențială față de tehnicile de scanare și urmărire anterioare este că elaborarea listelor implică conexiuni active la anumite sisteme cât și cereri directe de conectare la aceste sisteme;
obținerea accesului – atacatorul trebuie să obțină accesul la un sistem printr-o latură a acelui sistem. De obicei, există patru tipuri principale de exploatare, care reflectă diferite laturi ale unui sistem devenit țintă:
atacuri asupra sistemului de operare;
atacuri asupra aplicațiilor;
atacuri prin configurări eronate;
atacuri prin scripturi;
extinderea – în acest moment al intruziunii atacatorul are deja acces în sistem. Probabil că atacatorul a aflat/ghicit/sustras parola unui utilizator. Un utilizator obișnuit este foarte probabil să nu aibă privilegiile de care are nevoie atacatorul pentru scopul său așa că trebuie să înceapă să extindă nivelul său de privilegiu. Probabil va încerca una din următoarele metode:
poate rula codul de exploatare a vulnerabilităților împotriva sistemului, pentru a căpăta mai multe privilegii;
încearcă să identifice parolele folosind numeroasele instrumente disponibile gratuit pentru “spargerea” parolelor;
caută parole care nu sunt criptate;
evaluează încrederea care există între sistemul atacat și alte sisteme din rețea;
verifică dacă permisiunile fișierelor sau partajărilor sunt configurate corect.
După ce un atacator a obținut accesul de tip administrator el finalizează obiectivele atacului, începe să-și mascheze activitățile și, probabil, va lăsa o cale de a reveni în sistem.
acoperirea urmelor – după ce atacatorul a obținut un acces de titular la sistemul țintă el trebuie să ascundă acest lucru față de administratorul sistemului. Dacă atacatorul dorește să mențină accesul la sistem după ce a obținut accesul inițial el creează intrări secrete pentru un acces ulterior. Metodologia, instrumentele și tehnicile depind de sistem, dar intenția este de a crea conturi, de a programa activități de tip batch, de a infecta fișierele de pornire, de a permite servicii/software de control de la distanță sau de a înlocui aplicații și servicii legitime cu cai troieni. Există situații când atacatorul nu dorește să aibă o intrare secretă plasată în sistemul țintă. Într-o astfel de situație atacatorul știe ce dorește și nu este interesat de obținerea ulterioară a accesului la sistem, scopul său principal fiind să-și acopere urmele, astfel încât nimeni să nu știe vreodată ce s-a întâmplat.
Cea mai bună metodă pentru a înlătura acest gen de atac este criptarea datelor tranzitate prin rețelele VPN. În acest fel, chiar dacă se reușește accesul al mediul de transmisie sau la dispozitivul care stochează datele acestea nu vor putea fi accesate decât de cei autorizați, păstrându-se astfel confidențialitatea acestora.
Autentificarea utilizatorilor, controlul accesului, semnăturile digitale și autentificările sunt, de asemenea, alte metode eficiente care vin în sprijinul asigurării protecției și confidențialității datelor.
3.2 Criptarea informațiilor
Documentele electronice sunt probabil cele mai răspândite forme de transmitere a informației, prin care putem stoca pe termen lung cunoștințe, diagrame, schițe sau alte forme de reprezentare a informațiilor. Printre utilizatorii documentelor electronice se regăsesc atât persoane individuale, cât și companii comerciale sau organisme guvernamentale, fiecare dintre aceste categorii având cerințe specifice privind protejarea, stocarea si utilizarea informației conținute în documente.
O măsură de protecție a informației conținute într-un document o reprezintă criptarea, prin care conținutul documentului nu poate fi accesat decât în prezența unei parole. Protecția prin criptare se poate implementa în două moduri: prin criptarea substratului care conține informația sau prin criptarea conteiner-ului care conține informația.
Prima și cea mai simplă metodă de protecție a unui document o reprezintă criptarea substratului informațional purtător al documentului. Atunci când stocăm un document pe hard disk (fie pe discul local, fie în rețea), avem posibilitatea să criptăm fișierul respectiv, asigurându-ne în acest fel că nimeni altcineva nu are acces la acea informație.
Prin criptarea conteiner-ului informațional, efectiv se intervine asupra documentului în totalitatea lui. Această metodă protejează mai bine informația, deoarece face diferențierea clară între fișierul care conține documentul și informația conținută în acesta (și pe care ne dorim de fapt să o protejăm); astfel, dacă un fișier ce reprezintă un document Office protejat prin parolă este pierdut sau sustras, acesta nu va putea fi utilizat în lipsa unei parole adecvate.
Dar, pentru o mai bună înțelegere a aspectelor legate de criptarea informației, cred că este necesar să clarificăm câteva aspecte legate de atacurile criptografice.
O categorie aparte de atac asupra informațiilor stocate sau transmise o reprezintă atacurile criptografice, prin care se încearcă extragerea informațiilor din mesajele criptate.
Atacurile criptografice se aplică direct mesajelor cifrate în vederea obținerii informației originale în clar și/sau a cheilor de criptare și de decriptare. Știința care se ocupă cu studiul metodelor de obținere a înțelesului informațiilor criptate, fără a avea acces la informația secretă necesară în mod normal pentru aceasta estre criptanaliza iar criptanalistul este persoana care se ocupă cu criptanaliza mesajelor cu caracter secret. Scopul metodelor de criptanaliză este descoperirea mesajelor în clar (M) și/sau a cheii (K) din mesajul criptat (C).
Atacurile criptografice pot fi de mai multe tipuri:
brut (brute force), prin încercarea tuturor combinațiilor posibile fie de chei de criptare, fie de simboluri din text pentru deducerea textului în clar. Atacul devine ineficient atunci când lungimea cheii este suficient de mare, astfel numărul de încercări fiind foarte mare, depășindu-se capacitatea de procesare a celor mai performante sisteme de calcul ori durata de procesare criptanalitică fiind mai mare decât perioada de valabilitate a informațiilor transmise;
asupra textului criptat (cipher text attack) interceptat, prin analiza căruia se încearcă găsirea textului original sau a cheii de criptare;
asupra unui text în clar cunoscut (known plain-text attack), pentru care s-a aflat criptograma și pe baza căruia se face o extrapolare pentru deducerea altor porțiuni din mesaj;
asupra unor texte criptate alese (chosen cipher-text attack), pentru care se obțin criptogramele asociate unor texte folosind algoritmi de criptare cu chei publice și se urmărește aflarea cheilor de decriptare.
Ca principale metode de criptanaliză putem aminti metoda diferențială (are la bază perechi de texte criptate, obținute prin criptarea unei perechi de texte în clar și analiza diferențelor dintre acestea), metoda liniară (folosește texte în clar cunoscute și textele criptate asociate, încercând pe baza lor aproximarea liniară a cheii de criptare) și metoda combinată (aplică ambele procedee menționate anterior pentru spargerea cifrurilor).
Pentru protejarea împotriva atacurilor criptografice s-au creat algoritmi din ce în ce mai complecși, ca regulă generală, un algoritm fiind considerat sigur dacă cea mai puțin costisitoare metodă prin care poate fi atacat (ca timp de procesare, spațiu de memorie, preț) este atacul brut. La crearea acestor algoritmi se au în vedere următoarele:
asigurarea confidențialității, care are drept obiectiv împiedicarea înțelegerii mesajului criptat interceptat de către adversar;
asigurarea autenticității, care are ca obiectiv detectarea, de către receptor a mesajelor create sau modificate de un adversar activ;
asigurarea non-repudiabilității mesajelor, adică emitentul să nu poată nega faptul că a transmis un anumit mesaj, iar receptorul să nu poată crea mesaje care să pară autentice;
verificarea prospețimii are ca obiectiv detectarea, de către receptor, a eventualelor copii ale unui mesaj (autentic) mai vechi. Este posibil ca un adversar să intercepteze, de exemplu, un ordin de transfer de bani în favoarea sa și apoi să transmită băncii multiple copii ale ordinului respectiv iar fără a verifica prospețimea, banca va efectua de mai multe ori transferul de bani. Doar verificarea autenticității mesajelor nu ar rezolva problema deoarece fiecare copie este identică cu originalul, deci este autentică.
autentificarea entităților, care are drept obiectiv verificarea, de către o entitate, a identității entității cu care comunică.
stabilirea cheii are ca obiectiv obținerea, de către partenerii de comunicație legitimi, a unui șir de biți, numit cheie, ce urmează a fi utilizată la asigurarea confidențiialității și la verificarea autenticității mesajelor. Cheia obținută trebuie să fie cunoscută doar de către partenerii care doresc să comunice. Autentificarea nu are sens decât dacă se realizează și verificarea integrității mesajului.
Când se transmite un mesaj, pentru asigurarea confidențialității, acesta este criptat cu ajutorul unui algoritm, generându-se text cifrat (engl. ciphertext). Receptorul autorizat trebuie să poată recupera textul clar aplicând un algoritm asupra textului cifrat. Adversarul, care dispune de textul cifrat dar nu cunoaște anumite detalii ale algoritmului aplicat de emițător, trebuie să nu fie capabil să reconstituie textul clar. Operația prin care emițătorul transformă textul clar în text cifrat se numește criptare sau, uneori, cifrare (engl. encryption). Operația prin care receptorul obține textul clar din textul cifrat se numește decriptare sau descifrare (engl. decryption).
Criptarea este o metodă de codare a informațiilor 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).
Există mai multe criterii după care se pot clasifica algoritmii de criptare. Cel mai important criteriu este după felul în care se folosește cheia la criptarea, respectiv decriptarea mesajului. Algoritmii se împart în două mari clase: cu chei simetrice (sau chei private) și cu chei asimetrice (sau chei publice).
3.2.1 Algoritmi cu chei simetrice (private)
Algoritmii de criptare cu chei simetrice au proprietatea că folosesc aceeași cheie atât pentru criptarea textului clar, cât și pentru decriptare textului codificat. Din acest motiv este folosit termenul de simetric. Cheile pot fi identice, sau una din ele să poată fi obținută din cealaltă folosind transformări simple. Cheile reprezintă de fapt un secret care este partajat doar de părțile implicate și care permite schimbul ulterior de mesaje în mod secret între acestea.
Dintre algoritmii simetrici cei mai cunoscuți și utilizați în practică amintim:
Data Encryption Standard (DES) – se bazează pe un algoritm simetric care lucrează cu blocuri de lungime 64 de biți iar lungimea cheii este de 56 biți. A fost utilizat pe scară destul de largă, fiind susținut ca standard de către guvernul Statelor Unite ale Americii. În prezent este nesigur datorită lungimii mici a cheii (a fost deja spart prin forță brută). În ianuarie 1999, distributed.net și Electronic Frontier Foundation au colaborat pentru a sparge public o cheie DES în 22 de ore și 15 minute. Există, de asemenea, unele rezultate analitice care demonstrează slăbiciunile teoretice ale cifrului, deși ele sunt imposibil de montat în practică;
Triple DES (3DES) – constă în aplicarea de 3 ori succesiv a cifrului DES, cu 2 sau 3 chei distincte. A fost proiectat pentru a oferi o metodă relativ simplă de a crește dimensiunea cheii pentru DES, fără proiectarea unui sistem complet nou. Lucrează cu blocuri de lungime 64 de biți iar lungimea cheii este de 112 sau 168 biți. Este imposibilă spargerea acestuia prin forță brută;
Advanced Encryption Standard (AES) – se bazează pe un algoritm simetric care lucrează cu blocuri de 128 biți iar lungimea cheii este de 128, 192 sau 256 biți. A fost proiectat de doi belgieni, Joan Daemen și Vincent Rijmen și publicat sub numele Rijndael. În urma unui concurs, a fost desemnat ca nou standard utilizat de guvernul american;
CAST 128 – Creat de Carlisle Adams și Stafiord Tavares în 1996, lucrează cu blocuri de 64 biți iar lungimea cheii este cuprinsă între 40 și 128 biți;
Blowfish – se bazează pe un algoritm simetric care lucrează cu blocuri de 64 biți iar lungimea cheii este de până la 448 biți. Creat de Bruce Schneier în 1993, a fost conceput ca un algoritm de uz general, ca o alternativă la DES. Algoritmul este public și poate fi utilizat în mod liber de oricine;
Twofish – se bazează pe un algoritm simetric care lucrează cu blocuri de 128 biți iar lungimea cheii este de până la 256 biți. Creat de Bruce Schneier, Kelsey John, Doug Whiting, David Wagner, Chris Hall, și Niels Ferguson, a fost unul dintre cei cinci finalisti ai concursului Advanced Encryption Standard, dar nu a fost selectat pentru standardizare. Pe majoritatea platformelor software Twofish este ușor mai lent decât Rijndael (algoritmul ales pentru Advanced Encryption Standard) pentru chei de 128 biți, dar oarecum mai rapid pentru 256 de biți;
Serpent – lucrează cu blocuri de 128 biți iar lungimea cheii este de 128, 192 sau 256 biți. A fost creat de Ross Anderson, Eli Biham și Lars Knudsen și a candidat pentru AES;
RC6 – se bazează pe un algoritm simetric care lucrează cu blocuri de 128 biți iar lungimea cheii este de 128, 192 sau 256 biți. A fost proiectat de Ron Rivest, Robshaw Matt, Sidney Ray și Yiqun Yin Lisa și a candidat pentru AES, fiind unul dintre cei cinci finaliști. A fost patentat de RSA Security;
RC4 – este cel mai utilizat cifru flux. Este utilizat în protocoalele populare, cum ar fi Secure Sockets Layer (SSL) (pentru a proteja traficul Internet) și WEP (pentru a asigura rețelele wireless). Cheia are lungimea de până la 256 biți. A fost creat de Ronald Rivest în 1987. Este foarte rapid dar are câteva slăbiciuni, care pot fi contracarate prin artificii legate de modul de utilizare;
IDEA – (Internațional Data Encryption Algorithm) folosește o cheie de 128 de biți și din acest motiv este mai rezistent la atacuri directe care încearcă să descifreze textul prin testarea fiecărei chei posibile;
Slipjack – algoritm nou, clasificat ca secret, a fost dezvoltat de Agenția Națională pentru Securitate a Statelor Unite și folosește o cheie de 80 de biți.
Algoritmii utilizați în prezent de producătorii VPN sunt RC-4 (RSA), DES, IDEA, triple-DES 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.
Criptografia cu chei simetrice prezintă diverse avantaje și dezavantaje:
Avantaje ale criptografiei cu chei simetrice:
permit gestionarea unor volume mari de date, cu viteză relativ bună, în special atunci când este vorba de implementări hard;
cheile folosite sunt relativ scurte;
pot fi folosiți ca primitive pentru a construi soluții criptografice incluzând generatoarele de numere pseudo-aleatoare și funcțiile hash;
se pot compune pentru a produce algoritmi mai puternici.
Dezavantajele criptografiei cu chei simetrice
într-o comunicație cheia trebuie să rămână secretă în ambele capete;
într-o rețea cu mulți utilizatori numărul cheilor care trebuie gestionate devine o problemă majoră;
pentru o comunicație între două părți, practica criptografică impune schimbul cheilor frecvent, uneori chiar la fiecare sesiune, ceea ce în condițiile unui canal nesigur de comunicație este o altă problemă.
3.2.2 Algoritmii cu chei asimetrice (publice)
Algoritmii de criptare cu chei asimetrice, sau cu chei publice, folosesc două chei diferite pentru criptare și decriptare, una din ele fiind secretă (privată) iar cealaltă publică. Deși cheile sunt diferite, există o legătură între ele din punct de vedere matematic. Una din chei este folosită pentru criptarea mesajului clar, iar cealaltă pentru decriptarea mesajului codat. Niciuna dintre aceste chei nu poate fi folosită doar ea atât pentru criptare cât și pentru decriptare. Cheia publică poate fi publicată fără nici un risc în a compromite securitatea, în timp ce cheia privată nu trebuie să o știe decât cei care au acces la informație. Algoritmii folosiți în criptarea asimetrică au la bază probleme matematice care nu au soluții eficiente (factorizarea numerelor întregi foarte mari, problema logaritmului discret, etc.).
Crearea și distribuția cheilor, prin cheia publică, poate fi realizată mult mai simplu față de cazul unui criptosistem cu cheie privată.
Criptografia cu chei asimetrice prezintă, de asemenea, avantaje și dezavantaj:
Avantajele criptografiei cu chei asimetrice:
dintre cele două chei folosite doar una trebuie ținută secret;
administrarea cheilor într-o rețea poate fi făcută cu un singur administrator “de încredere”;
în general perechile de chei publice/secrete pot fi folosite pe o perioada lungă de timp fără a fi schimbate;
într-o rețea de dimensiuni mari numărul de chei necesare este considerabil mai mic decât în cazul criptografiei simetrice.
Dezavantajele criptografiei cu chei asimetrice:
viteza algoritmilor (chiar și a celor mai performanți) este de câteva ori mai mică decât a celor cu chei simetrice;
dimensiunea cheilor folosite este mai mare (1024 pentru RSA în comparație cu 64 sau 128 în cazul algoritmilor de tip bloc);
nici un algoritm nu s-a demonstrat a fi “sigur”; securitatea lor se bazează pe prezumția de dificultate a unui set de probleme de teoria numerelor;
istoria criptografiei cu chei publice este relativ scurtă (din 1970) .
Există două tipuri de criptosisteme utilizate în mod curent în cazul unor rețele VPN: Diffie-Hellman (DH) și Rivest Shamir Adlemen (RSA).
3.2.2.1 Algoritmul 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 algoritm, combinația dintre cheia privată a utilizatorului A și cheia publică a utilizatorului B va genera același rezultat ca și combinația dintre cheia privată a utilizatorului B și cheia publică a utilizatorului A. Proprietatea 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 sistemului. Cele două părți, care schimbă cheile publice proprii sunt singurele care vor genera ceea ce se numește secretul comun. Sistemul devine extrem de 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 securității unui sistem cu cheie privată prin distribuirea unei chei secrete, comună celor două părți care doresc să stabilească o sesiune de comunicații privată. Primul pas este obținerea de către utilizatorul A a cheii publice a utilizatorului B și obținerea de către utilizatorul B a cheii publice a utilizatorului A. În continuare, utilizatorul A și utilizatorul B calculează cheia secretului comun. În cele din urmă 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 cunoscut ș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 utilizatorului A de a primii cheia publică a utilizatorului B ș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” (Man in 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.2.2.2 Algoritmul Rivest Shamir Adleman (RSA)
Cel mai popular algoritm cu chei publice în ziua de azi este RSA. Numele algoritmului provine de la inițialele inventatorilor Ron Rivest Adi Shamir și Leonard Adleman, și a rezistat la mai mult de 20 de ani de criptanaliză intensivă. Securitatea algoritmului se bazează pe dificultatea factorizării numerelor mari. Cheile private și publice sunt funcția a două numere mari prime
Algoritmul RSA este aproape singura metodă “adevărată” de criptare cu cheie publică și 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ă.
Algoritmul RSA constă în trei pași: generarea cheilor, criptarea și decriptarea. Pentru generarea cheilor se creează mai întîi o pereche de numere prime pentru care se calculează produsul lor. Acest produs, împreună cu un alt număr (exponentul de criptare) va reprezenta cheia publică. Cheia privată constă din același produs și un alt număr (exponentul de decriptare). Cele două numere prime nu vor mai fi folosite, dar ele trebuie păstrate secrete în continuare, deoarece pe baza lor se poate calcula exponentul de decriptare. Algoritmul este unul de criptare pe blocuri, fiecare bloc fiind criptat rând pe rând.
Cheile pentru algoritmul RSA se generează după cum urmează:
se aleg două numere prime p și q; din motive de securitate aceste numere trebuie să fie cât mai mari, să fie alese aleatoriu și să aibă aproximativ aceeași lungime;
se calculează produsul n al celor două numere prime, acest număr va fi ulterior componenta ambelor chei:
n = p x q;
se calculează indicatorul Euler (n) al lui n:
(n) = (p-1) x (q-1);
se alege un număr e, exponentul de criptare astfel încât:
1 < e < (n) și cmmdc(e, (n)) = 1 (adică e și (n) sunt coprime);
se calculează numărul d, exponentul de decriptare astfel încât:
e x d 1 mod (n)
echivalent cu:
d = e-11 mod (n)
cheia publică va fi perechea (n, e), cheia privată va fi perechea (n, d) iar numerele prime p, q vor fi păstrate secrete.
Rolul numerelor e și d, ca parte din cheia publică sau cea privată, poate fi interschimbat, ele fiind echivalente din punct de vedere matematic și este la alegere. În practică se folosesc valori mici pentru numărul e pentru ca viteza de criptare să fie sporită.
Pentru realizarea criptării mesajul este împărțit în blocuri, iar fiecare bloc este convertit într-un număr întreg m, unde m<n, folosind un algoritm reversibil cunoscut. Textul criptat c corespunzător fiecărui bloc va fi calculat astfel, folosind cheia de criptare – perechea (n, e):
c = me mod n.
pentru aflarea mesajului clar m din mesajul criptat c, se folosește cheia de decriptare – perechea (n, d):
m = cd mod n.
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ă utilizatorul A îș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.
3.3 Controlul accesului și autentificarea utilizatorilor
Controlul accesului este un termen folosit pentru a defini un set de tehnologii de securitate care sunt proiectate pentru restricționarea accesului. Aceasta presupune că numai persoanele care au permisiunea vor putea folosi calculatorul și vor avea acces la datele stocate. Termenul de control al accesului (acces control) definește un set de mecanisme de control implementate în sistemele de operare de către producători pentru restricționarea accesului.
Prin restrângerea accesului la informații și acordarea de drepturi numai către utilizatorii autorizați se poate realiza o protecție suficientă în multe cazuri. Asignarea drepturilor de acces este o capabilitate a oricărui sistem de operare, acesta controlând cine și ce informație accesează. Prin utilizarea unui sistem centralizat de autentificare (gen Active Directory – folosit de Microsoft Windows) și a grupurilor de utilizatori autorizați, se poate controla cu precizie cine poate utiliza o anumită informație.
Controlul accesului este o măsura puternică, flexibilă și ușor de implementat, însă are și un mare dezavantaj: nu protejează decât informația existentă în interiorul perimetrului; odată informația extrasă și copiată în afara perimetrului protejat, aceasta devine disponibilă oricui. Astfel, dacă un angajat copiază un document secret pe un memory stick, sau îl trimite prin e-mail, accesul la documentul respectiv nu mai poate fi controlat.
De aceea, următorul pas în protecția documentelor îl constituie instituirea de filtre de perimetru în punctele care conectează sistemul informatic cu lumea exterioara. Astfel, un firewall poate șterge atașamentele trimise pe e-mail, iar extensii la sistemul de management cu Active Directory pot interzice unui utilizator să copieze documente pe un memory stick care nu a fost autorizat în prealabil, toate aceste măsuri fiind instituite sub forma de „politici de securitate” și implementate administrativ. Odată ce a fost verificată identitatea persoanei, profilul de utilizator va determina exact care resurse și servicii pot fi accesate în rețea, fără a compromite securitatea rețelei.
Procedurile de autentificare pot fi implementate atât la nivelul aplicațiilor cât și la nivelul punctului de acces la rețeaua VPN. Prin aceste proceduri de autentificare se stabilește identitatea utilizatorului care folosește “portul VPN”" și se reduce posibilitatea unui acces neautorizat în rețea.
Cele mai cunoscute scheme de autentificare a utilizatorilor sunt:
utilizarea unei identități (username) și a unei parole (password);
utilizarea unei aplicații de tip S/Key password (de unica folosință);
aplicarea schemei de autentificare RADIUS;
utilizarea unui aplicații bazată pe token.
Una dintre cele mai bune și viabile scheme de autentificare a utilizatorilor, disponibilă în prezent pe piață, este schema de autentificare cu doi factori (two-factor), care necesită două elemente pentru verificarea identității unui utilizator: un element fizic aflat în posesia acestuia (un token/jeton electronic) și un cod care este memorat (un PIN – Personal Identification Number). Există și soluții avansate care utilizează mecanisme de identificare biometrice, cum ar fi amprentele digitale, vocale sau ale retinei.
Pentru asigurarea unei conexiuni VPN cât mai fiabile este importantă considerarea unei soluții care să prezinte atât mecanisme de autentificare a datelor (procesul de semnătură digitală sau de integritate a datelor) cât și de autentificare a utilizatorilor (procesul de verificare a identității ulilizatorilor VPN).
Pentru stabilirea unei sesiuni VPN criptată, care facilitează confidențialitatea, autentificarea și integritatea datelor se poate utiliza o combinație între sistemul de criptare cu chei simetrice, schema de semnături digitale RSA și sistemul de distribuție a cheilor Diffie-Hellman.
Securitatea unei rețele VPN este asigurată în egală măsură atât de algoritmii și cheile de natură matematică cât și de mecanismul de generare, distribuție și administrare a cheilor. În situația în care cheile sunt compromise, atunci întreaga rețea poate fi compromisă. Administratorul responsabil de generarea cheilor publice și private destinate fiecărui utilizator, precum și mecanismele de distribuire a acestora, trebuie să prezinte cel mai mare nivel de încredere. Asocierea utilizatorilor cu perechile de chei determină siguranța întregului sistem.
CAPITOLUL IV
STRATEGII DE IMPLEMENTARE A REȚELELOR VPN
4.1 Modalități de realizare a soluțiilor VPN
Strategiile de implementare a rețelelor VPN sunt extrem de variate deoarece majoritatea furnizorilor dispun de “o soluție VPN dedicată pentru dumneavoastră”. Unele soluții sunt ceea ce pretind că sunt însă altele ridică probleme mari în rândul comunității preocupate de securitate. Deoarece nu există un standard larg acceptat de implementare a rețelelor VPN, multe companii au dezvoltat soluții proprii, la cheie.
Pentru realizarea unei soluții VPN complete este necesară îmbinarea a trei componente tehnologice principale: securitatea, controlul traficului și administrarea.
Componenta de securitate asigură:
controlul accesului, în scopul garantării securității conexiunilor rețelei;
criptarea, pentru protejarea confidențialității datelor;
autentificarea, pentru a verifica identitatea utilizatorului și integritatea datelor.
Controlul traficului este realizat în scopul garantării fiabilității și calității serviciilor precum și pentru asigurarea unor performanțe optime în ceea ce privește ratele de transfer. Internetul, ca mediu de transmitere, poate prezenta uneori zone de congestie, care pot determina funcționarea defectuoasă a unor aplicații critice ale utilizatorilor. Stabilirea unor priorități de rutare a traficului, astfel încât transferul de date să se realizeze cu fiabilitate maximă poate fi o alternativă.
Administrarea asigură integrarea completă a rețelei VPN în politica de securitate globală, gestionarea centralizată a resurselor (fie de la o consolă locală, fie de la o stație de lucru distantă) și scalabiltatea soluției alese.
Funcție de tipul de rețea VPN-ului (locație la locație sau cu acces de la distanță), sunt necesare câteva componente, care pot fi utilizate în totalitate sau numai parțial, astfel:
hardware dedicat – routere sau echipamente special destinate;
software client pentru fiecare utilizator;
sistem firewall;
centru de administrare a politicilor din rețeaua VPN.
În general, soluțiile VPN bazate pe utilizarea Internet-ui sunt construite din patru mari părți principale: mediul de transmitere, porțile de securitate (gateways), politicile de securitate și autoritățile de certificare.
Mediul de transmitere este furnizat de Internet. Între rețeaua publică și rețeaua privată sunt dispuse porțile de securitate, care împiedică accesul neautorizat în rețeaua privată. De asemenea, acestea asigură tunelarea și criptarea datelor înainte de a fi trimise către rețeaua publică.
Uzual, rolul porții de securitate este asigurat de dispozitive hardware (routere, echipamente dedicate) sau software (firewall, aplicații software dedicate).
În afara porților de securitate, politica de securitate a server-ului este o altă componentă importantă a unui VPN. Server-ul este cel care menține listele de control al accesului și gestionează informațiile legate de utilizatori. Aceste informații sunt utilizate de porțile de securitate pentru a determina care este traficul autorizat.
Nu în cele din urmă, autoritatea de certificare este cea care verifică cheile partajate între locații și cea care face verificări individuale pe baza certificatelor digitale. Organizațiile mari optează, în general, pentru menținerea propriei baze de date cu certificatele digitale pe un server propriu, în timp ce organizațiile mici preferă utilizarea unei „terțe” părți, reprezentată de o autoritate de încredere.
4.1.1 Soluții VPN bazate pe routere
Tehnic vorbind, routerul este un calculator care selectează cel mai bun traseu și gestionează comutarea pachetelor între două rețele diferite. Având în vedere că router-ele examinează și procesează toate pachetele de date care părăsesc rețeaua, este normal ca din construcție acestea să dispună și de funcția de criptare a pachetelor. Furnizorii de routere dedicate soluțiilor VPN (ex.: CISCO) oferă, de obicei, două tipuri de produse: cu suport software pentru criptare sau cu un modul adițional, echipat cu un co-procesor, care se ocupă strict de criptarea datelor. Modelul echipat cu dispozitiv hardware dedicat criptării datelor asigură cea mai bună soluție pentru situațiile în care sunt necesare fluxuri mari de date.
Soluția bazată pe routere (Figura nr. 21) este cea mai bună, din punct de vedere al performanțelor, dar aceasta implică consum foarte mare de resurse, atât din punct de vedere financiar cât și din punct de vedere al resurselor umane. De altfel, toate soluțiile bazate pe echipamente hardware sunt mari consumatoare de resurse, fiind necesari specialiști atât pentru a asigura securitatea rețelelor cât și pentru a configura și întreține astfel de echipamente. Astfel de soluții sunt potrivite pentru organizațiile mari, care au nevoie de un grad sporit de securitate și de un volum foarte mare de trafic.
Figura nr. 21 – Soluție VPN bazată pe routere
4.1.2 Soluții VPN bazate pe echipamente hardware dedicate
O altă posibilă soluție de realizare a unei rețele VPN o reprezintă utilizarea de echipamente hardware dedicate (Figura nr. 22), special proiectate să îndeplinească sarcinile de criptare a datelor, autentificare a utilizatorilor și tunelare. Astfel de echipamente operează ca niște dispozitive de criptare care sunt amplasate între routerul de LAN și routerul de WAN al rețelei.
Integrarea diverselor funcții în cadrul aceluiași echipament poate fi destul de atrăgătoare pentru o organizație care nu dispune de resursele necesare pentru instalarea și întreținerea mai multor echipamente de rețea diferite. Simpla pornire a unui asemenea gen de echipament este mult mai facilă decât instalarea unei aplicații software sau a unui firewall, configurarea unui router și instalarea unui server.
Figura nr. 22 – Soluție VPN bazată pe echipamente hardware dedicate
Cu toate că multe din aceste echipamente hardware dedicate par să oferă cele mai bune performanțe pentru un realizarea unei soluții VPN, tot este necesar ca utilizatorul să decidă câte funcții dorește să integreze într-un singur echipament. Organizațiile mici, care nu dispun de personal specializat în securitatea și administrarea rețelelor pot beneficia de aceste gen de produse, care asigură toate funcțiile unui VPN. Unele dintre aceste produse sunt destul de fiabile și au caracteristici deosebite, asigurând o bună funcționare, dar în situația defectării unui astfel de echipament întreaga funcționalitate a soluției VPN este pierdută.
Performanța acestor echipamente, în ceea ce privește posibilitatea de a susține un volum mare de trafic mare și un număr ridicat de tuneluri simultane este greu de depășit, lucru esențial pentru organizațiile mari.
4.1.3 Soluții VPN bazate pe firewall
Furnizorii de soluții firewall includ în produsele lor posibilitatea de tunelare. Asemenea echipamentelor de routare, soluțiile firewall trebuie să proceseze întreg traficul IP, fapt ce face ca acestea să nu reprezinte o soluție optimă pentru tunelare, îndeosebi pentru rețelele mari și cu trafic foarte mare.
Această combinație – tunelare, criptare, firewall – probabil este soluția cea mai bună pentru organizațiile mici, cu un necesar scăzut de trafic. Ca și în cazul soluțiilor prezentate anterior, dacă firewall-ul „pică”, întreg VPN-ul devine nefuncțional.
Soluția oferită de un firewall cu VPN integrat (Figura nr. 23) prezintă avantajul unei securități crescute (poarta de securitate a VPN-ului este protejată de filtrele aplicate de firewall) și este ușor de întreținut deoarece managementul este asigurat pentru ambele componentele simultan.
Figura nr. 23 – Soluție VPN bazată pe firewall
4.1.4 Soluții VPN bazate pe aplicații software dedicate
Aplicațiile software dedicate realizării soluțiilor VPN sunt disponibile atât pentru crearea și întreținerea de tuneluri între porți diferite de securitate cât și pentru asigurarea tunelării între un client și o poartă de securitate. Aceste soluții sunt agreate îndeosebi de organizațiile mici, care nu au nevoie să proceseze mari cantități de date, datorită costurilor reduse. Astfel de soluții pot rula pe echipamentele existente (PC, server), împărțind resursele cu acestea și reprezintă o soluție potrivită pentru conexiunile de tipul client-to-LAN.
Pentru o astfel de soluție se instalează o aplicație software pe calculatorul utilizatorului, aceasta stabilind conexiunea cu serverul VPN. Există mulți producători de astfel de aplicații. De exemplu, Microsoft a integrat astfel de soluții software în sistemele de operare Windows 2000 Pro și Windows XP. Ușor de instalat și de operat, Cisco VPN Client stabilește tuneluri sigure, de tip end-to-end, criptate. Acest software, compatibil cu IPSec, poate fi preconfigurat pentru instalări comasate, iar deschiderile inițiale de sesiuni necesită o intervenție redusă a utilizatorului. Practic se poate implementa o soluție VPN fără a mai utiliza alte echipamente hardware sau instala alte aplicații software, fiind necesară doar configurarea celor existente.
4.2 Funcționarea rețelelor VPN
O conexiune/rețea VPN permite utilizatorilor să comunice printr-un tunel, utilizând ca mediu de transmitere Internet-ul sau o altă rețea publică, astfel încât utilizatorii să beneficieze de aceeași securitate și de aceleași posibilități oferite, în general, numai de rețelele private.
Utilizarea Internetului ca o rețea virtuală privată, de tip WAN (Wide Area Network), presupune depășirea a două obstacole principale. Primul obstacol este determinat de diversitatea protocoalelor utilizate în cadrul rețelelor (IP, IPX sau NetBEUI), în timp ce Internetul poate înțelege numai traficul de tip IP. În această situație VPN-urile trebuie să dispună de un mijloc prin care să transfere protocoalele non-IP de la o rețea la alta. Când un echipament VPN realizează transmiterea unui pachet prin Internet, negociază o schemă de criptare cu un alt echipament VPN similar, dispus în rețeaua destinație. Datele sunt transformate în format IP pentru a putea fi transmise prin rețea. Un al doilea obstacol se datorează faptului că pachetele de date transferate prin Internet sunt în format text, astfel încât oricine poate “vedea” traficul și chiar poate să “citească” datele conținute în pachete. Aceasta este o mare vulnerabilitate pentru organizațiile care doresc să transfere informații confidențiale prin intermediul Internetului.
O bună rezolvare a acestor probleme a fost determinată de apariția soluțiilor VPN. Prin intermediul acestora, pachetele de date lansate într-un mediu care nu oferă protecție sunt mai întâi criptate, apoi sunt încapsulate în pachete de tip IP și în cele din urmă sunt trimise printr-un tunel virtual prin Internet. La destinatar datele sunt decapsulate, decriptate și apoi sunt oferite utilizatorului final.
Din perspectiva utilizatorului rețeaua VPN este o conexiune punct-la-punct, între terminalul propriu și serverul organizației (Figura nr. 24).
Figura nr. 24 – Rețea Privată Virtuală – Echivalent logic
Confidențialitatea informației care sunt transferate prin intermediul rețelelor VPN este asigurată de criptarea datelor. În anii ’70 – ’80 rețelele private erau realizate prin utilizarea liniilor de comunicații directe, închiriate între sediile organizațiilor. În scopul extinderii acestui concept la nivelul Internetului, unde traficul trece prin aceleași conexiuni, au fost dezvoltate o serie de protocoale care permit crearea de tuneluri. Prin intermediul tunelării datele se pot încapsula în pachete IP, în acest fel infrastructura de rutare și comutare a Internetului fiind transparentă pentru ambele capete ale comunicației. În același timp, pachete astfel încapsulate pot fi protejate împotriva citirii sau alterării, prin diverse tehnici de criptare.
La capătul unui tunel se poate găsi fie un calculator personal, fie o rețea LAN cu un dispozitiv de securitate (router sau firewall), oricare dintre aceste combinații putând fi utilizată la proiectarea unei rețele VPN.
În situația tunelării LAN-to-LAN, dispozitivul de securitate al fiecărui terminal servește ca interfață între tunel și rețeaua privată LAN, utilizatorii fiecărui LAN putând folosi tunelul în mod transparent pentru a schimba informații.
Tunelul client-to-LAN este utilizat de obicei pentru asigurarea conexiunilor între terminalele mobile și rețeaua locală a unei organizații. În această situație utilizatorul mobil este cel care inițiază crearea tunelului, rulând o aplicație software specială, care stabilește conexiunea cu gateway-ul de protecție al rețelei LAN.
4.3 Rețele VPN administrate de furnizor
Elementele componente ale unei rețele VPN administrată de furnizor (Figura nr. 25) pot fi numai de nivel 2, numai de nivel 3, sau o combinație de nivel 2 și 3. Funcționalitatea MPLS (Multiprotocol Label Switching) estompează identitatea L2-L3.
Figura nr. 25 – Modelul de referință VPN administrat de furnizor
În cazul rețelelor VPN administrate de furnizor se diferențiază următoarele componente:
echipamentele de la granița clientului – CE (Customer Edge Device) – sunt echipamente dispuse fizic în locația în care clientul își desfășoară activitatea (aparțin clientului) și permit accesul la serviciile VPN. Aceste echipamente sunt considerate puncte de demarcație între responsabilitățile clientului și cele ale furnizorului de servicii și sunt configurate de către clienți;
echipamentele de la granița furnizorului – PE (Provider Edge Device) – sunt echipamente dispuse la granița rețelei furnizorului, sunt administrate de acesta și oferă furnizorului o viziune asupra clientului. Aceste echipamente cunosc care sunt VPN-urile conectate, pentru care menține și informațiile de stare.
echipamentele furnizorului – P (Provider Device) – sunt dispuse în interiorul rețelei furnizorului (core network), se află în administrarea acestuia și nu sunt conectate direct cu nici un client. Acest echipament este un element cheie în implementarea VPN-ului, nu cunoaște starea rețelei și nu menține informațiile de stare despre VPN, sarcina sa principală fiind aceea de conectare a mai multor PE-uri. În acest fel echipamentele P asigură o capacitate mare de transport între locațiile importante ale furnizorilor.
4.4 Aplicația software OpenVPN
OpenVPN este un program gratuit, oferit sub licență pentru utilizări non-comerciale, destinat pentru crearea tunelelor criptate punct-la-punct între calculatoare gazdă. Programul a fost dezvoltat de Francis Dinha și James Yonan, co-fondatori ai companiei OpenVPN Technologies, Inc..
OpenVPN permite utilizatorilor să se autentifice folosind chei secrete cunoscute sau modul de autentificare nume utilizator/parolă. Programul utilizează librăria de criptare OpenSSL și protocolul SSLv3/TLSv1. Acesta este disponibil pentru platformele Windows, MAC, Linux, Android, și iOS și conține multe soluții de securitate și control.
Pachetul conține aplicațiile necesare pentru conexiunile client și server, un fișier de conexiune opțional și mai multe fișiere-cheie, ce pot fi utilizate funcție de metoda de autentificare aleasă.
OpenVPN utilizează biblioteca OpenSSL în scopul criptării canalelor de comunicație și control. Pachetul lasă în sarcina OpenSSL-ului criptarea și autentificarea, permițând astfel OpenVPN-ului să utilizeze toate cifrele disponibile în pachetul OpenSSL. Open VPN poate utiliza funcția de autentificare a pachetului HMAC, pentru a adăuga un nivel suplimentar de securitate conexiunii, și de asemenea, poate folosi și accelerarea hardware pentru îmbunătățirea performanțelor criptării.
OpenVPN are mai multe posibilități de autentificarea a utilizatorilor. Varianta în care se utilizează chei de autentificare este mai ușoară, fiind bazată pe certificate de autentificare, fapt ce asigură o multitudine de funcții și robustețe aplicației. Varianta în care se utilizează nume de utilizator și parolă este o funcție introdusă începând cu versiune 2.0 a aplicației și poate fi utilizată cu sau fără certificare de client (totuși serverul are nevoie de certificat de autentificare).
În modul implicit OpenVPN rulează peste UDP (preferabil) sau poate utiliza TCP. Aplicația multiplexează toate comunicațiile printr-un singur port TCP/UDP, poate lucra prin majoritatea serverelor proxy (inclusiv HTTP) și este adecvată pentru lucru prin NAT și ieșire prin firewall. Prin configurarea serverului se pot transmite clientului anumite opțiuni de configurare de rețea. Acestea includ adresele IP, comenzile de rutare și opțiuni de conectare. Pachetul OpenVPN oferă, prin driverul Universal TUN/TAP, două tipuri de interfețe pentru conectare. Astfel poate crea fie un tunel IP bazat pe nivelul 3, fie o conexiune Ethernet bazată pe nivelul 2, prin care poate transfera orice tip de trafic Ethernet. Suplimentar, OpenVPN poate utiliza biblioteca de compresie LZO pentru comprimarea traficului. Portul 1194 este portul oficial IANA deschis pentru OpenVPN, versiunile mai noi ale programului având acest port prestabilit. Începând cu versiunea 2.0 aplicația permite unui proces să administreze mai multe tuneluri simultan, față de restricția originală a versiunii 1.x de “un tunel per proces”.
Utilizarea protocoalelor TCP și UDP de către aplicația OpenVPN, o face să fie o alternativă dezirabilă a IPsec-ului, în situațiile în care furnizorul de Internet blochează anumite protocoale VPN pentru a determina utilizatorii să acceseze servicii cu prețuri mai ridicate. De asemenea, OpenVPN oferă mai multe funcții interne de securitate, dispune de posibilitatea de a renunța la privilegii de bază, poate preveni copierea datelor sensibile pe disc și asigură suport pentru smart card-uri prin tokenul criptografic bazat pe PKCS#12.
Versiunea 2.3.7 a aplicației Open VPN este disponibilă începând cu data de 08.06.2015 .
4.4.1 Rutare vs Poartă în Open VPN
OpenVPN dispune de două moduri diferite de interconectare a rețelelor: rutare și poartă (punte).
Modul 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țelele interconectate ar trebui să primească pachetul, după care pachetul este livrat spre rețeaua destinație.
Modul poartă, î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.
Cu toate că modul rutare este cel mai cunoscut și cel mai simplu de configurat, acesta 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 oferi multe beneficii și nu are limitări.
4.4.1.1 Modul Rutare în OpenVPN
Când placa de rețea este configurată pentru “Rutare”, acesteia i se atribuie o adresă IP în afara clasei de IP locale și se creează 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 subrețeaua 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ă sau spre subrețeaua virtuală, prin gateway (Figura nr. 26).
Figura nr. 26 – Modul Rutare în OpenVPN
OpenVPN în modul rutare creează o rețea privată, în care calculatoarele care fac parte din ea comunică prin tuneluri VPN. Aceasta este o soluție excelentă dacă utilizatorii distanți 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 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 distantă va observa că pachetul vine dintr-o rețea externă și va direcționa pachetele către gateway LAN decât la mașina OpenVpn.
Configurația rutare a aplicației OpenVPN este folositoare dacă mașina care rulează server-ul OpenVPN este aceeași cu gateway-ul rețelei locale. Atunci toate calculatoarele din LAN vor trimite pachetele la gateway, iar Open VPN le va trimite la utilizatorii distanți.
4.4.1.2 Modul Poartă în OpenVPN
O soluție superioară la “routing” este să setarea plăcii de rețea în configurație “bridging”. După cum se observă în Figura nr. 27 această configurație are ca efect plasarea utilizatorilor distanți direct în rețeaua fizică locală.
Figura nr. 27 – Modul Poartă în OpenVPN
Utilizatorii distanți primesc o adresă 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 distanți practic pot să acceseze orice resursă din LAN-ul respectiv.
Un alt beneficiu important este ca în modul poartă se face broadcasting, lăsând să treacă tot traficul, în timp ce în modul rutare se direcționează doar traficul adresat direct și 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 poartă, însă nu e disponibil pentru conexiuni de tip rutare. Problema în modul poartă este că nu e suportat de toate sistemele de operare.
)
4.4.2 Certificate de autentificare în OpenVPN
Primul pas în stabilirea modalității de autentificare întru-un VPN este stabilirea infrastructurii de chei publice și private PKI (Public Key Infrastructure).
Un pachet PKI conține:
perechea de chei pentru server (cheie publică, cheie privată);
perechea de chei pentru fiecare client (cheie publică, cheie privată);
un certificat master folosit pentru a semna fiecare certificat al clienților (CA – Certificate Authority).
În Open VPN generarea certificatului master (CA) se face prin folosirea unor utilitare distribuite împreună cu aplicația easy_rsa directory.
Pentru configurarea aplicației 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.
Pentru generarea certificatului pentru client se folosește utilitarele build-key / build-key-pass.
După generarea certificatelor se generează parametrii Diffie-Hellman pentru schimbarea cheilor între cele două părți.
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.
evelopment Company. Căutați Trademark Applications and
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
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: Securitatea In Vpn (ID: 150415)
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.
