Strategii de Implementare a Retelelor 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 Generalități privind rețelele virtuale private (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.2.4 Comparație între tipurile de rețele VPN ………………………………
2.3 Tunelare……………………………………….…………………………………
2.4. Protocoale de tunelare………………….…………..
2.4.1 Protocoalele Ipsec……………………………..….……..…..
2.4.2 Protocolul PPTP ………………………………………………
2.4.3 Protocolul L2F ……………………………………………………
2.4.4 Protocolul L2TP…………………………………….…….
2.4.5 Protocolul SSL/TSL …………………….……………….………
2.4.6 Protocolul MPLS…………………………….…….……
2.5. Comparație a protocoalelor de tunelare ……………………………….
CAPITOLUL III
SECURITATEA ÎN VPN
3.1 Amenințări la adresa securității rețelelor …….………….…….
3.2 Algoritmi de criptare ………………………………………….……………
3.2.1 Algoritmi cu chei simetrice (private) ……………………..
3.2.2 Algoritmi cu chei asimetrice (publice) …………………….
3.3 Metode pentru controlul accesului și autentificarea utilizatorilor ………
3.3.1 Tehnici AAA
CAPITOLUL IV
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.2 Certificate de autentificare în OpenVPN ……………………………..
CAPITOLUL V
CONFIGURAREA UNEI CONEXIUNI VPN SECURIZATE UTILIZÂND OPENVPN ……………………………………………………………..
CONCLUZII ……………………………………………………………………………………………………..
BIBLIOGRAFIE ……………………………………………………………………………………………….
INTRODUCERE
Scopul acestei lucrări este acela de a prezenta noțiunile teoretice care stau la baza realizări rețelelor virtuale private, punând 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 „Politici de securitate în VPN” 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
O rețea, în general, reprezintă un ansamblu de oameni și obiecte conectate între ele. Î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ă privim rețelele din punct de vedere al locului de dispunere fizică a echipamentelor componente putem distinge următoarele topologii:
rețele LAN (Local Area Network) – toate echipamentele sunt situate în aceeași locație, situație în care toate elementele componente ale rețelei sunt conectate prin același mediu de transmitere (cablu, FO);
rețele MAN (Metropolitan Area Network) – termen mai puțin utilizat în ultima perioadă, care definește dispunerea echipamentelor într-o zonă geografică limitată, în general, la o localitate;
rețele WAN (Wide Area Network) – sunt acele rețele dispuse pe arii mari, formate din subrețele de tip LAN sau MAN, interconectate prin diferite medii de transmitere (FO, wirelles, WiMAX etc).
După cum preciza Tanebaum, mai multe rețele LAN, MAN și WAN interconectate între ele creează o așa numită inter-rețea sau Internet.
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ă 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 destinat standardizării comunicațiilor în realizate în cadrul rețelelor de calculatoare. Chiar dacă în practică există multe alte modele, majoritatea echipamentelor disponibile pe piață astăzi respectă standardul OSI.
Modelul OSI este numai un model de arhitectură de rețea, deoarece spune ceea ce trebuie să facă fiecare nivel și nu specifică serviciile și protocoalele utilizate de fiecare dintre acestea. Nivelele modelului OSI dispun de un set predeterminat de funcții pe care le îndeplinesc pentru a asigura comunicarea în bune condiții.
Chiar dacă pare și este destul de abstract, modelul OSI a fost dezvoltat ca un instrument foarte bun pentru a demonstra modul în care informațiile traversează o rețea. Acesta explică modul de circulație a datelor de la o aplicație, către mediul fizic de transmisie și apoi către o altă aplicație localizată pe un alte terminal din rețea, chiar dacă expeditorul și destinatarul fac parte din rețele diferite. Î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, prezentat în Figura nr. 1 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. 1 – Modelul OSI
La nivelul aplicație se implementează algoritmii software care convertesc mesajele în formatul acceptat de un anumit terminal de date real. Transmisia se realizează în formatul standard specific rețelei.
Nivelul de prezentare se ocupă de respectarea sintaxei și semanticei impuse de sistem, de codificarea datelor (compresie, criptare) și reprezentarea lor în formatul standard acceptat. Acest nivel supervizează comunicațiile în rețea cu imprimantele, monitoarele, precum și formatele în care se transferă fișierele.
Nivelul de sesiune furnizează diverse servicii între procesele-pereche din diferite noduri: transfer de fișiere, legături la distanță în sisteme cu acces multiplu, gestiunea permisiunii de a transmite date, sincronizarea sistemului etc. O sesiune începe doar dacă legătura între noduri este stabilită, deci este orientată pe conexiune. Nivelul sesiune este considerat ca fiind interfața dintre utilizator și rețea.
Nivelul de transport deplasează datele între aplicații. Acest nivel răspunde de siguranța transferului datelor de la sursă la destinație, controlul traficului, multiplexarea și demultiplexarea fluxurilor, stabilirea și anularea conexiunilor din rețea. La acest nivel mesajele de mari dimensiuni pot fi fragmentate în unități mai mici, pachete, cu lungime impusă, procesate și transmise independent unul de altul. La destinație, același nivel răspunde de refacerea corectă a mesajului prin ordonarea pachetelor indiferent de căile pe care au fost transmise și ordinea sosirii acestora.
Pe nivelul de rețea, se alege calea de expediere a pachetului, se realizează controlul traficului informațional din rețea și dintre rețele, se rezolvă congestiile, eventual se convertește formatul pachetului dintr-un protocol în altul. În unele LAN-uri, funcția nivelului de rețea se reduce la cea de stocare (buffering) și retransmisie a pachetelor. În WAN-uri, la acest nivel se realizează operația de tratare a pachetelor, adică stabilirea căilor optime de transmisie între noduri.
La nivelul legăturii de date circulă cadre de biți, adică pachete împachetate sau încapsulate, cu antet (H – header) și marcaj final (T – trail), care includ adresele sursei (SA – Source Address) și destinației (DA – Destination Address) pentru a se putea expedia datele între calculatoare. Suplimentar, în cadrul de date sunt incluse: un câmp de control al erorilor, unul responsabil de sincronizarea transmisiei, un câmp de protocol etc.
Nivelul legăturii de date este împărțit în două subnivele: LLC (Logical Littk Control) și MAC (Media Access Control) Aceste subnivele stabilesc modalitățile de acces la mediu în cazul canalelor de comunicație cu acces multiplu și realizează controlul traficului pentru a se evita efectele neadaptării ratelor de transmisie ale echipamentelor și posibilitatea saturării lor (flooding).
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 stratificat de protocoale TCP/IP este diferit de modelul OSI utilizând numai patru din cele șapte nivele, după cum se vede din Figura nr. 2.
Figura nr. 2 – Modelul TCP/IP
Spre deosebire de OSI, modelul TCP/IP are doar patru niveluri: aplicație, transport, rețea (sau Internet) și legătură (acces la rețea). Deși există două niveluri cu același nume ca la modelul OSI, acestea nu trebuie confundate deoarece fiecare nivel are funcții total diferite.
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.
Nivelul aplicație combină câteva servicii pe care OSI le separă în trei niveluri. Aceste servicii se referă la utilizatorul final: autentificare, manipularea datelor și compresie. Acesta este nivelul pe care clienții de e-mail, Telnet și browserele Web își stabilesc conexiunile.
Nivelul transport, contrar numelui său, nu este răspunzător cu garantarea livrării pachetelor de date. Principala responsabilitate este organizarea transferului dintre sursă și destinație. OSI este cel care garantează că pachetele sunt verificate și dacă nu se potrivesc sunt înlăturate și cerute din nou de la sursă.
Nivelul rețea se ocupă strict cu organizarea rutării pachetelor. Acest nivel este specializat în a determina unde trebuie trimise pachetele pe baza informațiilor pe care le primește.
Nivelul legăturii administrează conexiunea rețelei și oferă servicii de intrare/ieșire la nivel de pachet prin intermediul rețelei, dar nu la nivelul aplicație.
TCP/IP face posibilă comunicarea și lucrul în rețele eterogene, cu platforme diferite.
Încă din faza de proiectare, având în vedere cerințele pentru care a fost dezvoltat (scopurile Departamentului Apărării al SUA), stiva de protocoale TCP/IP beneficiază de o serie de caracteristici:
o bună redresare în caz de defecțiuni;
posibilitatea de adăugare de noi rețele fără întreruperea serviciilor existente;
tratarea unei rate înalte a erorilor;
independență față de platforma pe care rulează;
încărcare scăzută cu date adiționale.
1.4 Adresarea IP. IPv4 vs. IPv6
Fiecare calculator, server 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.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.
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.
Î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.
Adresele IP versiunea 4, care sunt șiruri de 32 de biți, se scriu ca șir de 4 numere, scrise în baza 10, separate prin puncte. Fiecare număr este de fapt valoarea câte unui grup de 8 biți, văzut ca număr. Această scriere se numește notație zecimală cu punct:
192.168.1.3
Dezvoltarea exponențială a rețelelor de calculatoare și în special a Internet-ului a evidențiat faptul că versiunea IPv4 are numeroase limitări și, cel mai grav, nu asigură numărul necesar de adrese pentru toți utilizatorii deoarece spațiul de adrese este pe cale să se epuizeze, fiind necesare diferite artificii pentru a permite accesul unor noi clienți. De asemenea, versiune IPv4 este destul de rigidă și nu satisface cerințele rețelelor integrate, îndeosebi solicitările tot mari de transfer de voce și imagini video în timp real.
Având în vedere aceste aspecte s-a trecut la dezvoltarea unei noi specificații de adresare IP care să îndeplinească următoarele obiective:
să suporte un număr mult mai mare de utilizatori (miliarde);
să reducă dimensiunile tabelelor de routare;
să ofere un protocol simplificat, astfel încât pachetele de date să fie procesate mult mai repede de către routere;
să ofere o securitate sporită (autentificare și confidențialitate) față de vechea versiune;
să permită aplicarea serviciilor de QoS (Quality of Services);
să ofere mobilitate sporită a utilizatorilor, fără să fie necesară schimbarea adresei;
să permită operarea cu diferitele tipuri de protocoale existente;
să poată fi utilizată în paralele cu actuala versiune IPv4.
După discuții și propuneri diverse s-a ajuns la IPng – Internet Protocol Next Generation cunoscut pe scurt ca IPv6.
Față de IPv4 versiunea IPv6 aduce câteva modificări:
o mai mare lungime a adreselor sursă și destinație (16 octeți față de 4);
antet simplificat (7 câmpuri față de 13), ceea ce permite routere-lor o procesare mult mai rapidă;
suportă noi opțiuni;
securitate îmbunătățită (permite autentificarea și confidențialitatea);
Numărul total de adrese IPv6 este de aproximativ 31038. Pentru scrierea lor a fost dezvoltată o nouă notație: 8 grupuri de câte 4 cifre hexazecimale separate prin două puncte:
FE80:0000:0000:0000:0213:8FFF:FE4E:FBF4
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:
FE80:0:0:0:213:8FFF:FE4E:FBF4
sau
FE80::213:8FFF:FE4E:FBF4
Pentru adrese IPv6 alocate în vederea compatibilității cu IPv4, este acceptată scrierea în care primii 96 biți sunt scriși în format IPv6, iar ultimii 32 de biți sunt scriși în format IPv4, separați de primii printr-un caracter două puncte.
Adresa 0:0:0:0:0:0:C100:E122 se poate scrie și 0:0:0:0:0:0:193.0.225.34 sau, mai compact:
::193.0.225.34
CAPITOLUL II
REȚELE VIRTUALE PRIVATE
2.1 Generalități privind rețelele virtuale private (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.
O rețea virtuală privată (VPN) este o conexiune criptată de rețea care folosește un tunel sigur între capete, prin Internet sau prin altă rețea, cum ar fi o rețea WAN. Într-o rețea VPN conexiunile pe linii telefonice către utilizatorii distanți și liniile închiriate sunt înlocuite prin conexiuni locale la un furnizor de servicii Internet (ISP) sau la un punct de prezență a unui furnizor de servicii.
O rețea VPN – Figura nr. 3 – permite utilizarea elementelor constructive și a resurselor unei rețele private prin intermediul unei rețele publice. Cu alte cuvinte, o rețea VPN este o rețea privată a unei organizații dezvoltată pe o infrastructură comună, utilizând aceleași politici de securitate, management și performanță care sunt aplicate, de obicei, într-o rețea publică. Practic, tehnologia VPN permite unei organizații să-și extindă prin intermediul Internetului, în condiții de deplină securitate, serviciile de rețea oferite distant utilizatorilor, reprezentanțelor sau organizațiilor partenere. Crearea unei legături de comunicații rapidă, sigură și ieftină este un avantaj evident al rețelelor VPN.
Figura nr. 3 – 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. 4):
VPN-urile pentru accesul 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 locație-la-locație (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. 4 – Tipuri de rețele VPN
Toate aceste tipuri de rețele VPN au rolul de a asigura fiabilitatea, securitatea și performanța mediilor WAN tradiționale, dar cu costuri mult diminuate și conexiuni ISP (Internet Service Provider) mult mai flexibile. Tehnologia VPN poate fi utilizată și în intranet pentru a oferi securitate precum și controlul accesului la informații, resurse sau sisteme vitale. În acest fel se poate limita accesul anumitor utilizatori la sistemele financiare sau se pot trimite informații confidențiale în mod securizat.
2.2.1 Remote Access VPN
Rețelele VPN pentru accesul de la distanță (Remote Access VPN) permit fiecărui utilizator dial-up să se conecteze în mod protejat la sediul organizației prin Internet sau prin alt serviciu public de rețea.
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.
Acest tip de rețea VPN este o conexiune utilizator-LAN care permite angajaților o conectare din afară la rețeaua LAN a organizației. Angajatul folosește o aplicație software client specială, care permite o legătură sigură între dispozitivul utilizat de acesta și rețeaua LAN.
Rețelele VPN pentru acces de la distanță sunt denumite uneori și software VPN (rețele bazate pe o aplicație software) sau rețele dial-up VPN.
2.2.2 Intranet VPN
Intranetul VPN (Figura nr. 5) permite conectarea diferitelor sedii ale unei organizații utilizând legături dedicate. Acest tip de conexiune este folosit, de obicei, pentru nevoi speciale, precum acele activități desfășurate de administratorii de sistem pentru managementul de la distanță a unui singur server. Conexiunea Intranet VPN permite crearea unor medii client-server performante prin utilizarea conexiunilor dedicate care pot atinge rate de transfer foarte bune. Diferența față de Remote Access VPN constă în faptul că se utilizează legături dedicate, cu rată de transfer garantată, fapt care permite asigurarea unei calități excelente a transmisiei pe lângă securitate și bandă mai largă.
Figura nr. 5 – Intranet VPN
Această arhitectură utilizează două routere, dispuse la capetele conexiunii, între acestea realizându-se un tunel criptat. În acest caz nu mai este necesară utilizarea unui client de VPN ci se folosește protocolul IPSec. IPSec (IP Security Protocol) este un protocol standardizat de strat 3 care asigură autentificarea, confidențialitatea și integritatea transferului de date între echipamentele care comunică. IPSec utilizează protocolul IKE (Internet Key Exchange) care necesită introducerea la ambele capete ale conexiunii a unor chei de autentificare care mai apoi vor permite conectarea reciprocă. În subcapitolul dedicat protocoalelor de tunelare voi prezenta mai multe aspecte referitoare la protocolul IPSec.
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.
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ă.
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 extinde limitele intranetului permițând logarea la sediul organizației a unor parteneri sau clienți care nu fac parte din structura acesteia. 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.
Rețelele extranet VPN sunt o extindere a rețelelor intranet VPN prin adăugarea unor sisteme firewall de protejare a rețelei interne.
2.2.4 Comparație între tipurile de rețele VPN
În Tabelul nr. 1 este prezentată o scurtă comparație a celor 3 tipuri de rețele VPN prezentate anterior.
Tabelul nr. 1 – Comparație între tipurile de rețele VPN
2.3 Tunelarea
Tunelarea oferă conectivitate completă ca și legătura fiziă folosind legăturile la Internet existente. Construcția constă în realizarea unei conexiuni între două echipamente de rețea (routere) cu adrese publice din cele două rețele interne. Conexiunea dintre rutere este un „cablu virtual” ce preia rolul conexiunii fizice. Tunelarea este o metodă de a utiliza infrastructura Internet pentru a transfera datele dintr-o altă rețea.
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 inter-reț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 de date care călătorește prin rețea 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 informația este transmisă. Pachetul inițial 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. Nivelele 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 câteva exemple de protocoale de tunelare de nivel 2. Protocoalele de nivel 3 corespund nivelului rețea, utilizează pachete IP și sunt protocoale care încapsulează pachete IP într-un antet IP adițional înainte de a le transmite.
Pentru tehnologiile de nivel 2 (PPTP sau L2TP), un tunel este asemănător cu o sesiune. Ambele capete ale tunelului trebuie să se pună de acord asupra tunelului și să negocieze variabilele de configurare (atribuirea adreselor, criptarea, comprimarea). În cele mai dese 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 pornesc de la premiza că toate aspectele legate de configurare au fost efectuate, de cele mai multe ori manual. Pentru aceste protocoale poate să nu existe faza de menținere a tunelului, în schimb pentru protocoalele de nivel 2 un tunel trebuind să fie creat, menținut și în cele din urmă 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ă (Internet), utilizând protocoale standard (deseori nesigure) sau prin rețeaua unui furnizor de servicii de telecomunicații care asigură servicii VPN bine definite de SLA (Service Level Agreement) între utilizatorul 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. Atunci când abordăm subiectul tunelării cea mai simplă și la îndemână soluție este utilizarea protocolului IPsec (IP security), care poate fi utilizat cu IPv4 și este o parte obligatorie a IPv6. IPsec este elementul central al nivelului rețea din cadrul protocolului TCP/IP.
Cu toate că IPsec este o soluție destul de flexibilă și acoperă majoritatea cerințelor utilizatorilor, cu siguranță există și cazuri în care alte protocoale se pot dovedi a fi o alternativă mai fiabilă.
Astfel, privite din perspectiva stivei de protocoale TPC/IP putem enumera:
la nivelul legătură de date:
PPTP (Point-to-Point Tunneling Protocol) – protocol dezvoltat de firmele Ascend Communications, Microsoft Corporation, 3Com/Primary Access, ECI Telematics și U.S. Robotics;
L2F (Layer 2 Forwarding) – protocol dezvoltat de Cisco;
L2TP (Layer 2 Tunneling Protocol) – protocol dezvoltat ca o alternativă la Layer 2 Forwarding a lui Cisco și Point-to-Point Tunneling Protocol (PPTP) a lui Microsoft.
la nivelul transport este utilizat protocolul SSL/TLS folosite pentru tunelare și pentru securizarea proxy-urilor web;
la nivelul aplicație sunt utilizate diferite soluții software, dezvoltate pentru a furniza soluții de securitate pentru o singură aplicație (ex.: e-mail) sau sunt soluții complexe, cum ar fi:
Multi-Protocol Label Switching (MPLS) – este o soluție care integreazã atât controlul rutãrii IP cât și comutarea de la nivelul legãturii de date;
OpenVPN – 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 RFC 2401.
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.
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 PPTP
Protocolul PPTP (Point-to-Point Tunneling Protocol) este un set de reguli care permite organizațiilor să-și extindă propria rețea LAN prin “tuneluri” private dintr-o rețea WAN sau din Internet.
Protocoalele PPTP au fost dezvoltate pe baza arhitecturii descrisă în RFC 2637.
PPTP împachetează datele în pachete PPP iar apoi acestea sunt împachetate în pachete IP (datagrame) pentru transmiterea lor printr-un tunel VPN. PPTP acceptă criptarea datelor și comprimarea acestor pachete. PPTP folosește o formă de încapsulare cu direcționare generică (GRE – Generic Routing Encapsulation) pentru a transfera datele către și dinspre destinația finală.
Când sunt stabilite tunele PPTP se desfășoară un proces în două etape:
utilizatorul se conectează la furnizorul de Internet (printr-o linie telefonică sau printr-o conexiune dedicată);
clientul PPTP este lansat în execuție și acesta creează o conexiune de control prin TCP între client și server, stabilind astfel tunelul.
După stabilirea tunelului PPTP prin acesta circulă două tipuri de pachete de informații: mesaje de control, care gestionează tunelul PPTP și pachetele de date. PPTP se ocupă direct de menținerea tunelului VPN și transmite datele prin tunel.
PPTP este o soluție destul de utilizată pentru rețelele VPN datorită firmei Microsoft. Clienții PPTP sun disponibili gratuit în versiunile de Microsoft Windows. De asemenea, serverele Windows și dispozitivele Cisco pot funcționa ca servere VPN bazate pe PPTP pentru a încheia conexiunile de client PPTP.
Totuși, în conformitate cu Bruce Schneier de la Counterpaane Internet Security și Mudge de la firma L0pht Heavy Industries PPTP „… este slab și vulnerabil în fața unui atac pe baza dicționarului; cele mai multe parole pot fi dezvăluite în câteva ore. Am găsit criptarea ca fiind la fel de slabă … și am descoperit o serie de decizii greșite de proiectare, care fac posibile și alte atacuri împotriva criptării. Putem deschide o conexiune trecând de sistemul firewall, abuzând de negocierile PPTP și putem construi mai multe atacuri serioase de tip blocare a unui serviciu (DoS) asupra oricui folosește PPTP ”.
2.4.3 Protocolul L2F
Layer 2 forwarding (L2F) este un protocol de tip forwarding, folosit pentru tunelarea protocoalelor de nivel înalt într-un protocol de nivel 2 (legătură de date).
Protocolul L2F a fost dezvoltat pe baza arhitecturii descrisă în RFC 2341.
Deși această soluție facilitează conectivitatea pe linii de acces în rețele cu comutație de circuite, informația din fluxul L2F nu este criptată. Combinat cu PPTP, constituie componentă a L2TP.
Activitățile desfășurate pentru crearea unei conexiuni de tip L2F sunt oarecum identice cu cele desfășurate pentru o conexiune PPTP. Utilizatorul stabilește o conexiune neprotejată între calculatorul său și furnizorul de Internet. Furnizorul recunoaște acest utilizator și “știe” că traficul primit de la acesta trebuie să fie tunelat către o anumită organizație așa că desfășoară activitățile de autentificare ale utilizatorului cu organizația, furnizând trafic securizat între sediul său (al furnizorului de Internet) și organizație. Astfel, utilizarea protocolului L2F presupune suportul și participarea furnizorului de Internet și, implicit, o mare încredere în acesta, având în vedere că traficul între client și sediul furnizorului nu este securizat.
2.4.4 Protocolul L2TP
Firmele Cisco și Microsoft au convenit să-și unifice protocoalele, adoptând astfel cele mai bune caracteristici ale celor două protocoale pentru tunele prin Internet prezentate anterior: PPTP de la Microsoft și L2F de la Cisco Systems.
Protocolul L2TP a fost dezvoltat pe baza arhitecturii descrisă în RFC 2661.
Cele două component principale care alcătuiesc protocolul L2TP sunt L2TP Access Concentrator (LAC), dispozitivul care încheie fizic un apel și L2TP Network Server (LNS), dispozitivul care încheie și poate autentifica fluxul PPP. 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. 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.
L2TP nu asigură de unul singur confidențialitate sau autenticitate puternică. Cea mai mare forță a securității asigurate de L2TP constă în utilizarea protocolului IPSec, care asigură confidențialitatea conexiunilor, autentificarea fiecărui pachet și protecția împotriva atacurilor prin reluare pentru pachetele de control și de date. Combinația acestor protocoale se mai numește și L2TP/Ipsec.
L2TPv3 este o versiune a L2TP propus ca alternativă la protocolul MPLS, pentru încapsularea traficului de comunicații multiprotocol de nivelul 2. La fel ca L2TP, L2TPv3 asigură un serviciu de „pseudo-fir”, dar adaptat la cerințele purtătorului.
2.4.5. Protocolul SSL/TSL
SSL (Secure Sockets Layer) este un protocol dedicat securizării conexiunilor, creat de firma Netscape în vederea criptării comunicației între clientul și serverul HTTP. Protocolul este destul de flexibil pentru a permite oricărei aplicații ce comunică prin conexiuni să-l folosească. TLS (Transport Layer Security) este derivat din SSL versiunea 3, dar dezvoltat de IETF (Internet Engineering Task Force).
Protocolul TLS a fost dezvoltat pe baza arhitecturii descrisă în RFC 4346.
Protocolul SSL/TLS presupune existența unei legături nesecurizate între un client și un server, care în mod obișnuit este o conexiune TCP. Protocolul SSL/TLS oferă un serviciu de tip conexiune care asigură confidențialitatea și autenticitatea datelor utile transportate, acestea putând aparține oricărui protocol. Protocolul ale cărui date sunt transportate ca date utile de către SSL/TLS este numit tunelat prin SSL/TLS.
În cadrul inițierii unei conexiuni SSL/TLS se realizează stabilirea unei chei de sesiune care este utilizată în continuare pentru securizarea transportului datelor utile. Autentificarea stabilirii cheii poate fi unilaterală, doar clientul autentificând serverul cu care a realizat negocierea cheii de sesiune, sau bilaterală. În cazul autentificării unilaterale, se poate utiliza o autentificare a clientului față de server în cadrul protocolului tunelat. În acest caz, deoarece serverul este deja autentificat, autentificarea clientului poate fi făcută prin parolă, fără riscul ca aceasta să fie transmisă unui adversar.
Autentificarea stabilirii cheii de sesiune se face printr-un mecanism de semnătură digitală. Pentru distribuirea sigură a cheilor publice, utilizate în cadrul autentificării, se utilizează certificate.
Serverul trebuie să aibă o pereche de chei pentru semnătură digitală și un certificat, semnat de o autoritate în care clientul are încredere, pentru cheia publică. La inițierea conexiunii SSL/TLS, serverul transmite clientului certificatul sau clientul verifică faptul că numele din certificat coincide cu numele serverului la care dorea conectarea, că semnătura autorității de certificare asupra certificatului este validă, că autoritatea de certificare este de încredere și, în cele din urmă, utilizează cheia publică din certificatul clientului pentru a autentifica stabilirea cheii de sesiune. Dacă se dorește și autentificarea clientului față de server tot prin SSL/TLS, atunci clientul trebuie să aibă, la rândul său, o pereche de chei și un certificat.
În vederea verificării semnăturii din certificat și a faptului că semnatarul (autoritatea de certificare) este de încredere, fiecare dintre parteneri trebuie să aibă o listă cu cheile autorităților de certificare de încredere. Cheia unei autorități de certificare este, în mod obișnuit, plasată tot într-un certificat.
Certificatul unei autorități de certificare poate fi semnat de către o altă autoritate de certificare sau chiar de către autoritatea posesoare a certificatului. În acest din urmă caz, certificatul se numește certificat autosemnat.
2.4.6 Protocolul MPLS
MPLS (Multi Protocol Label Switching) definește o arhitectură în care nodurile terminale adaugă o etichetă unui pachet IP care identifică drumul spre destinație, în acest fel pachetele fiind direcționate pe baza etichetei, fără inspectarea header-ului inițial.
MPLS reprezintă o evoluția în tehnologiile de comutare/rutare peste Internet, utilizând o soluție ce integrează atât controlul rutării IP cât și comutarea de la nivelul legăturii de date din cadrul modelului OSI.
MPLS oferă bazele unor servicii de rutare dezvoltate, rezolvând o serie de probleme:
scalabilitatea, diminuând complexitatea operațiilor din rețea;
îmbunătățește tehnicile de rutare IP existente, permițând apariția de noi posibilități de rutare;
oferă o soluție standardizată, care asigură interoperabilitatea între diverși furnizori de produse și servicii.
Funcționarea MPLS-ului constă din generarea unei etichete de mici dimensiuni și cu lungime fixă, care se comportă ca un header simplificat al pachetului IP. Utilizând această etichetă pentru a lua o decizie în procesul de rutare se creează o situație identică cu cea în care codul poștal este utilizat ca o formă simplificată pentru adresa unei case în adresarea poștală. Pachetul IP are un câmp în header-ul său care conține adresa spre care pachetul este trimis.
Primul dispozitiv MPLS din rețea încapsulează pachetele IP cu aceste etichete. Router-ul MPLS din margine (egde-router) analizează conținutul header-ului IP și selectează o etichetă potrivită cu care să încapsuleze pachetul. La fiecare dintre nodurile următoare din rețea, eticheta MPLS (și nu header-ul IP) este utilizată pentru a lua decizia de rutare a unui pachet. În final, pe măsură ce pachetele MPLS etichetate părăsesc rețeaua, un alt router elimină etichetele.
În terminologia MPLS nodurile sau router-ele care manipulează pachetele se numesc routere cu comutare de etichete (Label Switched Routers LSR).
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ă trimită acest pachet. Tabelele sunt realizate de către protocoalele de rutare IP (RIP, OSPF), care poartă informația referitoare la destinație sub formă de adrese IP. În practică procesul de inspectare a header-ului IP (forwarding) și 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 rutare 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, pentru a migra spre o nouă strategie de rutare în rețea (Figura nr. 6).
Figura nr. 6 – Nodurile MPLS
MPLS permite să avem decizii de forwarding bazate pe Traffic Engineering, multicast, VPN, QoS, etc.
Aspectele referitoare la OpenVPN le voi trata detaliat în capitolele IV și V ale lucrării de față.
2.5 Comparație a protocoalelor de tunelare
Bineînțeles că nici unul din protocoalele de tunelare prezentate anterior nu este “infailibil”. În Tabelul nr. 2 prezint o serie de avantaje și dezavantaje ale fiecărui protocol de tunelare în parte.
Tabelul nr. 2 – Comparație a protocoalelor de tunelare
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 Algoritmi de criptare
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
Algoritmii de criptare cu chei simetrice (private) 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
Algoritmii de criptare cu chei asimetrice (publice), 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 Metode pentru 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 unică folosință);
utilizarea unui aplicații bazată pe token;
utilizarea tehnicii AAA.
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.
3.3.1 Tehnici AAA
Pentru o cât mai bună păstrare a confidențialității datelor orice utilizator ale serviciilor unei rețele trebuie să îndeplinească trei cerințe:
autentificare;
autorizare;
evidența utilizatorilor.
Aceste componente sunt denumite împreună AAA.
Autentificarea verifică dacă utilizatorul rețelei este cine pretinde că este, deoarece nu se dorește ca acea persoană să aibă acces la rețea dacă nu este cine se presupune că este. De obicei, autentificarea se face printr-un secret partajat sau de către o aplicație software sigură, produsă de o terță parte.
Autentificarea permite administratorilor de rețea să identifice persoanele care se pot conecta la un echipament al rețelei sau la Internet prin includerea numelui de utilizator și a parolei. Cu ajutorul autentificării AAA, ori de câte ori un utilizator deschide o sesiune de lucru, trebuie să introducă o pereche de informații alcătuită dintr-un nume de utilizator și o parolă (cele alocate de administratorul de sistem).
Autorizarea este legată de autentificare și intră în acțiune după ce se termină autentificarea. După ce este autentificat utilizatorul trebuie să existe o cale prin care să se verifice dacă acesta este autorizat să facă ceea ce solicită.
Autorizarea permite administratorilor să controleze nivelul de acces pe care îl au utilizatorii după ce au obținut accesul la un echipament. Autorizarea poate, de asemenea, să dicteze tipurile de activitate pe care o poate efectua un utilizator, cum ar fi permisiunea ca acesta să aibă acces la aplicațiile de trafic FTP, Telnet sau http.
Evidența utilizatorilor dare loc după ce s-au încheiat etapele de autentificare și autorizare. Evidența utilizatorilor permite administratorilor să adune informații despre cei ce folosesc echipamentele și despre acțiunile pe care le întreprind când se conectează la acestea. Administratorii pot urmări astfel ce utilizator a deschis o sesiune de lucru, pe ce echipament, ce comenzi a dat și care a fost traficul efectuat.
Tehnicile AAA pot fi implementate prin intermediul serverelor externe de securitate, care rulează protocoale de securitate, cum ar fi RADIUS sau TACACS.
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
CONFIGURAREA SECURIZATĂ 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 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.
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, 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.
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 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.
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.
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. 7) 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. 7 – 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.
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”, această configurație având ca efect plasarea utilizatorilor distanți direct în rețeaua fizică locală.
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 în fișierul vars: locația (țară, localitate), organizația și departamentul, adresă de mail și se apelează utilitarului build_ca.
Generarea certificatului pentru server se face utilizând comanda build-key-server.
Pentru generarea certificatului pentru client sunt utilizate comenzile build-key / build-key-pass.
Pentru schimbarea cheilor între cele două părți, în mod securizat, după generarea certificatelor, se generează parametrii Diffie-Hellman.
În capitolul următor voi prezenta modalitatea practică de configurare a unei soluții VPN criptate, utilizând facilitățile oferite de OpenVPN.
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: Strategii de Implementare a Retelelor Vpn (ID: 150645)
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.
