Sunteți pe pagina 1din 8

Firewall Un paravan de protecie poate ine la distan traficul Internet cu intenii rele, de exemplu hackerii, viermii i anumite tipuri

de virui, nainte ca acetia s pun probleme sistemului. n plus, un paravan de protecie poate evita participarea computerului la un atac mpotriva altora, fr cunotina dvs. Utilizarea unui paravan de protecie este important n special dac suntei conectat n permanen la Internet. Un firewall este o aplicaie sau un echipament hardware care monitorizeaz i filtreaz permanent transmisiile de date realizate ntre PC sau reeaua local i Internet, n scopul implementrii unei "politici" de filtrare. Aceast politic poate nsemna: protejarea resurselor reelei de restul utilizatorilor din alte reele similare Internetul -> sunt identificai posibilii "musafiri" nepoftii, atacurile lor asupra PC-ului sau reelei locale putnd fi oprite. Controlul resurselor pe care le vor accesa utilizatorii locali.

De fapt, un firewall, lucreaz ndeaproape cu un program de routare, examineaz fiecare pachet de date din reea (fie cea local sau cea exterioar) ce va trece prin serverul gateway pentru a determina dac va fi trimis mai departe spre destinaie. Un firewall include de asemenea sau lucreaz mpreun cu un server proxy care face cereri de pachete n numele staiilor de lucru ale utilizatorilor. n cele mai ntlnite cazuri aceste programe de protecie sunt instalate pe calculatoare ce ndeplinesc numai aceast funcie i sunt instalate n faa routerelor. Soluiile firewall se mpart n dou mari categorii: prima este reprezentat de soluiile profesionale hardware sau software dedicate proteciei ntregului trafic dintre reeaua unei ntreprinderi (instituii -> ex.: Universitatea "Alexandru Ioan Cuza", Iai) i Internet; iar cea de a doua categorie este reprezentat de firewall-urile personale dedicate monitorizrii traficului pe calculatorul personal. Utiliznd o aplicaie din ce-a de a doua categorie vei putea prentmpina atacurile colegilor lipsii de fair-play care ncearc s acceseze prin mijloace mai mult sau mai puin ortodoxe resurse de pe PC-ul dumneavoastr. n situaia n care dispunei pe calculatorul de acas de o conexiune la Internet, un firewall personal v va oferi un plus de siguran transmisiilor de date. Cum astzi majoritatea utilizatorilor tind s schimbe clasica conexiune dial-up cu modaliti de conectare mai eficiente (cablu, ISDN, xDSL sau telefon mobil), pericolul unor atacuri reuite asupra sistemului dumneavoastr crete. Astfel, mrirea lrgimii de band a conexiunii la Internet faciliteaz posibilitatea de "strecurare" a intruilor nedorii. Astfel, un firewall este folosit pentru dou scopuri: pentru a pstra n afara reelei utilizatorii ru intenionati (virui, viermi cybernetici, hackeri, crackeri) pentru a pstra utilizatorii locali (angajaii, clienii) n reea.

nainte de a construi un firewall trebuie hotrt politica sa, pentru a ti care va fi funcia sa i n ce fel se va implementa aceast funcie. Politica firewall-ului se poate alege urmnd civa pai simpli: alege ce servicii va deservi firewall-ul desemneaz grupuri de utilizatori care vor fi protejai definete ce fel de protecie are nevoie fiecare grup de utilizatori

pentru serviciul fiecrui grup descrie cum acesta va fi protejat scrie o declaraie prin care oricare alte forme de access sunt o ilegalitate

Politica va deveni tot mai complicat cu timpul, dar deocamdat este bine s fie simpl i la obiect.

Firewallurile pot fi clasificate dup: Layerul (stratul) din stiva de reea la care opereaz Modul de implementare

n funcie de layerul din stiva TCP/IP (sau OSI) la care opereaz, firewall-urile pot fi: Layer 2 (MAC) i 3 (datagram): packet filtering. Layer 4 (transport): tot packet filtering, dar se poate diferenia ntre protocoalele de transport i exist opiunea de "stateful firewall", n care sistemul tie n orice moment care sunt principalele caracteristici ale urmtorului pachet ateptat, evitnd astfel o ntreag clas de atacuri Layer 5 (application): application level firewall (exist mai multe denumiri). n general se comport ca un server proxy pentru diferite protocoale, analiznd i lund decizii pe baza cunotinelor despre aplicaii i a coninutului conexiunilor. De exemplu, un server SMTP cu antivirus poate fi considerat application firewall pentru email.

Dei nu este o distincie prea corect, firewallurile se pot mpri n dou mari categorii, n funcie de modul de implementare: dedicate, n care dispozitivul care ruleaz software-ul de filtrare este dedicat acestei operaiuni i este practic "inserat" n reea (de obicei chiar dup router). Are avantajul unei securiti sporite. combinate cu alte faciliti de networking. De exemplu, routerul poate servi i pe post de firewall, iar n cazul reelelor mici acelai calculator poate juca n acelai timp rolul de firewall, router, file/print server, etc.

Un firewall poate s: - monitorizeze cile de ptrundere n reeaua privat, permind n felul acesta o mai bun monitorizare a traficului i deci o mai uoar detectare a ncercrilor de infiltrare; - blocheze la un moment dat traficul n i dinspre Internet; - selecteze accesul n spaiul privat pe baza informaiilor coninute n pachete. - permit sau interzic accesul la reeaua public, de pe anumite staii specificate; - i nu n cele din urm, poate izola spaiul privat de cel public i realiza interfaa ntre cele dou. De asemeni, o aplicaie firewall nu poate: - interzice importul/exportul de informaii duntoare vehiculate ca urmare a aciunii rutcioase a unor utilizatori aparinnd spaiului privat (ex: csua potal i ataamentele); - interzice scurgerea de informaii de pe alte ci care ocolesc firewall-ul (acces prin dial-up ce nu trece prin router); - apra reeaua privat de utilizatorii ce folosesc sisteme fizice mobile de introducere a datelor n reea (USB Stick, dischet, CD, etc.) - preveni manifestarea erorilor de proiectare ale aplicaiilor ce realizeaz diverse servicii, precum i punctele slabe ce decurg din exploatarea acestor greeli.

Securitatea comunicatiilor - criptarea


In prezent, una din problemele comunicatiei datelor o reprezinta securitatea transmisiei si receptiei lor. Securitatea reprezinta un proces - un mod de a gandi legat de sisteme, retele, utilizatori si aplicatii care imbratiseaza un set de tehnologii. Setul minim de cerinte pe care trebuie sa le respecte o aplicatie ce utilizeaza sistemele bazate pe securitate sunt: Confidentialitatea: mentinerea caracterului privat al informatiei Integritatea: dovada ca respectiva informatie nu a fost modificata Autenticitatea: dovada identitatii celui ce transmite mesajul Non-repudierea: siguranta ca cel ce genereaza mesajul nu poate sa-l denigreze mai tarziu Toate aceste proprietati pot fi indeplinite prin utilizarea de chei publice criptografice. Criptografia este considerata a fi o arta sau stiinta de mentinere a mesajelor secrete, asigurand confidentialitatea prin criptarea unui mesaj utilizand chei asociate cu un algoritm. Cheia utilizata trebuie sa fie secreta ambelor parti, problema reprezentand-o managementul cheilor si mentinerea lor secreta. Criptografia are la baza codificarea mesajelor, un bloc fiind substituit prin altul, respectand anumite reguli. Codificarea se poate realiza in mai multe moduri acestea avand urmatoarele proprietati comune: atat intrarile cat si iesirile sunt reprezentate ca stream-uri de octeti criptarea unei date se realizeaza cu ajutorul unei chei decriptarea datei se realizeaza tot cu o cheie Criptarea se poate realiza cu chei simetrice sau asimetrice. Prima se realizeaza cu aceeasi cheie la criptare si la decriptare, iar cealalta cu chei diferite. Criptarea asimetrica are avantajul ca una din chei (cea de criptare) poate fi facuta publica. Aceasta cheie de criptare poate fi transmisa oricui, in timp ce cheia de decriptare este detinuta de cel ce a criptat, fiind denumita cheie privata. Un alt avantaj al cheilor asimetrice este ca asigura identitatea. Daca o persoana X cripteaza un mesaj cu I cheie privata si transmitandu-l unei persoane Y, aceasta il poate decripta cu o cheia publica putem spune ca Y are certitudinea ca mesajul vine de la X. Aceasta idee are la baza semnaturile digitale. Criptarea simetrica are avantajul vitezei, fiind foarte utila la criptarea fisierelor locale. Combinand avantajele celor doua tipuri de algoritmi au aparut protocoalele hibride care functioneaza astfel :

Protocol 1.a. Criptarea mesajului

(1) Generarea cheii simetrice K (2) Criptarea mesajului M cu cheia simetrica si obtinand mesajul M* (3) Preluarea cheii publice (4) Criptarea cheii simetrice cu cheia publica si obtinerea lui K* (5) Transmiterea perechii {K*,M*} Protocol 1.b. Decriptarea mesajului (1) Receptionarea mesajului {K*,M*} si separarea celor doua campuri (2) Decriptarea lui K* cu ajutorul cheii private proprii pentru obtinerea lui K (3) Decriptarea lui M* cu K pentru obtinerea lui M In acest caz se genereaza cate o cheie separata pentru fiecare sesiune de mesaje cunoscuta sub numele de cheie sesiune . Criptarea mesajelor ofera confidentialitate, dar acest lucru nu este suficient. In cazul unei transmisii sau receptii trebuie sa existe certitudinea ca cel ce a generat mesajul este o persoana autorizata, motiv care a dus la adaugarea de noi proprietati cum ar fi integritatea si autentificarea, acestea fiind asigurate cu ajutorul semnaturii digitale. Pentru a intelege modul de functionare este nevoie de cunoasterea unui al treilea algoritm si anume functiile de hashing. Acestea, spre deosebire de algoritmii de criptare si decriptare realizeaza doar functia de criptare iar mesajul original nu va fi recuperat niciodata. In principiu, un mesaj are intotdeauna aceeasi valoare dupa aplicarea functiei si este imposibil ca doua mesaje oarecare sa genereze aceeasi valoare. Prin utilizarea unei astfel de functii se poate obtine o autentificare fara a cripta intreg mesajul cu acea cheie privata astfel:

Protocol 2.a. Semnarea unui mesaj


(1) Efectuarea de hashing asupra mesajului M si obtinerea valorii H (2) Criptarea lui H cu cheia privata (a celui ce transmite) si obtinerea semnaturii S (3) Transmiterea perechii {M,S} Protocolul 2.b. Verificarea unui mesaj semnat (1) Receptia {M,S} si separarea lor (2) Efectuarea de hashing asupra lui M si obtinerea valorii H'

(3) Preluarea cheii publice apartinand celui ce a transmis (4) Decriptarea lui S cu cheia publica si obtinerea lui H'' (5) Compararea lui H' cu H'' Daca H' si H'' sunt identice, mesajul a fost verificat corect, iar daca nu, exista o eroare. Pentru a putea construi cheia ce se utilizeaza in timpul transmisiei se apeleaza la "o treia parte" de incredere denumita Autoritate Certificatoare (CA - Certification Authority). Ea genereaza un Certificat Digital ce genereaza o cheie publica. Cheia nu trebuie sa contina ambiguitati, ingloband datele personale care apoi sunt impachetate si semnate. Un Certificat Digital este un document ce contine patru componente mari: o cheie publica informatia ce leaga cheia publica de detinatorul ei informatia de validitate a certificatului semnatura digitala Certificatele sunt clasificate ca: certificate self-signed si certificate CA-signed. Primul este semnat de detinatorul cheii iar al doilea de o alta persoana cu autoritate. Ele functioneaza ca si containere de chei publice iar informatia tipica include: numele detinatorului, e-mail-ul acestuia, numele companiei, telefonul, informatii legate de certificat, un numar serial, un indicator de nivel de incredere, data a generarii, data a expirarii. Informatia colectata si detinuta de proprietar este referita de nume distincte (sau Dname). Un certificat contine doua Dname: al detinatorului si al celui ce l-a generat. Non-repudierea este o alta proprietate a securitatii oferind certitudinea ca cel ce transmite mesajul nu poate sa nege mai tarziu ce a transmis. Din cele prezentate putem sa observam ca: integritatea, confidentialitatea si non repudierea sunt asigurate prin criptografia cheilor publice. Pentru aceasta trebuie insa sa se stie: cine genereaza certificatul, unde este stocata cheia si unde se gasesc certificatele? Un certificat digital bazat pe infrastructura cheilor publice (PKI - Public Key Infrastructure ) asigura rezolvarea tuturor problemelor. Componentele PKI sunt :

Autoritatea Certificatoare (CA): responsabila cu generarea si revocarea certificatelor Autoritatea Registratoare (RA): responsabila cu verificarea constructiei generate de cheile publice si identitatea detinatorilor. Detinatorii de Certificate (subiectii) : Oameni, masini sau agenti software care detin certificate si le pot utiliza la semnarea documentelor. Clientii: ei valideaza semnatura digitala si certificarea de la un CA. Depozitele: stocheaza si fac accesibile certificatele si Listele de Revocare a Certificatelor (CRLs -Certificate Revocation Lists) Politicile de securitate : definesc procesele si principiile de utilizare a criptografiei. Dintre functiile realizate cu ajutorul PKI putem mentiona: Inregistrarea : este un proces in care cel ce doreste sa obtina un certificat de la CA isi prezinta atributele sale. Acestea sunt verificate iar apoi se elibereaza certificatul . Certificarea: este procesul in care CA elibereaza certificatul ce contine cheia publica subiectului apoi il depune intr-un depozit public. Generarea Cheilor: in multe cazuri subiectul genereaza o pereche de chei in mediul sau, inainte de a transmite cheia publica la CA pentru certificare. Daca CA raspunde pentru generarea cheilor, acestea sunt oferite subiectului ca un fisier criptat sau token fizic asemeni unui smartcard. Recuperarea Cheilor: in unele implementari PKI necesita ca toate cheile schimbate si/sau criptate sa fie depuse intr-un depozit securizat. Ele sunt recuperabile daca subiectul pierde cheia, acest lucru revenind lui CA sau sistemului de recuperare. Actualizarea Cheilor: toate cheile perechi si certificatele lor asociate trebuiesc actualizate la un interval regulat. In acest sens exista doua situatii care necesita acest lucru: Data care este specificata in certificat ca data de expirare este depasita si se actualizeaza. Cheia privata a uneia din entitati din PKI este compromisa. In acest caz PKI trebuie sa anunte ca vechiul certificat nu mai este valid si urmeaza sa-l inlocuiasca. Una din cai este de pre-generare si stocare securizata a perechilor de chei pentru astfel de situatii. Actiune ce duce la informarea fiecarui utilizator de acest lucru. Alta cale este metoda "out-ofband" unde cu ajutorul telefonului, faxului, scrisorii se transmite acea cheie. Certificarea incrucisata: permite utilizatorilor dintr-un domeniu administrativ sa utilizeze certificate generate de un CA operational in alt domeniu. Procesul implica un CA (CA_1) ce ofera o certificare pentru alt CA(CA_2). Acest certificat contine cheia publica CA asociata cu cea privata pe care CA_1 o utilizeaza, lucru ce permite subiectilor certificati prin CA_2 sa accepte certificatele generate de CA_1 sau orice CA subordonat. Revocarea: apare in momentul expirarii perioadei de validitate care poate aparea cand: subiectul isi schimba numele, angajatul paraseste compania, cheia privata este compromisa. In cadrul standardului X.509, pentru a revoca un certificat se utilizeaza Lista Revocarilor Certificatelor (CRL - Certificate Revocation List). Aceasta lista identifica certificate si sunt semnate de CA.

Criptarea prin chei publice si implementarea lor in certificate digitale bazate pe sisteme de securitate se face pe baza unor retele standardizate si protocoale cum ar fi: SSL (Secure Sockets Layer) - este un protocol non-proprietar deschis, dezvoltat de Netscape si care asigura securitate in comunicatii. Este acceptat de standardul WEB pentru autentificare si criptare client-server utilizand ca protocol de transport TCP/IP si poate rula pe protocoale ca HTTP, Telnet. El utilizeaza chei publice criptografiate.

Principiul de functionare este urmatorul:


(1) Clientul se conecteaza la un server SSL (2) Clientul cere sa initieze o sesiune securizata (3) Serverul intoarce: pot / nu pot suporta SSL (4) Clientul si serverul comunica informatia securizata pas cunoscut sub denumirea de "handshaking" . (5) Clientul specifica ID-ul sesiunii, algoritmii de criptare si metodele de compresie. (6) Serverul poate face selectia utilizand aceasta informatie si schimba daca este nevoie certificatele (7) Serverul specifica o cheie a sesiunii apropiata de algoritmii de criptare alesi la "handshaking". (8) Clientul si serverul comunica in securitate. O sesiune SSL implica doua protocoale separate : SSL Record Protocol si SSL Handshake Protocol. Primul controleaza transmisia datelor in cadrul sesiunii iar celalalt schimbul de mesaje intre client si server cand stabilesc prima data conexiunea. Tehnica criptarii genereaza multe pachete, incetinind transmisia. SSL 3.0 este cel mai utilizat si suportat de majoritatea WEB si serverelor Internet . TLS (Transport Layer Security) - este ultima versiune SSL. S/MIME (Secure Multi-Purpose Internet Mail Extensions) - este un standard utilizat in transmiterea de e-mail in securitate. Permite criptarea informatiei si include certificatul digital ca o componenta in mesaj. El asigura functiile: Confidentialitate, doar cel ce receptioneaza poate citi posta transmisia nu poate fi alterata clientul poate semna si include semnatura care garanteaza receptia utilizeaza etichete pentru controlul accesului la mesajele securizate.

permite mesajelor criptate sa fie transmise prin agenti intermediari care le pot cripta si transmite la recipientele dorite. S/MIME ofera integritate si autentificare oricarui pachet e-mail si in prezent a este implementat la nivel industrial. WTLC - este o versiune wireless al standardului TLS transformarea fiind bazata pe necesitatea suportarii datagramelor in mediile de banda larga. Pentru aceasta el utilizeaza un handshake optimizat prin refresh al cheilor dinamice. Acesta permite cheilor criptate sa fie actualizate regulat intr-o sesiune. OCSP (On line Certificate Status Protocol) - specifica o sintaxa mesaj cerere-raspuns intre aplicatia client care solicita revocarea certificatului si aplicatia server care cunoaste starea certificatului revocat. OCSP server poate asigura informatii aditionale accesibile prin CRL. Principiul functionarii este urmatorul : (1) Aplicatia transmite cererea de a cunoaste starea certificatului la serverul OCSP, acesta transmite o semnatura digitala care reprezinta "bun", "revocat" sau "necunoscut" (2) Cel identificat ca "bun" indica la minim ca certificatul nu a fost revocat la momentul cererii, ulterior el putand aparea ca revocat (3) "revocat" indica ca respectivul certificat a fost revocat (4) "unknown" indica ca nu cunoaste respectivul certificat. Din cele prezentate se observa ca in cazul dezvoltarii de aplicatii ce utilizeaza Internetul sau Intranetul, cerintele unei bune securitati sunt confidentialitatea, integritatea, autentificarea si non-repudierea. Toate acestea se realizeaza prin utilizarea cheilor publice criptografiate in Certificate Digitale si care utilizeaza protocoale ca SSL sau S/MIME .