Securitatea Retelelor Tcp Ip

CUPRINS

INTRODUCERE

1.SECURITATEA REȚELELOR DE CALCULATOARE

1.1.Modelul de securitate în rețele

1.2.Obiective de securitate urmarite in realizarea unei rețele

1.3.Categorii de atacuri asupra rețelelor de calculatoare

1.4.Metode de apărare

2.SECURITATEA PE INTERNET

2.1.Securitatea serviciilor internet

2.2.Funcționarea serviciilor INTERNET

2.3.Securitatea prin firewall

Filtrarea de pachete

2.4.Securitatea prin criptare

2.4.1.Istoric. Evoluție

2.4.2.Algoritmi criptografici cu cheie secretă

Algoritmul IDEA

2.4.3.Algoritmi criptografici cu cheie publică

Algoritmul RSA

3.IPTABLES VS. ZONE ALARM

3.1.Descriere generala de funcționare

3.2.Reguli de filtrare.Opțiuni de filtrare

CONCLUZII

BIBLIOGRAFIE

INTRODUCERE

Societatea modernă informatizată reprezintă deja o realitate, în care se ignoră frontierele și se trece peste orice constrângeri de ordin spațial sau temporal. Economia, politică și societatea se bazează in ziua de astăzi, din ce în ce mai mult, pe această infrastructură informatică. De asemenea, guvernele, firmele din sectoarul public și privat, organismele financiare naționale și internaționale, învățământul, cultura și cercetarea științifică, beneficiază toate de aceste forme eficiente de conducere, informare și comunicare.

În aceste circumstanțe, securitatea informatică a devenit una din componentele majore ale internet-ului. Analiștii acestui concept au sesizat o contradicție aparentă între nevoia de comunicații și conectivitate, pe de o parte, și necesitatea asigurării confidențialității, integrității și autenticității informațiilor, pe de altă parte. Domeniul relativ nou al securității informatice caută soluții tehnice pentru rezolvarea acestei contradicții aparente. Viteza și eficiența comunicațiilor "instantanee" de documente și mesaje conferă numeroase atuuri actului decizional într-o societate modernă, bazată pe economie concurențială însă utilizarea serviciilor de poștă electronică, Web, transfer electronic de fonduri etc. se bazează pe un sentiment, adeseori fals, de securitate a comunicațiilor, care poate transforma potențialele câștiguri generate de accesul rapid la informații, în pierderi majore, cauzate de furtul de date sau de inserarea de date false ori denaturate.

Sistemele informatice sunt amenințate atât din interior cât și din exterior. Pot fi persoane bine intenționate, care fac diferite erori de operare sau persoane rău intenționate, care sacrifică timp și bani pentru penetrarea sistemelor informatice. Dintre factorii tehnici care permit fisuri de securitate pot fi anumite erori ale software-ului de prelucrare sau de comunicare sau anumite defecte ale echipamentelor de calcul sau de comunicație. Folosirea abuzivă a unor sisteme reprezintă, de asemenea, unul din factorii de risc major privind securitatea sistemelor informatice.

Sistemele sunt vulnerabile la penetrări neautorizate, la distrugeri sau modificări accidentale sau voite de date ori programe. Aceste sisteme pot deservi elemente vitale pentru societate cum ar fi: sisteme militare, bănci, spitale, sisteme de transport, burse de valori, oferind în același timp un cadru de comportament antisocial sau de terorism. Tendința actuală privind extinderea conectivității, în special în internet, amplifică aceste vulnerabilități: este din ce în ce mai greu să se localizeze un defect, un punct de acces ilegal în rețea, un utilizator cu comportament inadecvat. Se consideră că internet-ul este unul din cele mai complexe sisteme create de tehnologia umană care, alături de sistemul financiar mondial, nu poate fi controlat în totalitate. Vulnerabilitatea sistemelor informatice actuale poate antrena pierderi imense de ordin financiar, direct sau indirect, cum ar fi scurgerea de informații confidențiale cu caracter personal, militar sau economic.

Obiectivele acestei lucrări le puteam imparți in 2 mari categorii si anume: obiective principale in care urmărim pe de o parte ințelegerea realizarii unei rețele de calculatoare securizată si pe de altă parte prezentarea unor produse software de tip firewall care ar putea rezolva o mare parte din problemele de securitate; obiective secundare care sunt desprinse din obiectivele principale si urmăresc incercarea da a-l face pe cititor sa inteleagă problemele de securitate care pot interveni intr-o rețea de calculatoare si modul lor de rezolvare precum si modul de utilizare a 2 produse software nelipsite în cadrul nici unei rețele care se doreste a fi sigură și stabilă reușind sa țina la distanța diferite tipuri de atacuri asupra acesteia.

Lucrarea este structurată in 3 mari capitole, fiecare capitol cuprinzand la randul lor mai multe subcapitole.De asemenea putem spune că lucrarea este formata din 2 mari părți și anume: prima parte, partea de teorie în care se vorbeste despre securitatea rețelelor de calculatoare și despre securitatea pe internet; și a 2-a parte, partea aplicativă în care se face o comparație între 2 produse software existente pe piața flosite pentru securizarea sistemelor de calcul si a rețelelor de calculatoare și anume 2 firewall-uri: Iptables utilitar existent și folosit pe platformele UNIX (Linux, Freebsd, Darwin) și ZoneAlarm un produs destul de complex și usor de folosit pe platformele Windows.

In primul capitol vom discuta în principal despre securitatea rețelelor de calculatoare și anume vom prezenta modelul de securitate in rețele, obiectivele de securitate avute in vedere în construirea unei rețele de calculatoare.De asemenea vom prezenta și cateva categorii de atacuri asupra rețelelor dar și metodele de apărare care pot fi utilizate.

In capitolul al 2-lea vom pune accent pe securitatea în internet.Vom vorbi despre serviciile internet și securitatea acestora apoi în a 2-a parte a capitolului vom discuta despre securitatea prin firewall, filtrarea datelor și securitatea prin criptare unde vom prezenta 2 algoritmi de criptare, unul cu cheie secretă și altul cu cheie publică.

In cel de-al 3-lea capitol, care cuprinde partea practică a acestei lucrări se va face o comparație între 2 produse de tip firewall utilizate pe 2 platforme diferite: Iptables (Unix) și ZoneAlarm (Windows).

1. SECURITATEA REȚELELOR DE CALCULATOARE

1.1. Modelul de securitate în rețele

Modelul de securitate pentru un calculator seamănă cu o ceapă. Niveluri de securitate înconjoară subiectul ce trebuie protejat. Fiecare nivel izolează subiectul și îl face mai greu de accesat în alt mod decât cel în cel în care a fost planificat.

Securitatea fizică reprezintă nivelul exterior al modelului de securitate și constă, în general, în încuierea echipamentelor informatice într-un birou sau într-o altă incintă. Securitatea fizică merită o considerație specială. Problema cea mai mare o constituie salvările pentru copii de rezervă ale datelor și programelor și siguranța păstrării suporților de salvare. In aceste situații, rețelele locale sunt de mare ajutor: dacă toate fișierele schimbate frecvent rezistă pe un server, aceleași personae (sigure și de încredere), care lansează salvările pentru mainframe-uri, pot face același lucru și la server. Calculatorul, ca orice piesă costisitoare, ar trebui să fie protejat și de pericolul furtului. Păstrarea în afara zonelor publice este una dintre cele mai bune forme de protecție. Simpla încuiere a echipamentelor v-a preveni mutările ascunse precum și furtul. Intr-un sistem în care prelucrarea este distribuită, prima măsură des securitate fizică care trebuie avută în vedere este prevenirea accesului la echipamente. Pentru a învinge orice alte măsuri de securitate, trebuie să se dispună de acces fizic la echipamente. Acest lucru este comun tuturor sistemelor de calcul, distribute sau nu.

Securitatea logică constă din acele metode care asigură controlul accesului la resursele și serviciile sistemului. Ea are, la rândul ei, mai multe niveluri, împărțite în două grupe mari : niveluri de securitate a accesului (SA) și niveluri de securitate a serviciilor (SS).

Securitatea accesului (SA) cuprinde :

accesul la sistem (AS), care este răspunzător de a determina dacă și când rețeaua este accesibilă utilizatorilor. El poate fi, de asemenea, răspunzător pentru decuplarea unei stații, ca și de gestiunea evidenței accesului. AS execută, de asemenea, deconectarea forțată, dictată de supervizor. AS poate, de exemplu, să prevină conectarea în afara orelor deserviciu și să întrerupă toate sesiunile, după un anumit timp,

accesul la cont (AC), care verifică dacă utilizatorul care se conectează cu un anumit nume și cu o parolă există și are un profil utilizator valid,

drepturile de acces (DA), care determină ce privilegii de conectare are utilizatorul (de exemplu, contul poate avea sesiuni care totalizează 4 ore pe zi sau contul poate utiliza doar stația 27).

Securitatea serviciilor (SS), care se află sub SA, controlează accesul la serviciile sistem, cum ar fi se așteptare, I/O la disc și gestiunea server-ului. Din acest nivel fac parte :

controlul serviciilor (CS), care este responsabil cu funcțiile de avertizare și de raportare a stării serviciilor, de asemenea, el activează și dezactivează diferitele servicii,

drepturile la servicii (DS), care determină exact cum folosește un anumit cont un serviciu dat, de exemplu, un cont poate avea numai dreptul de a adăuga fișiere la spooler-ul unei imprimante, dar are drepturi depline, de a adăuga și șterge fișiere, pentru o altă imprimantă.

Odată stabilită conexiunea, SA validează și definește contul. Operațiile ce trebuie executate sunt controlate de SS, care împiedică cererile ce nu sunt specificate în profilul utilizatorului. Accesul într-un sistem de securitate perfect trebuie să se facă prin aceste niveluri de securitate, de sus în jos. Orice sistem care vă lasă să evitați unul sau mai multe niveluri ale modelului de securitate implică riscul de a fi nesigur.

1.2. Obiective de securitate urmarite în realizarea unei rețele

Pentru a proiecta și implementa un sistem integrat de securitate al unei rețele, trebuie parcurse următoarele etape:

Este necesar, mai întâi, să identificăm toate amenințările împotriva cărora este cerută protecția. Acest proces este unul de analiză și care constă în 3 sub-etape:

analiza vulnerabilităților, adică identificarea elementelor potențial slabe ale rețelei;

evaluarea amenințărilor, adică determinarea problemelor care pot apărea datorită elementelor slabe ale rețelei;

analiza riscurilor, adică a posibilelor consecințe pe care aceste probleme le pot crea.

Rezultatul acestei faze de analiză îl constituie cerințele de securitate ale rețelei.

Următoarea etapă constă în definirea politicii de securitate, ceea ce înseamnă să se decidă:

care amenințări trebuie eliminate și care se pot tolera;

care resurse trebuie protejate și la ce nivel;

cu ce mijloace poate fi implementată securitatea;

care este prețul măsurilor de securitate care poate fi acceptat.

Odată stabilite obiectivele politicii de securitate, următoarea etapă constă în selecția serviciilor de securitate. Acestea sunt funcții individuale, care sporesc securitatea rețelei. Fiecare serviciu poate fi implementat prin metode variate, numite mecanisme de securitate. Pentru implementarea și utilizarea eficientă a mecanismelor de securitate, este nevoie de o sumă de activități numite funcții de gestiune a securității. Gestiunea securității într-o rețea constă în controlul și distribuția informațiilor către toate sistemele deschise în scopul utilizării serviciilor și mecanismelor de securitate și al raportării către administratorul rețelei a evenimentelor de securitate relevante care pot apărea.

Cele mai importante masuri de siguranta sunt clasificate astfel:

procedurale (ca, de exemplu, selectarea personalului, schimbarea periodică a parolelor etc.);

logice (ca, de exemplu, controlul accesului și criptografia);

fizice (camere speciale, uși blocate etc.).

1.3. Categorii de atacuri asupra rețelelor de calculatoare

Amenințările la adresa securității unei rețele de cal nevoie de o sumă de activități numite funcții de gestiune a securității. Gestiunea securității într-o rețea constă în controlul și distribuția informațiilor către toate sistemele deschise în scopul utilizării serviciilor și mecanismelor de securitate și al raportării către administratorul rețelei a evenimentelor de securitate relevante care pot apărea.

Cele mai importante masuri de siguranta sunt clasificate astfel:

procedurale (ca, de exemplu, selectarea personalului, schimbarea periodică a parolelor etc.);

logice (ca, de exemplu, controlul accesului și criptografia);

fizice (camere speciale, uși blocate etc.).

1.3. Categorii de atacuri asupra rețelelor de calculatoare

Amenințările la adresa securității unei rețele de calculatoare pot avea următoarele origini : dezastre sau calamități naturale, defectări ale echipamentelor, greșeli umane de operare sau manipulare, fraude. Primele trei tipuri de amenințări sunt accidental, în timp ce ultima este intenționată. Câteva studii de securitate a calculatoarelor estimează că jumătate din costurile implicate de incidente sunt datorate acțiunilor voit distructive, un sfert dezastrelor accidentale și un sfert greșelilor umane. Acestea din urmă pot fi evitate sau, în cele din urmă, repetate printr-o mai bună aplicare a regulilor de securitate (salvări regulate de date, discuri oglindite, limitarea drepturilor de acces).

In amenințările datorate acțiunilor voite, se disting două categorii principale de atacuri : pasive și active.

atacuri pasive – sunt acelea în cadrul cărora intrusul observă informația ce trece prin ‘canal’, fără să interfereze cu fluxul sau conținutul mesajelor. Ca urmare, se face doar analiza traficului, prin citirea identității părților care comunică și ‘învățând’ lumgimea și frecvența mesajelor vehiculate pe un anumit canal logic, chiar dacă conținutul acestora este neinteligibil. Atacurile pasive au următoarele caracteristici comune :

nu cauzează pagube (nu se șterg sau se modifică date),

încalcă reguli de confidențialitate,

obiectivul este de a ‘asculta’ datele schimbate prin rețea,

pot fi realizate printr-o varietate de metode, cum ar fi supravegherea legăturilor telefonice sau radio, exploatarea radiațiilor electromagnetice emise, rutarea datelor prin noduri adiționale mai puțin protejate.

atacuri active – sunt acelea în care intrusul se angajează fie în furtul mesajelor, fie în modificarea, reluarea sau inserarea de mesaje false. Aceasta înseamnă că el poate șterge, întârzia sau modifica mesaje, poate să facă inserarea unor mesaje false sau vechi, poate schimba ordinea mesajelor, fie pe o anumită direcție, fie pe ambele direcții ale unui canal logic. Acestea atacuri sunt serioase deoarece modifică starea sistemelor de calcul, a date or sau a sistemelor de comunicații. Există următoarele tipuri de amenințări active:

mascarada – este un tip de atac în care o entitate pretinde a fi o altă entitate. De exemplu, un utilizator îcearcă să se substituie altuia sau un serviciu pretinde a fi alt serviciu, în intenția de a lua date secrete (numărul cărții de credit, parola sau cheia algoritmului de criptare). O ‘mascaradă’ este însoțită, de regulă, de o altă amenințare activă, cum ar fi înlocuirea sau modificarea mesajelor,

reluarea – se produce atunci când un mesaj sau o parte a acestuia este reluată (repetată), în intenția de a produce un efect neautorizat. De exemplu, este posibilă reutilizarea informației de autentificare a unui mesaj anterior. In conturile bancare, reluarea unităților de date implică dublări și/sau alte modificări nereale ale valorii conturilor,

modificarea mesajelor – face ca datele mesajului să fie alterate prin modificare, inserare sau ștergere. Poate fi folosită pentru a se schimba beneficiarul unui credit în transferul electronic de fonduri sau pentru a modifica valoarea acelui credit. O altă utilizare poate fi modificarea câmpului destinatar/expeditor al poștei electronice,

refuzul câmpului – se produce când o entitate nu izbutește să îndeplinească propria funcție sau când face acțiuni care împiedică o altă entitate de la îndeplinirea propriei funcții,

repudierea serviciului – se produce când o entitate refuză să recunoască un serviciu executat. Este evident că în aplicațiile de transfer electronic de fonduri este important să se evite repudierea serviciului atât de către emițător, cât și de destinatar.

In cazul atacurilor active se înscriu și unele program create cu scop distructiv și care afectează, uneori esențial, securitatea calculatoarelor. Există o terminologie care poate fi folosită pentru a prezenta diferitele posibilități de atac asupra unui sistem. Acest vocabular este bine popularizat de ‘poveștile’ despre ‘hackeri’. Atacurile presupun, în general, fie citirea informațiilor neautorizate, fie (în cel mai frecvent caz) distrugerea parțială sau totală a datelor sau chiar a calculatoarelor. Ce este mai grav este posibilitatea potențială de infestare, prin rețea sau copieri de dischete, a unui mare număr de mașini. Dintre aceste programe distructive amintim următoarele :

virușii – reprezintă programe inserate în aplicații, care se multiplică singure în alte programe din spațiul rezident de memorie sau de pe discuri ; apoi, fie saturează complet spațiul de memorie/disc și blochează sistemul, fie, după un număr fixat de multiplicări, devin activi și intră într-o fază distructiva (care este de regulă exponențială),

bomba software – este o procedură sau parte de cod inclusă într-o aplicație ‘normală’, care este activată de un eveniment predefinit. Autorul bombei anunță evenimentul, lăsând-o să ‘explodeze’, adică să facă acțiunile distructive programate,

viermii – au efecte similare cu cele ale bombelor și virușilor. Principala diferență este aceea că nu rezidă la o locație fixă sau nu se duplică singuri. Se mută în permanență, ceea ce îi face deficil de detectat. Cel mai renumit exemplu este viermele Internet-ului, care a scos din funcțiune o parte din Internet în noiembrie 1988,

trapele – reprezintă accese apeciale la sistem, care sunt rezervate în mod normal pentru proceduri de încărcare la distanță, întreținere sau pentru dezvoltatorii unor aplicații. Ele permit însă accesul la sistem, eludănd procedurile de identificare uzuale,

Calul Troian – este o aplicație care are o funcție de utilizare foarte cunoscută și care, într-un mod ascuns, îndeplinește și o altă funcție. Nu crează copii. De exemplu, un hacker poate înlocui codul unui program normal de control ‘login’ prin alt cod, care face același lucru, dar, adițional, copiază într-un fișier numele și parola pe care utilizatorul le tastează în procesul de autentificare. Ulterior, folosind acest fișier, hacker-ul v-a penetra foarte ușor sistemul.

1.4. Metode de apărare

Implementarea unor mecanisme de securitate în retelele de calculatoare de arie largă, în particular – Internet-ul, priveste rezolvarea următoarele aspecte:

bombardarea cu mesaje – asa numitul spam – trimiterea de mesaje nedorite, de obicei cu un continut comercial.Acest fenomen este neplăcut în cazul unui număr mare de mesaje publicitare nedorite si poate avea efecte mai grave în cazul invadării intentionate cu mesaje ("flood"), uzual cu un continut nesemnificativ. Pentru utilizatorii de Internet conectati prin intermediul uni modem, numărul mare de mesaje are ca efect cresterea perioadei necesare pentru "descărcarea" postei electronice si deci un cost de conectare mai ridicat.

Există programe de postă electronică care permit vizualizarea antetelor mesajelor primite înainte ca acestea să fie aduse pe calculatorul local, selectarea explicită a mesajelor care se doresc transferate si stergerea celorlalte. În plus, programele de e-mail pot încorpora facilităti de blocare a mesajelor de tip "spam" prin descrierea de către utilizator a unor actiuni specifice de aplicat asupra mesajelor, în functie de anumite cuvinte cheie sau de adresele (listele de adrese) de provenientă.

rularea unui cod (program) dăunător, adesea de tip virus – acesta poate fi un program Java sau ActiveX, respectiv un script JavaScript, VBScript etc. ;

Asemenea programe sunt în general blocate de navigatoarele moderne dar au ajuns să se răspândească ca fisiere atasate mesajelor de mail.În general marile firme care produc navigatoare testează riguros riscurile impuse de programele dăunătoare rulate de pe site-uri web, uneori create cu intentii distructive, si intervin în general prin versiuni superioare imediat ce un astfel de risc a fost descoperit si corectat. În plus, cea mai mare parte a programelor de navigare permit utilizarea unor filtre specifice pe baza cărora să se decidă dacă un anumit program va fi rulat sau nu, si cu ce restrictii de securitate (decizia se realizează în general pe baza "încrederii" indicate în mod explicit de utilizator).

infectarea cu viruși specifici anumitor aplicații – se previne prin instalarea unor programe antivirus care detectează virusii, devirusează fisierele infectate si pot bloca accesul la fisierele care nu pot fi "dezinfectate". În acest sens, este importantă devirusarea fisierelor transferate de pe retea sau atasate mesajelor de mail, mai ales dacă contin cod sursă sau executabil, înainte de a le deschide / executa.

accesarea prin rețea a calculatorului unui anumit utilizator si "atacul" asupra acestuia.. La nivelul protocoalelor de retea, protejarea accesului la un calculator sau la o retea de calculatoare se realizează prin mecanisme de tip fire-wall, prin comenzi specifice; acestea pot fi utilizate si în sens invers, pentru a bloca accesul unui calculator sau a unei retele de calculatoare la anumite facilităti din Internet.

interceptarea datelor în tranzit și eventual modificarea acestora – snooping. Datele se consideră interceptate atunci când altcineva decât destinatarul lor le primeste. În Internet, datele se transmit dintr-un router în altul fară a fi protejate. Routerele pot fi programate pentru a intercepta, eventual chiar modifica datele în tranzit. Realizarea unei astfel de operatii este destul de dificilă, necesitând cunostinte speciale de programare în retele si Internet, dar există numeroase programe (de tip hacker) care pot fi utilizate în aceste scopuri, ceea ce duce la cresterea riscului de interceptare a datelor.

Transmisia protejată a datelor trebuie să garanteze faptul că doar destinatarul primeste si citeste datele trimise si că acestea nu au fost modificate pe parcurs (datele primite sunt identice cu cele trimise). Modificarea datelor s-ar putea realiza în mod intentionat, de către o persoană care atentează la securitatea retelei sau printr-o transmisie defectuoasă

expedierea de mesaje cu o identitate falsă, expeditorul impersonând pe altcineva (pretinde că mesajul a fost trimis de la o altă adresă de postă electronică)? spoofing. Această problemă se revolvă prin implementarea unor mecanisme de autentificare a expeditorului.

Se poate remarca faptul că problemele ridicate la punctele 3 si 4 sunt riscuri generice, specifice pentru utilizatorii care fac schimb de fisiere si respectiv pentru toti cei care sunt conectati la o retea de calculatoare – locală sau de arie largă. Problemele de interceptare si autentificare, cele mai importante din punctul de vedere al utilizatorilor obisnuiti, sunt rezolvate prin aplicarea unor tehnici de codificare.

Pentru asigurarea securitătii retelei este importantă implementarea unor mecanisme specifice pornind de la nivelul fizic (protectia fizică a liniilor de transmisie ), continuând cu proceduri de blocare a accesului la nivelul retelei (fire-wall), până la aplicarea unor tehnici de codificare a datelor (criptare), metodă specifică pentru protectia comunicării între procesele de tip aplicatie care rulează pe diverse calculatoare din retea.

Împiedicarea interceptării fizice este în general costisitoare si dificilă de aceea, se preferă implementarea unor mecanisme de asigurare a securitătii la nivel logic, prin tehnici de codificare / criptare a datelor transmise care urmăresc transformarea mesajelor astfel încât să fie întelese numai de destinatar; aceste tehnici devin mijlocul principal de protectie a retelelor.

2. SECURITATEA PE INTERNET

2.1. Securitatea serviciilor internet

Rețelele de calculatoare locale și de arie largă au schimbat aspectul utilizării calculatoarelor. Astăzi, spre deosebire de trecutul nu prea îndepărtat, în care calculatoarele erau separate și distincte, rețelele permit utilizatorilor să străbată instantaneu camere, țări sau întregul glob pentru a schimba mesaje electronice, pentru a accesa fișiere sau baze de date sau pentru a lucra pe calculatoare situate la mari distanțe. Un aspect crucial al rețelelor de calculatoare, în special al comunicațiilor prin internet, îl constituie securitatea informațiilor, devenită una din componentele majore ale internet-ului.

Serviciile internet au la bază schimbul de mesaje între o sursă și un destinatar. Rețelele din internet folosesc protocolul IP (Internet Protocol). IP asigură livrarea pachetelor numai dacă în funcționarea rețelelor nu apar erori. Dacă un mesaj este prea lung, IP cere fragmentarea lui în mai multe pachete. Transmiterea pachetelor IP se face între calculatoare gazdă și nu direct, între programele de aplicație. Din aceste motive, protocolul IP este completat cu un altul, numit TCP (Transmission Control Protocol), care face fragmentarea și asigură transmiterea corectă a mesajelor între utilizatori. Pachetele unui mesaj sunt numerotate, putându-se verifica primirea lor în forma în care au fost transmise și reconstituirea mesajelor lungi, formate din mai multe pachete.

Există trei căi distincte pentru conectarea a două claculatoare, folosind protocolul IP.

– Cele două calculatoare pot fi în aceeași rețea locală. În acest caz, pachetele sunt încapsulate în pachetele folosite de protocoalele LAN;

– Cele două calculatoare sunt direct legate printr-o linie serială. Pachetele IP sunt transmise folosind unul din protocoalele SLIP (Serial Line Internet Protocol). CSLIP (Compressed SLIP) sau PPP (Point-to-Point Protocol).

– Dacă cele două calculatoare sunt conectate fiecare la câte o rețea locală linia telefonică leagă cele două LAN-uri prin intermediul unor bridge-uri; Pachetele IP pot fi încapsulate în interiorul altor pachete folosite de alte protocoale rețea.

Funcționarea protocoalelor TCP și IP presupune existența unei comunicări directe între noduri (ruter-e sau calculatoare gazdă) adiacente din rețea. Această comunicare este realizată conform unor tehnologii diverse și se supune unor protocoale specifice, bine precizate. Ca urmare, TCP și IP se bazează, la rândul lor pe serviciile oferite de alte protocoale. Se obține, în ansamblu, o suită (ierarhie) de protocoale care depind unele de altele, dar care au ca punct central protocoalele TCP/IP. De aceea, ea este denumită suită TCP/IP sau familia de protocoale TCP/IP.

Uzual, un sistem terminal are o singură interfață cu subrețeaua la care este conectat, în timp ce un sistem intermediar are mai multe interfețe, câte una pentru fiecare subrețea la care este conectat. Rolul unui sistem intermediar este de a retransmite pachetele pe care le primește de la o subrețea, pe o altă subrețea aflată pe calea spre sistemul terminal destinatar. Sistemul intermediar este legat la ambele subretele. Figura 2.1 arată un mesaj care traversează două rețele.

Aplicația sursă din sistemul terminal 1 comunică un mesaj modulului TCP. Acesta construiește un pachet pe care nivelul IP îl pasează ca o datagramă subrețelei a. în sistemul intermediar, datagrama ajunge la modulul IP care îl rutează subrețelei b. În sistemul terminal 2, IP extrage mesajul și îl transmite aplicației receptor prin intermediul modulului TCP. Să observăm că în sistemul intermediar, pentru recepția dirijarea și retransmiterea datagramelor, sunt necesare doar niveiele IP și interfața de rețea.

Cu toate că pot utiliza tehnologii de comunicație diferite, toate subreteieie sunt tratate uniform în internet. O rețea locală, una de arie largă sau o simplă legătură punct-la-punct între două sisteme din internet contează fiecare ca o subretea. Structura internă a internet-ului este ascunsă utilizatorilor Tot ceea ce văd ei este o singură rețea foarte mare, ce leagă între ele sisteme terminale și care le permite astfel accesul la resurse situate oriunde în internet.

2.2. Funcționarea serviciilor INTERNET

Cele mai multe servicii sunt furnizate de programe numite server-e. Pentru ca un server să funcționeze, el trebuie să folosească un protocol (TCP sau UDP), să aibă alocat un port și să fie lansat în execuție – de obicei, la încărcarea sistemului de operare.

În UNIX există un fișier cu rol esențial în execuția serviciilor: /etc/services. El conține, în fiecare linie, numele unui serviciu, numărul port-ului, numele protocolu!ui și o listă de alias-uri. Acest fișier, a cărui securitate este foarte importantă, este folosit atât de către server-e cât și de către clienți.

Server-ele determină din acest fișier numărul propriu de port cu care lucrează, folosind un apel sistem special: getservicebyname().

Port-urile au alocate numere; cele cuprinse în domeniul 0-1.023 se consideră port-uri sigure. Ele sunt restricționate la folosire, fiind accesibile doar superuser-ului. Ca urmare, programele care folosesc aceste port-uri trebuie executate ca root. Acest lucru împiedică programele obișnuite să obțină informații senzitive de la aceste port-uri. Altfel, ar fi posibil pentru un utilizator să creeze, de exemplu, un program care să se prezinte drept telnet, să asculte port-ul 23 și să intercepteze parolele altor utilizatori. Folosind însă calculatoare non-UNIX, IBM-PC cu plăci Ethernet, este posibil să se facă conectări la port-uri de încredere de pe mașini UNIX și să se trimită sau să se intercepteze pachete de date.

Există 2 tipuri distincte de server-e:

• cele care se execută continuu. Ele sunt startate automat la lansarea sistemului de operare, pe baza informațiilor din /etc/rc*. Aceste server-e trebuie să răspundă rapid la cererile care sosesc din rețea, cum ar fi nfsd (Network Filesystem Daemon) și sendmail;

• server-e care sunt lansate doar atunci când este nevoie de ele. Ele sunt, de obicei, startate de demonul inetd, care poate "asculta" zeci de port-uri și care lansează în execuție demonul necesar. în această categorie intră servicii ca fingerd (Finger Daemon) și popper (Post Office Protocol Daemon).

Cum am mai spus, lansarea în execuție a server-elor care nu sunt permanent rezidente se face cu ajutorul unui program demon numit inetd. Cu ajutorul fișierului /etc/inetd.conf, acesta determină serviciile rețea pe care le gestionează. Apoi folosește apelurile sistem bind(), pentru a se conecta la mai multe port-uri, și select(), pentru a obține controlul atunci când se face o cerere de conectare la un anumit port.

Fiecare linie conține numele serviciului, tipul socket-ului, tipul protocolului, dacă se așteaptă sau nu cereri în continuare, după servirea celei care a activat server-ul, numele utilizatorului proprietar al server-ului și numele comenzii executate la activarea serviciului.

O problemă deosebit de importantă din punctul de vedere al securității este aceea a controlului accesului la server-e. Doar o mică parte din programele server au încorporate facilități de limitare a accesului, bazate pe controlul corelației dintre adresele IP și numele de host ale celui care face cererea. De exemplu, NFS permite specificarea host-urior care au dreptul de a monta anumite sisteme de fișiere; de asemenea nntp permite precizarea host-urilor care pot citi știrile.

Există, însă, și alte modalități, exterioare programelor, prin care se poate controla accesul la sever-e:

• programul tcpwrapper, scris de către Wietse Venema, este un utilitar care poate "îmbrăca" un server INTERNET. El permite restricționarea accesului anumitor host-uri la server-e;

• se poate folosi un program firewall, plasat între server și exterior. Acesta poate proteja întreaga rețea, spre deosebire de tcpwrapper, care protejează doar servicii de pe o anumită mașină.

Se recomandă, în general, folosirea unor wrappers și firewalls în conjuncție;de exemplu, primul pentru fiecare calculator și al doilea pentru protecția întregii rețele.

2.3. Securitatea prin firewall

Un firewall este un sistem care impune o politică de control al accesului între două rețele(Figura 2.2). Un firewall reprezintă implementarea acestei politici în termeni de configurare a rețelei, unul sau mai multe sisteme gazdă și ruter-e cu funcțiuni speciale, alte măsuri de securitate, cum ar fi autentificarea prin metode criptografice a clienților.

Cu alte cuvinte, un firewall este un mecanism folosit pentru a proteja o rețea sigură din punctul de vedere al securității de una nesigură, în care nu putem avea încredere.

În mod tipic, una din rețele este cea internă unei organizații (sigură, de încredere), în timp ce cealaltă este internet-ul (în care nu avem încredere din punctul de vedere al securității). Dat fiind numărul și mai mare de utilizatori mulți dintre aceștia având, din nefericire, statutul de hacker folosirea unui firewall are sens.

Deși cele mai multe firewall-uri sunt, în mod curent, interpuse între rețelele interne și internet, conceptul de firewall nu vizează numai acest aspect, existând suficiente motive pentru folosirea firewall-urilor în oricare internet, inclusiv în rețelele cu arie largă (WAN) ale diferitelor companii. Deoarece un firewall este dispus la intersecția dintre două rețele, acesta poate fi folosit și în alte scopuri decât acela de control al accesului:

pentru a monitoriza comunicațiile dintre o rețea internă și o rețea externă. De exemplu, un firewall poate jurnaliza (monitoriza, înregistra) seviciile folosite și cantitatea de date transferată prin conexiuni TCP/IP între propria organizație și lumea exterioară;

un firewall poate fi folosit pentru interceptarea și înregistrarea tuturor comunicațiilor dintre rețeaua internă și exterior.

dacă o organizație are mai multe rețele, separate din punct de vedere geografic, fiecare având câte un firewall, există posibilitatea programării acestor firewall-uri pentru a cripta automat conținutul pachetelor transmise între ele. în acest fel, pe suportul internet, organizația își poate realiza propria rețea virtuală privată.

Filtrarea de pachete este tipul cel mai simplu și primul tip de firewall.

Tot traficul Internet este transmis în formă de pachete. Un pachet este o cantitate de date de dimensiune limitată pentru a ușura prelucrarea lui. Când sunt transmise cantități mari de date, acestea sunt împărțite în mai multe pachete numerotate care la partea de recepție sunt reasamblate. Tot traficul Internet : fișierele transferate, paginile web, mesajele electronics sunt transmise în pachete.

În principiu un pachet este o serie de numere digitale , ce constă din:

datele în sine de transmis, confirmarea, cererea de la sistemul sursă

adresa IP și portul sursa

adresa IP și portul destinație

informații despre protocolul utilizat (IP,TCP,UDP) prin care este transmis pachetul

informație de verificare a erorii

La filtrarea de pachete numai informația de protocol și adresa este examinată.

Conținutul și contextul pachetului (relația față de alte pachete și aplicația căreia îi este destinată) sunt ignorate. Firewall-ul ia în considerare aplicația de pe host sau din rețea căreia îi este dstinat pachetul și nu „știe” nimic despre sursa (aplicația) datelor sosite. Filtrarea constă în examiniarea pachetelor sosite și/trimise, și permiterea sau refuzarea transmiterii acestora pe baza regulilor configurabile, numite politici de filtrare.

Regulile filtrelor de pachete pot fi făcute pe următoarele criterii:

permite sau refuză pachetul pe baza adresei sursa

permite sau refuză pachetul pe baza portului destinație

permite sau refuză pachetele pe baza protocolului utilizat

Figura 2.3- Filtrare de pachete pe baza numărului de port

Cum este indicat în Figura 2.3., filtrarea este realizată pe baza porturilor sursă și destinație .

Filtrarea de pachete este foarte eficientă dar nu oferă securitate totală. Poate bloca tot traficul, ceea ce ar însemna securitate absolută. Dar pentru a avea o rețea folositoare , trebuie să permită accesul unor pachete.

Punctele slabe sunt:

informația legată de adresa în cadrul pachetului poate fi falsificată de către transmitator (atacator)

data, cererea din pachetul ce a fost acceptat poate în final fi cauza unor lucruri nedorite , atacatorul putând exploata un bug cunoscut într-o aplicație (de ex, server web) , sau să utilizeze o parolă primită pentru a obține acces pe server.

Avantajul filtrării de pachete este simplitatea relativă și ușurința implementării.

2.4. Securitatea prin criptare

Criptografia este știința scrierilor secrete. Ea stă la baza multor servicii și mecanisme de securitate folosite în internet, folosind metode matematice pentru transformarea datelor, în intenția de a ascunde conținutul lor sau de a le proteja împotriva modificării. Criptografia are o lungă istorie, confidențialitatea comunicării fiind o cerință a tuturor timpurilor. Dacă ar trebui să alegem un singur exemplu al criptografiei "clasice", acesta ar fi cifrul lui Cezar, nu atât datorită celebrității împăratului roman de care se leagă folosirea lui, ci pentru că principiul său de bază, al substituției, s-a menținut nealterat aproape două milenii.

2.4.1. Istoric. Evoluție

Multă vreme, eforturile criptografilor au fost dirijate spre întărirea cifrurilor prin complicarea algoritmului, combinând substituții și transpoziții asupra unor simboluri sau asupra unor blocuri (grupe de simboluri). Istoria modernă a criptografiei cunoaște numeroase inovații în această privință. Două sunt elementele ce au marcat însă cotitura semnificativă în dezvoltarea metodelor criptografice.

Primul este legat de dezvoltarea rețelelor de calculatoare, al căror stimulent extraordinar s-a manifestat atât prin presiunea exercitată de tot mai mulți utilizatori (a căror dorință obiectivă este păstrarea secretului și a siguranței asupra poștei electronice private, a transferului electronic de fonduri și a altor aplicații) cât și prin potențarea gamei de instrumente folosite efectiv în execuția algoritmilor de cifrare. Utilizarea calculatoarelor electronice a permis folosirea unor chei de dimensiuni mai mari, sporindu-se atfel rezistența la atacuri criptoanalitice. Când cheia secretă are o dimeniune convenabilă și este suficient de frecvent schimbată, devine practic imposibilă spargerea cifrului, chiar dacă se cunoaște algoritmul de cifrare. Pe această idee se bazează și standardul american de cifrare a datelor – DES (Data Encryption Standard) larg utilizat de guvernul SUA și de diverse companii internaționale. Propus într-o formă inițială de IBM în 1975, DES a rezistat evaluării făcute de "spărgătorii de cifruri" de la U.S. National Security Agency (NSA), care au recomandat doar reproiectarea anumitor componente (casete de substituție). DES a fost adoptat ca standard federal în 1977 și a fost folosit intens datorită performanțelor de viteză atinse la cifrare (peste 100 de milioane de biți/secundă). Din păcate, nu se știe cu certitudine dacă cei de la NSA sau de la vreo altă organizație au reușit sau nu să spargă DES. Experiența a arătat însă că orice schemă criptografică are o viață limitată și că avansul tehnologic reduce, mai devreme sau mai târziu, securitatea furnizată de ea.

Al doilea moment important în evoluția criptografiei moderne l-a constituit adoptarea unui principiu diferit de acela al cifrării simetrice. Whitfield Diffie și Martin Hellman, cercetători la Univeritatea Stanford din California, prin articolul "New Directions in Criptography", publicat în 1976 în revista IEEE Tranactions on Information Theory, au pus bazele "criptografiei asimetrice" cu chei publice. în locul unei singure chei secrete, criptografia asimetrică folosește două chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este imposibilă deducerea unei chei din cealaltă, una din chei este făcută publică, fiind pusă la îndemâna oricui dorește să transmită un mesaj cifrat. Doar destinatarul, care deține cea de-a doua cheie, poate descifra și utiliza mesajul. Tehnica cheilor publice poate fi folosită și pentru autentificarea mesajelor, fapt care i-a sporit popularitatea. Nu este, deci, de mirare că guvernul SUA a inițiat adoptarea unui standard de semnătură digitală bazat pe conceptul de cheie publică. Un cifru se definește ca transformarea unui mesaj clar sau text clar în mesaj cifrat ori criptogramă. Procesul de transformare a textului clar în text cifrat se numește cifrare sau criptare, iar transformarea inversă, a criptogramei în text clar, are denumirea de descifrare sau decriptare. Atât cifrarea cât și descifrarea sunt controlate de către una sau mai multe chei criptografice.

Există două tipuri de sisteme criptografice:

simetrice (cu cheie secretă) care folosesc aceeași cheie, atât la cifrarea cât și la descifrarea mesajelor.

asimetrice (cu chei publice) care folosesc chei distincte de cifrare și descifrare (dar legate una de alta). Una din chei este ținută secretă și este cunoscută doar de proprietarul ei. A doua cheie (perechea ei) este făcută publică, de unde și numele de criptografie cu cheie publică.

2.4.2. Algoritmi criptografici cu cheie secretă

Principiile de criptare din algoritmii cu cheie secretă au evoluat odată cu aparitia calculatoarelor; ele continuă însă să se bazeze pe metodele traditionale, cum ar fi transpozitia si substitutia. Algoritmii cu cheie secretă sunt caracterizati de faptul că folosesc aceeasi cheie atât în procesul de criptare, cât si în cel de decriptare . Din acest motiv, acesti algoritmi mai sunt cunoscuti sub numele de algoritmi simetrici; pentru aplicarea lor este necesar ca înaintea codificării / decodificării, atât emitătorul cât si receptorul să posede deja cheia respectivă. În mod evident, cheia care caracterizează acesti algoritmi trebuie să fie secretă(Figura 2.4).

Principalul dezavantaj al algoritmilor simetrici constă în faptul că impun un schimb de chei private înainte de a se începe transmisia de date. Altfel spus, pentru a putea fi utilizati,

este necesar un canal cu transmisie protejată pentru a putea fi transmise cheile de criptare/decriptare.

Figura 2.4- Schema de aplicare a unui algoritm simetric

Securitatea criptării simetrice (cu cheie secretă) depinde de protecția cheii; managementul acestora este un factor vital în securitatea datelor și cuprinde următoarele aspecte:

generarea cheilor. Pentru cheile de sesiune sau de terminal sunt necesare proceduri automate, funcții matematice și diverși parametri (numărul curent al apelurilor sistem, data, ora etc).

distribuția cheilor. Cu privire la transportul cheii secrete, problema este în general rezolvată prin folosirea unei alte chei, numită cheie terminal, pentru a o cripta. Cheile de sesiune – generate numai pentru o comunicație – sunt transportate criptat cu cheile terminal care, de asemenea, pot fi protejate (când sunt memorate) cu altă cheie, numită cheie master.

memorarea cheilor. Utilizarea algoritmilor simetrici, în cazul a N entități care doresc să comunice, implică N(N-1)/2 chei de memorat într-un mod sigur. în realitate, nu toate legăturile bidirecționale se stabilesc la același timp; este motivul pentru care se utilizează cheile de sesiune. Cheile terminal, care criptează numai date foarte scurte (chei de sesiune), sunt foarte dificil de atacat. Întâlnim următoarele tipuri de sisteme de criptare cu algoritmi cu cheie secretă:

cifrul DES

cifrul IDEA;

cifrul FEAL;

cirful LOKI;

cifrul RC6.

Algoritmul IDEA

Un alt cifru renumit este IDEA (International Data Encryption Algorithm), realizat de doi cercetători la Politehnica Federală din Zürich (ETHZ). Algoritmul IDEA este cel mai bun algoritm din punct de vedere al securitatii si este utilizt mult in INTERNET.

Principiul algoritmului se bazeaza pe amestecul unor operatii algebrice in diferite grupuri,foloseste o cheie de 128 de biti.Cifrarea si descifrarea se fac pe blocuri de 64 biti si este usor de implementat hard si soft:

– XOR

– Adunare modulo 216

– Produs modulo 216+1( operatie vazuta ca o cutie S)

Descrierea formala a algoritmului(Figura 2.5):

Intrare: M =64 biti reprezentand blocul clar, M=(M1,M2,M3,M4);

K0=64 biti reprezentand cheia initiala;

Iesire : C=64 biti reprezentand blocul cifrat.

Figura 2.5- Schema generala a algoritmului IDEA

Operatii: + = aduna modulo 216(rezultatul operatiei este un intreg pe 16 biti)

* = inmultirea modulo 216 (rezultatul operatiei este un intreg pe 16 biti)

(+) = XOR

Notatii: Mi= 16 biti reprezentand subbloculclar ,i=1..4;

Ci = 16 biti reprezentand subblocul criptat ,i=1..4;

Ki = 16 biti reprezentand subblocul cheii ,i=1..6;

#Ki =16 biti reprezentand inversul numarului Ki fata de operatia ‘+’ , i=1..4;

@Ki=16 biti reprezentand inversul numarului Ki fata de operatia ‘*’,i=1..4;

Figurs 2.6- Pseudonimul algoritmului de criptare/decriptare

Crearea subcheilor este simpla(Figura 2.7). Algoritmul utilizeaza 52 de subchei ( 6 pentru fiecare iteratie si 4 finale).Prima data cei 128 de biti ai cheii sunt divizati in 8 subchei de 16 biti.Acestea sunt primele sub chei pentru algoritm (6 pentru prima iteratie si 2 pt a doua).

Apoi cheia este rotita cu 25 de biti la staina si divizata iar in 8 subchei.Se procedeaza similar pana la obtinerea tuturor subcheilor necesare.

PERUTARE1(K)=permutare definita de implementator , K=64 biti

PERUTARE2(K)=permutare definita de implementator , K=64 biti

STANGA(k,i)=deplasare ciclica spre stanga a lui k cu i pozitii, k=32 biti;

Figura 2.7- Algoritm de generare al cheilor de iterație

2.4.3. Algoritmi criptografici cu cheie publică

În locul unei singure chei secrete, criptografia asimetrică folosește două chei diferite, una pentru cifrare, alta pentru descifrare. Deoarece este imposibilă deducerea unei chei din cealaltă, una din chei este făcută publică, fiind pusă la îndemâna oricui dorește să transmită un mesaj cifrat. Doar destinatarul, care deține cea de-a doua cheie, poate descifra și utiliza mesajul. Tehnica cheilor publice poate fi folosită și pentru autentificarea meajelor prin semnătură digitală, fapt care i-a sporit popularitatea.

Fiecare dintre aceste chei poate cripta mesajul, dar un mesaj criptat cu o anumită cheie nu poate fi decriptat decât cu cheia sa pereche.Astfel, în cazul utilizării unui algoritm asimetric în comunicarea dintre un emitător si un receptor (Figura 2.8), fiecare dintre acestia va detine câte o pereche de chei – publică si privată. Emitătorul poate cripta mesajul cu cheia publică a receptorului, astfel încât doar acesta să poată decripta mesajul cu cheia sa privată. În cazul unui răspuns, receptorul va utiliza cheia publică a emitătorului astfel încât decriptarea să se poată face exclusiv de către emitător (cu cheia sa pereche, privată).

Cheile algoritmilor asimetrici sunt obtinute pe baza unei formule matematice din algebra numerelor mari, pentru numere prime între ele, iar din valoarea unei chei nu poate fi dedusă valoarea cheii asociate. Remarcăm faptul că aplicarea în informatică a calculelor modulo numere prime s-a dovedit extrem de benefică pentru multi algoritmi moderni.

Figura 2.8- Schema de aplicare a unui algoritm asimetric

Întâlnim următoarele tipuri de sisteme de criptare cu algoritmi cu cheie publică:

sisteme de cifrare exponențială RSA (Rivert-Shamir-Adleman);

cifrul EL GAMAL (EG);

standardul DSS de semnătură digitală

Algoritmul RSA

Un alt algoritm performant a fost descoperit de un grup de cercetători de la MIT – Ronald Rivest, Adi Shamir, Leonard Adelman – si s-a numit cu initialele creatorilor lui: RSA. Acest cifru cu chei publice reprezinta standardul in domeniul semnaturilor digitale si al cofidentialitatii.El se bucura de o foarte mare apreciere atat in mediul guvernamental cat si in cel comercial.RSA este bazat pe cvasi-imposibilitatea actuala de a factoriza numere intregi mari in timp ce a gasi numere prime mari este usor;functiile de criptare/decriptare sunt exponentiale unde exponentul este cheia si calculele se fac in inelul claselor de resturi modulo n.

Fie p si q doua numere prime foarte mari (de exemplu de 100 cifre zecimale)

– cifrarea mesajului X este E(X)=Xe mod(p*q);

– descifrarea mesajului X este D(X)=Xdmod (p*q);

Intregii e si d reprezinta cheile (una publica,cealalta secreta) , p si q sunt secrete iar produsul p*q este facut public.

Baza teoretica este teorema lui Fermat care stabileste ca:

-daca q este un numar prim si daca (X=!0 mod p) atunci Xq-1 = 1modp

Teorema are 2 proprietati asociate:

-daca r-1=k mod p-1 Xr =X mod p;

-daca erd-1=k(p-1)(q-1) atunci Xed =Xde=X mod p; Xed =Xde=X mod q

In cadrul acestei metode modulul n este obtinut prin produsul (secret) a doua numere prime mari : n= p* p astfel incat indicatorul lui Euler , φ(n)=(p-1)*(q-1) devine mult mai greu de determinat ; se vor face publice e si n iar d va fi tinut secret.Se recomanda alegerea unui d relativ prim cu φ(n) in intervalul [max(p,q)+1,n-1].In acest caz e se va calcula astfel:

E=inv(d,φ(n))

Securitatea metodei depinde de difivultatea factorizarii lui n in p si q.Este sugerata utilizarea unor numere prime de 100 cifre ,adica a unui n de 200 cifre zecimale ceea ce cere pentru factorizare mai multe milioane de ani.

Deoarece cifrarea si descifrarea sunt functii mutual inverse metoda RSA poate fi utilizata atat la secretizare cat si la autentificare.Fiecare utilizator A obtine modulul nA si exponentii eA si dA .Apoi A va inregistra intr-un fisier public cheia publica (nA ,eA) in timp ce va tine secreta pe dA .

Un alt utilizator B va putea emite un mesaj secret M utilizand transformarea de cifrare publica a lui A adica ridicarea la putere eA , modulo nA a mesajului :

EA (M)=MeA mod nA

La receptie A va obtine mesajul in clar :

DA (EA (M))=MeAdA mod nA =M

Utilizatorul A va putea semna un mesaj M catre B calculand:

DA(M)=MdAmod nA

Iar B va autentifica acest mesaj utilizand cheia public a lui A:

EA(DA (M))=MdAeA mod nA =M

3.IPTABLES VS. ZONE ALARM

3.1. Descriere generală de funcționare

Iptables:

Comanda iptables insereaza si sterge reguli din tabela de filtrare a pachetelor din kernel. Setarile firewall-ului curent sunt pastrate in kernel, si de aceea vor fi pierdute la repornirea calculatorului.Se pot folosi scripturile iptables-save si iptables-restore pentru a salva sau a restaura setarile firewall-ului dintr-un fisier. O alte cale este sa punem comenzile pentru setarea regulilor intr-un script de initializare.

Sunt mai multe lucruri pe care le putem face cu iptables. Pornim la drum cu trei chainu-ri default care nu pot fi sterse INPUT, OUTPUT si FORWARD. Sa privim operatiile care se pot aplica pentru un intreg chain (Figura 3.1):

1. Creearea unui lanț nou (-N).

2. Stergerea unui lanț gol (care nu contine reguli) (-X).

3. Schimbarea politicii pentru un lanț standard (-P).

4. Listarea regulilor dintr-un lanț (-L).

5. Stergerea tuturor regulilor dintr-un lnaț (-F).

6. Resetarea numaratorilor de pachete pentru toate regulile dintr-un lanț (-Z).

Sunt mai multe moduri șn care se pot manipula regulile într-un lanț:

1. Adaugarea șn coada lanțului a unei noi reguli (-A).

2. Insereaza o regula noua la o anumita pozitie în lanț (-I). Daca nu este precizată poziția printr-un număr atunci regula este adaugată la începutul lanțului.

3. Înlocuieste o regulă la o anumită poziție în lanț (-R).

4. Sterge o regula la o anumită poziție în lanț, sau prima care se potrivește (-D).

Figura 3.1- Mod de utilizare iptables.

ZoneAlarm:

Oferă o protecție fără egal împotriva hackerilor de pe internet. Cu caracteristici precum modul de utilizare "stealth" și un firewall foarte configurabil care poate fi activat cu un click de mouse, ZoneAlarm este un instrument esențial pentru a păstra datele în siguranță si a tine la distanta persoanele care doresc sa acceseze neautorizat sistemul.

ZoneAlarm se poate preconfigura pentru toate domeniile de adrese și subrețele pe care dorim ca acesta să le accepte. De exemplu rețeaua de acasă și cea de la serviciu pot intra în zona de încredere (Trusted). Altfel, firewall-ul poate învata să se descurce cu rețelele noi și necunoscute prin afișarea unei notificari în momentul în care încercam sa le accesăm. În acel moment, le putem accesa, dupa caz, sau putem să le clasifican ca fiind în zonele de incredere (Trusted), zona Internet sau zona fara access (Blocked).

ZoneAlarm este compus din mai multe module (Figura 3.2) și dintre care cele mai importante ar fi: firewall-ul, controlul programelor și modulul spyware.Celelalte module extrem de folositoare sunt: modulul de monitorizare al antivirus-ului, protecția e-mail-urilor, modulul privacy, protecția datelor personale și modulul de alerta și jurnal al firewall-ului.

Firewall-ul cuprinde 2 submodule principale, primul care detectează automat rețeaua la care suntem conectați și al 2-lea în care se pot construi reguli de blocare sau acceptare a conexiunilor și transferului de pachete dupa adresa IP ca sursa și destinație, port sursa și port destinație, protocolul folosit etc.

Modulul de control al programelor se ocupa cu detectarea tuturor programelor care încearca să acceseze rețeaua locala sau internet-ul și a tuturor componentelor utilizate de fiecare program și poate lasa sau bloca aceste programe să acceseze internet-ul, să funcționeze ca server sau chiar să trimit e-mail-uri.

Modulul anti-spyware scaneaza și curata sistem-ul de aplicașiile tip spion totodata blocand acces-ul la site-urile de pe care s-a produs infectarea.

Dintre celelalte module prezente cele mai interesante ar fi ultimele 2 si anume modulul de protecție a datelor personale, în care se pot adăuga diverse tipuri da date confidențiale precum parole, pin-uri de la credit card, adrese de e-mail, adresa domiciliu, cont bancar etc; o data adăugate în baza de date acestea vor fi detectate atunci cand un program va încerca să le trimita în rețeaua internet (exemplu: logarea pe un cont de e-mail din internet explorer ) și ne va cere permisiunea pentru acest lucru; și modulul de alerta și creare jurnal care realizează un jurnal al regulilor de filtrare din firewall, a controlului programelor, al spyware-ului, cuprinzand o serie de informații precum adresa ip sursa, port sursa, adresa ip destinație, port destinație, direcția pachtelor, protocol, data, rata, acțiune etc.

Figura 3.2- Prezentare generală ZoneAlarm

Iptables:

O caracteristica puternica pe care iptables o mosteneste de la ipchains este posibilitatea utilizatorului de a crea lanțuri/blocuri (chains) noi, pe langa cele incluse standard (INPUT, OUTPUT si FORWARD). Prin conventie, lanțurile (chains) definite de catre utilizator se scriu cu litera mica pentru a le deosebi.

Cand un pachet se potriveste cu o regula a carei ținta este un lant (chain) definit de catre utilizator, pachetul incepe sa traverseze lanțul definit de catre utilizator. Daca acel lanț nu decide soarta pachetul de îndata ce pachetul ajunge la sfarsitul lanțului respectiv, pachetul continua traversarea lanțului initial.

Considera doua lanțuri: INPUT (Tabelul 3.1) (chain-ul inclus default) si TEST (Tanelul 3.2) (un chain definit de utilizator).

Tabel 3.1- Blocul standard INPUT Tabel 3.2- Blocul creat: TEST

Considera un pachet TCP venind de la 192.168.1.1 si ducandu-se către 1.2.3.4. Acesta intra in blocul INPUT. Regula1 nu se potriveste cu el, Regula2 se potriveste asa ca urmatoarea regula care este examinata este prima din blocul test. Regula1 se potriveste dar nu este specificată nici o tinta, asa ca urmatoarea regulă este examinată. Regula2 nu se potriveste asa ca am ajuns la sfarsitul chain-ului. Astfel ne reintoarcem in chain-ul INPUT, unde am examinat Regula2, asa ca examinam Regula3 care nici aceasta nu se potriveste.

Chain-urile definite de catre utilizator pot sari la alte chain-uri definite de catre utilizator (daca se creeaza trasee in cerc, pachetele vor fi ignorate daca intra in bucla).

Exemplu:

Cei mai multi oameni au o singura conexiune PPP spre Internet, și nu vor ca cineva sa intre înapoi în rețeaua lor.Pentru a rezolva aceasta problemă realizam urmatoarele setari pentru firewall:

Se creeaza lanțul (definit de utilizator) care blochează conexiunile noi, cu excepția celor venite din interior: (Figura 3.4)

Figura 3.3- Firewall oprit: afișare lanțuri default fara reguli de filtrare.

# iptables -N block

# iptables -A block -m state –state ESTABLISHED,RELATED -j ACCEPT

# iptables -A block -m state –state NEW -i ! ppp0 -j ACCEPT

# iptables -A block -j DROP

Figura 3.4- Creare bloc nou și adaugarea de noi regului în cadrul blocului.

Se sare la acest lanț din lanțurile INPUT si FORWARD: (Figura 3.5)

# iptables -A INPUT -j block

# iptables -A FORWARD -j block

Figura 3.5- Crearea referințelor.

Observatii:

1. Cand un pachet vine (sa zicem, prin placa de retea) kernelul se uita intai la destinatia pachetului: aceasta se numeste "routing"(rutare).

2. Daca pachetul este destinat pentru aceasta masină, pachetul trece pe diagramă in lanțul INPUT. Daca trece de acest lanț, orice proces care asteaptă acel pachet il va primi.

3. In caz contrar, daca kernelul nu are forwarding-ul pus, sau nu știe cum să direcționeze pachetul, acesta este ignorat. Daca este pus forwarding-ul, si pachetul are ca destinație o alta interfața de rețea (daca mai ai inca una), atunci pachetul se duce în diagrama noastra direct catre lanțul FORWARD. Daca este acceptat pachetul va fi transmis.

4. In final, un program ce ruleaza pe sistem poate trimite pachete. Aceste pachete trec direct in chain-ul OUTPUT: daca este acceptat pachetul isi continua drumul fara sa conteze interfata spre care este destinat.

In cazul ZoneAlarm-ului modulul firewall cuprinde 2 submodule, primul care detecteaza adresa ip a sistemului și rețeaua la care ne conectăm cerandu-ne să încadram rețeaua în una din cele 2 zone : de încredere (Trusted) sau Internet (Figura 3.6); și al 2-lea în care putem sa adaugăm reguli de filtrare a traficului.

Figura 3.6- Adăugarea noii rețele depistată de firewall

3.2. Reguli de filtrare.Opțiuni de filtrare

Operații pentru o singură regulă

Iptables:

Aceasta este baza filtrarii de pachete; manipularea regulilor. Cel mai obișnuit, vom folosi comenzile de adăugare (-A) și stergere (-D). Celelalte (-I pentru inserare si -R pentru înlocuire) sunt doar extensii ale acestor concepte.

Fiecare regula specifica o multime de conditii pe care un pachet trebuie sa le îndeplineasca și ce sa faca dacă acestea sunt îndeplinite (o "tinta" (target)). De exemplu, s-ar putea să dorim să ignoram toate pachetele de tip ICMP care vin de la adresa 127.0.0.1. Deci, în acest caz condițiile noastre sunt ca protocolul sa fie ICMP si ca adresa sursă sa fie 127.0.0.1. "tinta" noastra este DROP. 127.0.0.1 este interfată "loopback", pe care o avem chiar daca nu avem conexiune reala de rețea. Putem folosi programul "ping" pentru a genera acest tip de pachete (pur si simplu trimite pachete ICMP de tip 8 (echo request) la care toate host-urile ar trebui să răspunda cu pachete ICMP de tip 0 (echo replay)). Aceast program este foarte folositor pentru teste.

Figura 3.7- Generare pachete ICMP

Putem vedea in Figura 3.7 ca primul ping reușește ("-c 3" spune sa sa trimita doar 3 pachete): programul ping va trimite 3 pachete de tip ICMP si va aștepta primirea raspunsului pentru fiecare pachet trimis.

Apoi adaugam în coada (-A) lanțului "INPUT", o regula ce spune că pentru pachetele de la 127.0.0.1 ("-s 127.0.0.1") de tip ICMP ("-p icmp") trebuie să sărim la "DROP" ("-j DROP").Apoi testăm regula noastră, folosind al doilea ping (Figura 3.8). Va fi o pauza pana cand programul se dă batut să astepte un raspuns care nu va veni niciodată.

Figura 3.8- Stoparea intrării tuturor pachetelor de tip ICMP.

ZoneAlarm:

Ca și in cazul utilitarului iptables, zone alarm prezinta un mdul pentru regulile de filtrare a pachetelor.Acesta perminte adăugarea unei noi reguli de filtrare, ștergerea unei reguli,modifcarea precum și activarea/dezactivarea și mutarea unei reguli în lista de reguli creată. (Figura 3.9)

Figura 3.9- Adăugare,modificare,stergere reguli.

Opțiuni de filtrare

Am vazut folosirea optiunii "-p" pentru a specifica protocolul, si optiunii "-s" pentru a specifica adresa sursa, dar sunt alte optiuni pe care le putem folosi pentru a preciza caracteristici ale pachetului.

Specificarea IP-ului sursă si destinație:

Iptables: Adresele IP ale sursei ("-s", "–source" sau "–src") si destinatiei ("-d", "–destination" sau "–dst") pot fi specificate in patru moduri. Cea mai obisnuita forma este sa folosesti numele complet, cum ar fi "localhost" sau "www.securityorg.net". Cea de-a doua cale este sa specifici adresa IP cum ar fi "127.0.0.1".

Cea de a treia si a patra cale permite specificarea unui grup de adrese IP, cum ar fi "199.95.207.0/24" sau "199.95.207.0/255.255.255.0". Amandoua specifica orice adresa IP de la 199.95.207.0 pana la 199.95.207.255 inclusiv; cifrele dupa "/" spun care parti din adresa IP sunt semnificative. "/32" sau "/255.255.255.255" este default (se potriveste cu toata adresa IP).

ZoneAlarm: Adresele sursa si destinatie pot fi specificate in mai multe moduri: prin nume, adresa ip, interval de adrese ip, subnet cu specificaea adresei ip si prin gatway cu specificarea adrese MAC.

Specificarea protocolului:

Iptables: Protocolul poate fi specificat prin optiunea "-p" (sau "–protocol").

Protocolul poate fi un numar ( daca stii valorile numerice de protocol pentru IP) sau un nume pentru cazurile speciale de "TCP", "UDP" sau "ICMP". Nu conteaza daca se foloseste sau nu CAPS, asa ca "tcp" merge la fel ca si "TCP".

Numele protocolului poate fi precedat de "!", pentru a inversa, ca si "-p ! tcp" pentru a specifica pachetele care nu sunt TCP.

ZoneAlarm: Protocoalele disponibile care pot fi specificate sunt: TCP, UDP, TCP & UDP, ICMP si IGMP.O data cu specificarea protocolului trebuie specificate si porturile (sursa/destinatie).

Specificarea unei interfețe:

Iptables: Optiunea "-i" (sau "–in-interface") si "-o" (sau "–out-interface") specifica numele interfatei cu care sa corespunda. O interfata este dispozitivul fizic prin care intra pachetul ("-i") sau prin care iese pachetul ("-o"). Poti folosi comanda ifconfig pentru a lista interfetele care sunt "sus" (i.e., in stare de functionare in acel moment).

Pachetele care traverseaza chain-ul "INPUT" nu au o interfata de iesire, asa ca orice regula care foloseste "-o" in acest chain nu se va potrivi niciodata. In mod similar pachetele care travereseaza chain-ul OUTPUT nu au o interfata de intrare, asa ca orice regula care foloseste "-i" in acest chain nu se va potrivi niciodata.

Doar pachetele care travereseaza chain-ul FORWARD au o interata de intrare si de iesire. Este perfect valabil sa specifici o interfata care nu exista; regula nu se va potrivi cu nici un pachet pana cand interfata nu este sus. Aceasta este extrem de folositor pentru legaturi PPP de dial-up (de obicei interfete ppp0) si asemanatoare.

Ca un caz special, un nume de interfata terminandu-se cu "+" se va potrivi cu toate interfetele (fie ca exista sau nu) care incep cu acel sir de caractere. De exemplu pentru a specifica o regula care sa se potriveasca tuturor interfetelor PPP, optiunea -i ppp+ ar fi folosita.

ZoneAlarm: Realizeaza filtrarea traficului pe interfata principala a sistemului si dupa adresa ip a acesteia.Nu prezinta optinue de specificare a unei anumite interfete la fel ca utilitarul iptables (eth+, ppp+, loopback)

Opțiuni extinse TCP:

Optiunile extinse TCP sunt disponibile in mod automat daca se specifica optiunea "-p tcp". Aceste optiuni sunt urmatoarele (nici una dintre ele nu se vor potrivi cu fragmente):

–tcp-flags – poate fi urmat de semnul optional "!", apoi de doua siruri de flag-uri, care permite filtrarea dupa anumite flag-uri. Primul sir de flag reprezinta mask-ul, flag-urile pe care doresti a le examina. Al doilea sir reprezinta care dintre acestea ar trebui sa fie prezente.

De exemplu:

# iptables -A INPUT –protocol tcp –tcp-flags ALL SYN,ACK -j DROP

Aceasta comanda spune ca toate flag-urile trebuiesc examinate ("ALL" este sinonim cu "SYN,ACK,FIN,RST,URG,PSH"), dar doar SYN si ACK trebuie sa fie setate. Exista de asemnea un argumente "NONE" similar pentru nici unul dintre acestea.

–syn – In mod optional precedata de semnul "!", este o prescurtare pentru "–tcp-flags SYN,RST,ACK SYN"

–source-port – poate fi urmat de un optional "!", si fie de un singur port, fie de o sir de porturi. Porturile pot fi specificate fie folosind numere fie folosind nume, asa cum sunt specificate in /etc/services.Sirurile se specifica prin doua porturi despartite de ":", sau (pentru a specifica o sir de porturi mai mare sau egal cu un port dat) un port urmat de ":", sau (pentru a specifica o lista de porturi mai mica sau egala decat un port dat) un port precedat de ":".

–tcp-option – urmat de un optional "!" si un număr, se potriveste pentru un pachet cu opțiunea TCP egala cu acel număr. Un pachet care nu are un header complet TCP este ignorat automat daca este facuta încercarea de a se examina headerele TCP.

Opțiuni extinse UDP:

Aceste opțiuni sunt automat disponibile cand se specifica "-p udp". Acestea sunt: "–source-port", "–sport","–destination-port" și "–dport" care au fost detaliate mai sus.

Opțiuni extinse ICMP

Aceste optiuni sunt automat disponibile cand se specifica "-p icmp". Este doar o singura opțiune noua:

–icmp-type – urmat de un semnul optional "!", apoi de numele tipului icmp (ex. "host-unreachable"), sau tipul numeric (ex. "3"), sau tipul numeric și codul separate de "/" (ex. "3/3"). O lista a numelor de tipuri de pachete icmp este data folosind "-p icmp –help".

ZoneAlarm:

Opțiunile extinse existente pentru protocoalele TCP,UDP si ICMP sunt mai puține la numar fața de cele prezentate în cazul utilitarului iptables și anume: pentru protocolul TCP și UDP se pot specifica doar portul sursa și portul destinație iar pentru protocolul ICMP se poate specifica doar tipul dintr-o lista predefinită.(Figura 3.10)

Figura 3.10- Adăugarea unei noi reguli de filtrare cu specificare de opțiuni.

Exemple:

Protecție pentru syn-flood:

# iptables -A FORWARD -p tcp –syn -m limit –limit 1/s -j ACCEPT

Pentru scannere de porturi clandestine:

# iptables -A FORWARD -p tcp –tcp-flags SYN,ACK,FIN,RST RST -m limit –limit 1/s -j ACCEPT

Pingul morții:

# iptables -A FORWARD -p icmp –icmp-type echo-request -m limit –limit 1/s -j ACCEPT

Alte opțiuni ale utilitarelor:

Iptables: Cea mai folositoare optiune este furnizata de modulul "state", care interpreteaza analizele detectorului de conexiuni ale modulului "ip_conntrack". Aceasta este foarte recomandata.

Specificarea modulului "-m state" permite folosirea unei opțiuni adiționale de stare "–state". Aceste stari sunt:

NEW – un pachet care creeaza o noua conexiune.

ESTABLISHED – un pachet care apartine unei conexiuni deja stabilite (un pachet replica (replay), sau un pachet care pleaca al unei conexiuni care a primit replayuri).

RELATED – Un pachet care este inrudit, dar care nu este parte a unei conexiuni existente, cum ar fi o eroare ICMP, sau (cu modulul FTP introdus), un pachet care stabileste o conexiune FTP.

INVALID – Un pachet care nu a putut fi identificat pentru niste motive: aceasta include ramanerea fara memorie sau erori ICMP care nu aparțin nici unei conexiuni cunoscute. În mod normal aceste pachete ar trebui ignorate.

Un exemplu pentru aceasta puternica optiune de potrivire ar fi:

# iptables -A FORWARD -i ppp0 -m state –state ! NEW -j DROP

ZoneAlarm:

Utilitarul mai prezinta 2 opțiuni folositoare și anume cea de protectie a datelor personale, în care se pot adauga diverse tipuri da date confidentiale precum parole, pin-uri de la credit card, adrese de e-mail, adresa domiciliu, cont bancar etc; o data adaugate în baza de date acestea vor fi detectate atunci cand un program va încerca sa le trimita în reteaua internet (exemplu: logarea pe un cont de e-mail din internet explorer ) și ne va cere permisiunea pentru acest lucru; și cea de alerta și creare jurnal (Figura 3.11) care realizează un jurnal al regulilor de filtrare din firewall, a controlului programelor, al spyware-ului, cuprinzand o serie de informatii precum adresa ip sursa, port sursa, adresa ip destinație, port destinație, direcția pachtelor, protocol, data, rata, acțiune etc.

Figura 3.11- Vizualizare jurnal firewall.

Exemplificare folosire opțiuni extinse:

Se dorește blocarea, de pe serverul curent, a conexiunilor la anumite serverele web de pe internet în scopul interzicerii conectarii si descarcarii de informatii sau aplicatii de pe acele servere.Pentru acest lucru vom proceda la construirea unei regului de filtrare care va fi adaugata în lanțul (chain-ul) standard OUTPUT.Prin aceasta regula vom spune firewall-ului sa opreasca toate încercarile de conectare la un anumit server care accepta conexiuni pe portul 80 (web server).

În Figura 3.12 observăm încercarea și reușita de conectare la un server web microsoft pentru descarcarea diverselor aplicații pentru platofrma Windows.

Figura 3.12- Conectare la server web cu transfer de pachete.

Figura 3.13- Adăugare regulă de filtrare și incercare nereusită de conectare la server web

În Figura 3.13 observăm că, dupa adaugara regulei de filtrare la blocul OUTPUT, pentru blocarea tuturor cererilor de conectarea la serverul microsoft cu ajutorul opțiunii –d ( adresa destinatie ), opțiunii –dport ( portul destinatie ) si procesul de conectare este refuzat.

Alte operații asupra unui intreg lanț (chain):

Stergerea unui lanț (chain):

Și sergerea unui lanț este deasemenea simpla, prin folosirea opțiunilor "-X" sau "–delete-chain".

# iptables -X test

Sunt cateva restricitii la stergerea de lanțuri: acestea trebuie sa fie goale si nu trebuie sa fie tinta nici unei reguli. Nu poti sterge nici unul dintre lanțurile incluse standard.

Daca nu specific numele lanțului, atunci toate lanțurile definite de catre utilizator vor fi sterse daca este posibil.

Stergerea tuturor regulilor unui lanț:

Exista un mod simplu de a șterge toate regulile dintr-un lanț, folosind opțiunile "-F" (sau "–flush").

# iptables -F FORWARD

Daca nu este specificat lanțul atunci toate lanțurile vor fi sterse de reguli.

Listarea unui lanț:

Poți lista toate regulile dintr-un lanț prin folosirea optiunii "-L" (sau "–list").

"refcnt-ul"(reference count) listat pentru fiecare lanț definit de catre utilizator este numarul de reguli care au ca ținta acest lanț. Acesta trebuie sa fie zero (si chain-ul sa fie gol) inainte ca acest lanț sa poată fi șters.

Daca numele lanțului este omis, toate lanțurile sunt listate, chiar și cele care sunt goale.

Exista trei opțiuni care pot fi adaugate la "-L". Opțiunea "-n" (numeric) este foarte folositoare deoarece previne iptables în a încerca sa rezolve IP-urile în nume, care (daca folosești DNS ca majoritatea oamenilor) va cauza mari intarzieri daca DNS-ul tau nu este setat corect, sau ai filtrat cererile catre DNS. Determina deasemenea ca porturile TCP și UDP sa fie afișate ca numere în loc de nume.

Opțiunea "-v" arata toate detaliile regulilor, cum ar fi numaratorii de pachete și biti, comparațiile TOS, interfața. Altfel aceste detalii sunt omise.

Observa faptul urmator: numaratorii pentru pachete și biti sunt afiște folosind sufixele "K", "M" sau "G" pentru 1000, 1,000,000 și respectiv 1,000,000,000. Folosirea lui opțiunii "-x" (expandare a numerelor) afișeaza numerele în formatul maxim, fara sa conteze cat sunt de mari.

Figura 3.14- Stergere reguli; stergere bloc utilizator;

Resetarea numaratorului (counter):

Este folositoare posibilitatea de a putea să resetezi numaratorii (counters). Aceasta poate fi facuta cu opțiune "-Z" (sau "–zero").

Setarea politicii (policy) unui bloc standard:

Am explicat ce se intampla cand un pachet ajunge la capatul unui lanț inclus default si am discutat mai devreme cum parcurge un pachet lanțurile. In acest caz, politica lanțului determina soarta pachetului. Doar lanțurile incluse standard (INPUT, OUTPUT și FORWARD) au politici, deoarece daca un pachet ajunge la capatul unui lanț definit de catre utilizator, traversarea continua în lanțul anterior.

Politica poate fi fie ACCEPT, fie DROP, de exemplu:

# iptables -P FORWARD drop

CONCLUZII

In final putem spune că în realizarea unei rețele de calculatoare nu este de ajuns să conectăm fizic și logic acele sisteme ci de abia dupa aceea vine munca cea mai grea și anume securizarea acelor sisteme și a întregii rețele pentru o mai buna funcționare, o mai mare stabilitate și o mai lungă durată de viată a acesteia.

Astfel pentru realizarea unei rețele sigure ar trebui sa ținem seamă de cateva niveluri de securitate și anume: nivelul fizic și nivelul logic care cuprinde securitatea accesului la sistem, la cont, drepturile de acces, securitatea serviciilor prin controlul serviciilor și drepturile la servicii.In acelasi timp 2 mari obiective trebuie luate în seama: analiza vulnerabilităților, adică identificarea elementelor potențial slabe ale rețelei si definirea politicii de securitate în funcție de rezultatele obțiune din analiza vulnerabilităților.

Trebuie cunoscute foarte bine și metodele de atacuri asupra rețelelor.Acestea pot fi pasive în cadrul cărora intrusul observă informația ce trece prin ‘canal’, fără să interfereze cu fluxul sau conținutul mesajelor ; si active în care intrusul se angajează fie în furtul mesajelor, fie în modificarea, reluarea sau inserarea de mesaje false.Cunoașterea foarte buna a acestora permite posibilitatea implementării unor mecanisme de securitate în rețelele de calculatoare chiar si de arie largă, în particular – Internet-ul cu ajutorul diverselor utilitare sau prin forțe proprii.

Conectarea unui calculator la INTERNET presupune, în general, folosirea sistemului de operare UNIX și a suitei de protocoale TCP/IP. Aceste componente au propriile lor probleme de securitate. Accesul la INTERNET presupune, însă, și folosirea unui set de câteva zeci de servicii, programe, cu numeroase probleme de securitate, fie datorită unor erori în software, fie datorită neîncorporării unor facilități de securitate potrivite. In general, pentru ca un utilizator să poată lua măsurile de securitate adecvate la conectarea în rețea, el trebuie să înțeleagă modul în care sistemul de operare UNIX lucrează cu INTERNET-ul.O soluție la aceste probleme ar putea fi folosirea unor firewall-uri pentru fiecare calculator dar si pentru protecția întregii rețele.

Un firewall este un sistem care impune o politică de control al accesului între două rețele. Un firewall reprezintă implementarea acestei politici în termeni de configurare a rețelei, unul sau mai multe sisteme gazdă și ruter-e cu funcțiuni speciale, alte măsuri de securitate, cum ar fi autentificarea prin metode criptografice a clienților.Cu alte cuvinte, un firewall este un mecanism folosit pentru a proteja o rețea sigură din punctul de vedere al securității de una nesigură, în care nu putem avea încredere.

Cel mai simplu și primul tip de firewall ar fi filtrarea de pachete. Tot traficul Internet este transmis în formă de pachete. Un pachet este o cantitate de date de dimensiune limitată pentru a ușura prelucrarea lui. Când sunt transmise cantități mari de date, acestea sunt împărțite în mai multe pachete numerotate care la partea de recepție sunt reasamblate. Tot traficul Internet : fișierele transferate, paginile web, mesajele electronics sunt transmise în pachete.

O alta metodă de securizare a retelelor ar fi securitatea prin criptare, astfel toate informațiile care ar trebui trimise de la o rețea la alta prin intermediul internetului s-ar putea face criptat. Criptografia este știința scrierilor secrete. Ea stă la baza multor servicii și mecanisme de securitate folosite în internet, folosind metode matematice pentru transformarea datelor, în intenția de a ascunde conținutul lor sau de a le proteja împotriva modificării.

Există două tipuri de sisteme criptografice:

simetrice (cu cheie secretă) care folosesc aceeași cheie, atât la cifrarea cât și la descifrarea mesajelor.

asimetrice (cu chei publice) care folosesc chei distincte de cifrare și descifrare (dar legate una de alta). Una din chei este ținută secretă și este cunoscută doar de proprietarul ei. A doua cheie (perechea ei) este făcută publică, de unde și numele de criptografie cu cheie publică.

Algoritmii cu cheie secretă sunt caracterizati de faptul că folosesc aceeasi cheie atât în procesul de criptare, cât si în cel de decriptare. Algoritmul IDEA, algoritm cu cheie secretă, este cel mai bun algoritm din punct de vedere al securitații si este utilizat mult în INTERNET.

Algoritmii cu cheie publică folosesc două chei diferite, una pentru criptare, alta pentru decriptare. Deoarece este imposibilă deducerea unei chei din cealaltă, una din chei este făcută publică, fiind pusă la îndemâna oricui dorește să transmită un mesaj criptat.Algoritmul RASA

este un alt algoritm performant descoperit de un grup de cercetători de la MIT. Acest cifru cu chei publice reprezintă standardul în domeniul semnăturilor digitale si al cofidentialitații.

Dupa cum am vazut și din partea aplicativă în concluzie putem spune că folosirea intr-o rețea de calculatoare a unor firewall-uri, configurate corect după nevoile generale ale rețelei dar si după nevoile particulare ale fiecărui sistem pentru filtrare traficului, în paralel cu diverși algoritmi de criptare implementați cu ajutorul unor utilitare specializate sa facă acest lucru, oferă o soluție bună de securitate a întregii rețele precum și o mai mare stabilitate, o mai bună funcționalitate si un număr mult mai mic de probleme care pot apărea pe parcurs.

BIBLIOGRAFIE

Floarea Nastase – “Retele de calculatoare”, Editura ASE, 2005;

SamsNet – “Securitatea in internet”, Editura Teora, 2000;

McClure S., Scambray J., Kurtz G. – “Securitatea retelelor”, Editura Teora, 2001;

Parker T., Sportack M. – “TCP/IP”, Editura Teora, 2002;

Oprea D. – “Protecția și securitatea sistemelor informaționale”, Editura Polirom, 2002;

*** – Legea nr. 506/2004 privind prelucrarea datelor cu caracter personal și protectia vieții private în sectorul comunicațiilor electronice;

http://ase.md/~osa/publ/ro/pubro34/19.pdf;

http://facultate.regielive.ro/proiecte/calculatoare/criptografia_si_securitatea_retelelor-60792.html;

http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/ro/text/Linux-Packet-Filtering-HOWTO

http://www.linuxcumsa.ro/Linux/ghidul-administratorilor-de-retea-linux/#introducere_tcp_ip

http://www.slider.go.ro/texts/project1/cap3node14.html

BIBLIOGRAFIE

Floarea Nastase – “Retele de calculatoare”, Editura ASE, 2005;

SamsNet – “Securitatea in internet”, Editura Teora, 2000;

McClure S., Scambray J., Kurtz G. – “Securitatea retelelor”, Editura Teora, 2001;

Parker T., Sportack M. – “TCP/IP”, Editura Teora, 2002;

Oprea D. – “Protecția și securitatea sistemelor informaționale”, Editura Polirom, 2002;

*** – Legea nr. 506/2004 privind prelucrarea datelor cu caracter personal și protectia vieții private în sectorul comunicațiilor electronice;

http://ase.md/~osa/publ/ro/pubro34/19.pdf;

http://facultate.regielive.ro/proiecte/calculatoare/criptografia_si_securitatea_retelelor-60792.html;

http://www.ibiblio.org/pub/Linux/docs/HOWTO/translations/ro/text/Linux-Packet-Filtering-HOWTO

http://www.linuxcumsa.ro/Linux/ghidul-administratorilor-de-retea-linux/#introducere_tcp_ip

http://www.slider.go.ro/texts/project1/cap3node14.html

Similar Posts