p7u8uh
Nevoia de securizare, particularizari pentru Internet
Un aspect crucial al retelelor de calculatoare, in special al comunicatiilor
prin Internet, il constituie securitatea informatiilor. Nevoia de securitate
si de autenticitate apare la toate nivelurile arhitecturale ale retelelor conectate
la Internet.
O retea de calculatoare este o structura deschisa la care se pot conecta noi
tipuri de echipamente (terminale, calculatoare, modem-uri etc.), lucru care
conduce la o largire nu intotdeauna controlata a cercului utilizatorilor cu
acces nemijlocit la resursele retelei (programe, fisiere, baze de date, trafic
etc.).
Vulnerabilitatea retelelor se manifesta pe doua planuri: atacul la integritatea
ei fizica (distrugeri ale suportului informatiei) si pe de alta parte folosirea
neautorizata a informatiilor si a resurselor retelei (scurgerea de informatii
din cercul limitat de utilizatori stabilit, respectiv utilizarea abuziva a resurselor
retelei de catre persoane neautorizate).
Trebuie deci avute in vedere cu prioritate doua aspecte legate de securitatea
informationala:
• Integritatea resurselor unei retele, adica disponibilitatea (availability)
lor indiferent de eventualele defecte de functionare hardware sau software,
de incercarile ilegale de sustragere a informatiilor precum si de incercarile
de modificare a informatiilor
• Caracterul privat, adica dreptul individual de a controla sau influenta
ce informatie referitoare la o persoana poate fi memorata in fisiere sau baze
de date si cine are acces la aceste informatii.
O retea sigura este acea retea in ale carei componente (resurse si operatii)
se poate avea incredere, adica furnizeaza servicii de calitate si corecte (care
sunt conforme cerintelor si specificatiilor). Deoarece o retea este alcatuita
din componente (operatii si resurse) eterogene, ea reprezinta o zona "convenabila"
pentru diferite atacuri sau operatii ilegale, lucru care conduce la concluzia
ca protectia a devenit unul dintre aspectele operationale vitale ale oricarei
retele.
Securitatea si, in special, caracterul privat trebuie sa constituie obiectul
unei analize atente in cazul retelelor din urmatoarele motive:
• Retelele sunt ansambluri foarte complexe de calculatoare, linii de legatura
si echipamente dedicate. Este foarte dificil sa se obtina o schema completa
a tuturor entitatilor si operatiilor existente la un moment dat, drept care
retelele sunt vulnerabile la diferite tipuri de atacuri si abuzuri. Complexitatea
este generata de dispersarea geografica, uneori internationala a componentelor
(nodurilor) retelei, implicarea mai multor organizatii in administrarea unei
singure retele, existenta unor tipuri diferite de calculatoare si sisteme de
operare, existenta unui numar foarte mare de entitati (host-uri, router-e, statii
de lucru, programe ce implementeaza diverse servicii (publice sau private) de
retea, agenti de monitorizare/control etc.).
• In viitorul imediat, retelele de calculatoare vor deveni o parte esentiala
din viata economica, sociala si individuala. De functionarea lor depinde activitatea
guvernamentala, comerciala, industriala si chiar personala.
• Pe masura ce calculatoarele personale pot fi conectate de acasa in retele,
o serie de activitati pot fi facute de persoane particulare. Trebuie avute in
vedere tipurile de date pe care persoanele le pot citi, care sunt celelalte
persoane cu care pot comunica, la ce programe au acces etc.
• Tot mai multe informatii memorate in fisiere separate devin posibil
de corelat prin intermediul retelelor de calculatoare. Aceasta asociere de informatii
privind persoanele poate avea consecinte nefaste asupra caracterului privat
individual.
• Informatia este vulnerabila la atac in orice punct al unei retele, de
la introducerea ei pana la destinatia finala. In particular, informatia este
susceptibila la atac atunci cand trece prin nodurile unei retele sau prin liniile
de comunicatii.
Exemple de atacuri posibile
Vom mentiona pe scurt unele dintre cele mai intalnite tipuri de atacuri la care
sunt expuse retelele conectate la Internet:
• Blocarea serviciului (DoS, Denial of Service) - aceasta nu afecteaza
intergritatea sau confidentialitatea datelor, ci performantele retelei; este
realizat prin sufocarea retelei interne cu pachete din exterior. (Mai general,
DoS reprezinta saturarea unei retele sau a unui server cu pachete/date inutile).
• Ghicirea parolelor (exista programe specializate in gasirea parolelor
"slabe" pe un anumit host sau router)
• Ascultarea traficului (sniffing) - orice host poate "vedea"
tot traficul din reteaua proprie, inclusiv parolele sau alte date confidentiale
vehiculate in clar prin retea. De aceea utilizarea parolelor necriptate (sau
criptate slab) in Internet este considerata una dintre cele mai puternice amenintari
la adresa securitatii
• Atacuri ce exploateaza erorile din software-ul de retea. Programele-server
corespunzatoare serviciilor Internet sau Intranet sunt programe complexe care
indeplinesc o multime de functii (bunaoara un server de web); este posibil ca,
prin introducerea unor date neasteptate la intrarea unui asemenea program (de
obicei date care violeaza protocolul respectiv) acesta sa execute comenzi pe
care nu ar fi trebuit sa le permita si sa-i dea utilizatorului drepturi mai
largi decat cele prevazute in politica de utilizare a serviciului respectiv.
Astfel de erori (exploitable bugs) sunt descoperite periodic in multe sisteme
de operare si server-e. Probabil cel mai cunoscut exemplu este cel al "viermelui"
Internet (Internet Worm) din 1988. Acesta a exploatat erori existente in server-ele
de e-mail si finger (sendmail, respectiv fingerd) insuficient protejate. In
cazul sendmail-ului a folosit o comanda utilizata in mod normal pentru depanare
(debugging) pentru a-si executa propriul cod pe masina victima; in cazul server-ului
de finger, a exploatat faptul ca acesta nu verifica dimensiunea sirului primit
la intrare, astfel incat sirul de caractere trimis putea depasi buffer-ul alocat
suprascriind stiva cu date si cod ale "viermelui".
• Atacuri bazate pe falsificarea adresei de retea proprii (IP spoofing).
Anumite protocoale folosite in Internet (precum DNS sau diverse protocoale de
route-are) necesita ca host-urile din Internet sa depinda unele de altele pentru
obtinerea de informatii necesare bunei functionari a retelei. Prin falsificarea
propriei adrese, un host poate "intoxica" alte host-uri din Internet.
De asemenea exista o serie de protocoale (NFS sau asa-numitele protocoale "r"
- rsh, rlogin, rexec, rcp, ...) la care - in anumite cazuri - autentificarea
se face doar pe baza adresei IP a clientului; prin falsificarea propriei adrese,
un utilizator de pe o masina (host) poate obtine acces neautorizat pe o alta
masina.
• Abuzul anumitor servicii (posta, web cache, etc.). In ultima vreme au
aparut in mod frecvent abuzarile de serviciile de e-mail (trimiterea de reclame
folosind e-mail-uri ne-solicitate - UCE, unsolicited commercial e-mail, cunoscute
si sub numele de spam-mail), falsificarile adresei expeditorului (fake mail),
redirijarea traficului de e-mail, http si ftp prin relee (mail relays) respectiv
proxy-uri prost configurate in scopul reducerii ilegale a taxelor platite provider-ului.
• Introducerea de virusi - Nu afecteaza neaparat reteaua (sistemele ce
ii asigura functionarea fiind foarte diferite), dar afecteaza utilizatorii finali
(majoritatea avand cunostinte foarte slabe despre tehnologia informatiei si
folosind sisteme de operare "populare" dar foarte slabe din punct
de vedere al stabilitatii si securitatii, cum ar fi MS-DOS, Windows95, Windows98,
Windows NT)
Abordarea problemei securitatii datelor intr-o retea
Abordarea problemei securitatii datelor intr-o retea presupune in primul rand
identificarea cerintelor de functionare pentru acea retea, apoi identificarea
tuturor amenintarilor posibile (impotriva carora este necesara protectia). Aceasta
analiza consta in principal in 3 sub-etape: o analiza vulnerabilitatilor - identificarea elementelor potential slabe ale
retelei o evaluarea amenintarilor - determinarea problemelor care pot aparea datorta
elementelor slabe ale retelei si modurile in care aceste probleme interfera
cu cerintele de functionare o analiza riscurilor - posibilele consecinte pe care problemele le pot crea
Urmatoarea etapa consta in definirea politicii de securitate, ceea ce inseamna
sa se decida: o care amenintari trebuie eliminate si care se pot tolera o care resurse trebuie protejate si la ce nivel o cu ce mijloace poate fi implementata securitatea o care este pretul (financiar, uman, social etc.) masurilor de securitate care
poate fi acceptat
Odata stabilite obiectivele politicii de securitate, urmatoare etapa consta
in selectia serviciilor de securitate - functiile individuale care sporesc securitatea
retelei. Fiecare serviciu poate fi implementat prin metode (mecanisme de securitate)
variate pentru implementarea carora este nevoie de asa-numitele functii de gestiune
a securitatii. Gestiunea securitatii intr-o retea consta in controlul si distributia
informatiilor catre toate sistemele deschise ce compun acea retea in scopul
utilizarii serviciilor si mecanismelor de securitate si al raportarii evenimentelor
de securitate ce pot aparea catre administratorii de retea.
Modelul de securitate pentru un sistem
Modelul de securitate pentru un sistem (un calculator sau o retea de calculatoare)
poate fi vazut ca avand mai multe straturi ce reprezinta nivelurile de securitate
ce inconjoara subiectul ce trebuie protejat. Fiecare nivel izoleaza subiectul
si il face mai dificil de accesat in alt mod decat cel in care a fost prevazut.
1. Securitatea fizica reprezinta nivelul exterior al modelului de securittate
si consta, in general, in incuierea echipamentelor informatice intr-un birou
sau intr-o alta incinta precum si asigurarea pazei si a controlului accesului.
Aceasta securitate fizica merita o consideratie speciala. Una dintre problemele
mari o constituie salvarile sub forma de copii de rezerva (backup) ale datelor
si programelor, precum si siguranta pastrarii suportilor de salvare. Retelele
locale sunt, in acest caz, de mare ajutor, copiile de rezerva putandu-se face
prin retea pe o singura masina ce poate fi mai usor securizata. O alta problema
importanta in securitatea unui sistem informatic o constituie pur si simplu
sustragerile de echipamente. In plus, celelalte masuri de securitate (parole
etc.) devin nesemnificative in cazul accesului fizic neautorizat la echipamente.
2. Securitatea logica consta din acele metode logice (software) care asigura
controlul accesului la resursele si serviciile sistemului. Ea are, la randul
ei, mai multe niveluri impartite in doua grupe mari : niveluri de securitate
a accesului si niveluri de securitate a serviciilor. o Securitatea accesului cuprinde:
? accesul la sistem, care este raspunzator de a determina daca si cand este
reteaua accesibila utilizatorilor si in ce conditii. El poate fi raspunzator
de asemenea si de gestionarea evidentei accesului. Accesul la sistem poate efectua
si deconectarea fortata in anumite cazuri (ex. expirarea contului, ora de varf,
...)
? accesul la cont care verifica daca utilizatorul ce incearca sa se conecteze
are un nume si o parola valida.
? drepturile de acces (la fisiere, resurse, servicii etc.) care determina de
ce privilegii dispune un utilizator (sau un grup de utilizatori) dat. o Securiatea serviciilor (care se afla "sub" securitatea accesului)
controleaza accesul la serviciile unui sistem (masina, retea). Din acest nivel
fac parte:
? controlul serviciilor care este responsabil cu functiile de avertizare si
de raportare a starii serviciilor, precum si de activarea si dezactivarea diverselor
servicii oferite de catre sistemul respectiv
? drepturile la servicii care determina exact cum foloseste un anumit cont un
serviciu dat (acces la fisiere, resurse, prioritate,...)
Odata stabilita conexiunea logica, subsistemul de securitate a accesului valideaza
contul de acces. Subsistemul de securitate a serviciilor monitorizeaza activitatea
utilizatorului si ia masuri in cazurile in care cererile acestuia depasesc drepturile
specificate in profilul utilzatorului (sau grupului de utilizatori) respectiv.
Accesul intr-un sistem sigur perfect ar trebui sa se faca prin aceste niveluri
de securitate descrise mai sus, de "sus" in "jos" fara sa
permita ocolirea vreunuia din ele.
Securitatea la nivel de host
Securitatea la nivel de host (masina) urmeaza principiile enuntate mai sus.
Mai concret (in cazul unui server Internet) distingem: o entitatile ce au acces local la acea masina (utilizatori, programe server,
agenti locali) precum si drepturile acestora (ce are voie sa faca un anumit
utilizator, cu ce privilegii ruleaza un anume proces, ce prioritate are un proces,
ce drepturi are asupra fisierelor respectiv asupra spatiului de stocare, ce
resurse si intre ce limite are voie sa acceseze) o serviciile oferite catre exterior (publice sau pentru anumiti utilizatori;
autentificare, monitorizare) o sistemul de operare (tipul, distributia, servicii implicite oferite - filtrarea
sau dezactivarea celor de care nu e nevoie, bug-uri cunoscute, revizii (patches)
etc.)
Firewall
Concepte
Termenul "firewall" inseamna, in acceptiunea originala, un perete
care impiedica raspandirea focului. In informatica, termenul "firewall"
desemneaza un ansamblu de componente hardware si software care ansamblu se interpune
intre doua retele pentru a restrange si controla traficul dintre ele. Firewall-urile
sunt folosite pentru a proteja/izola segmente ale unei retele extinse (ex. Internet),
dar mai ales pentru a proteja retelele private (intranet) ale unei firme/institutii/banci/etc.
conectate la internet. In cele ce urmeaza, prin retea interna vom referi segmentul
de retea ce trebuie protejat, respectiv prin retea externa vom referi segmentul
de retea de unde pot proveni amenintarile si asupra caruia nu avem control (de
obicei restul Internet-ului).
Prima conditie pentru ca un firewall sa fie eficient este ca acesta sa fie asezat
in singurul punct de conexiune dintre reteaua interna si cea externa (sau, in
cazul mai multor puncte de acces catre exterior, sa avem firewall-uri similare
in fiecare punct de acces). Daca aceatsa prima conditie nu este indeplinita,
firewall-ul nu poate asigura controlul traficului. De exemplu daca se neglijeaza
anumite puncte de intrare cum ar fi modem-uri sau terminale nesupravegheate,
atunci firewall-ul (sau firewall-urile) pot fi ocolite.
Un firewall ofera deci posibilitatea concentrarii securitatii, deoarece supravegheaza
si controleaza intregul trafic dintre reteaua interna si cea externa. De aici
deriva serviciile de securitate pe care un firewall le poate oferi:
• Acces controlat la si de la host-urile interne si externe. De exemplu
poate fi permis accesul de la oricare statie de lucru in afara, accesul din
exterior doar la server-ele publice locale (eventual doar la porturile ce asigura
acele servicii, nu la toata masina), eventual, daca s-au constatat incercari
de atacuri de la o anumita adresa din Internet, se poate interzice comunicatia
cu subreteaua avand adresa respectiva.
• Filtrarea protocoalelor - interzicerea acelor protocoale sau optiuni
din protocoale (ex. comenzi SMTP) care ar reprezenta amenintari la adresa securitatii.
• Autentificare centralizata - impunerea unor protocoale avansate de autentificare
pentru acesul din si in reteaua interna
• Monitorizarea retelei - contorizarea traficului, inregistrarea in fisierele
de jurnalizare (log-uri) a evenimentelor referitoare la traficul prin retea.
Demn de remarcat este si faptul ca existenta unui firewall nu intra in contradictie
cu aplicarea unor masuri de securitate pe host-urile interne, acestea fiind
in continuare recomandate (firewall-ul adaugand doar un nivel suplimentar de
protectie ansamblului retelei interne). Mai mult, acest lucru e chiar necesar
in cazul compromiterii unuia dintre host-urile interne, altfel intreaga retea
ar fi compromisa.
De asemenea, un firewall ofera suportul ideal pentru implementarea unei retele
virtuale private (VPN - Virtual Private Network) prin criptarea automata a traficului
dintre doua retele apartinand aceleiasi organizatii, retele care se leaga intre
ele prin intermediul unei retele publice si nesigure (ex. Internet).
Instalarea unui firewall presupune in primul rand doua actiuni importante: analiza
riscului si stabilirea politicii de securitate.
• Analiza riscului se refera la pericolele pe care si le asuma organizatia
in lipsa unui firewall si la modul in care firewall-ul elimina sau reduce aceste
riscuri. Pericolele variaza in functie de natura organizatiei, natura datelor
care circula prin retea, gradul in care compromiterea retelei afecteaza activitatea
organizatiei etc. . Riscurile trebuie echilibrate cu costurile (financiare si
umane) de achizitionare, instalare, intruire a personalului etc. necesitate
de implementarea unei solutii cu firewall. In urma acestui proces rezulta decizia
de a implementa sau nu un firewall in pozitia respectiva.
• Politica de securitate reprezinta stabilirea drepturilor si restrictiilor
legate de conectarea retelei private la internet (problema mult mai complexa
in cazul RNC particularizat in cele ce urmeaza datorita faptului ca RNC este
un nod Internet si nu o simpla retea privata): cine cum si in ce conditii foloseste
aceasta conectare. Firewall-urile reprezinta unul din mijloacele de impunere
a acestei politici, fara a carei existenta scopul si modul de actiune al firewall-urilor
nu ar fi definite. Politica de securitate cuprinde elemente ca: o serviciile care vor fi accesibile utilizatorilor interni (e-mail, acces full-Internet,
web hosting), eventual restrictiile impuse in utilizarea acestor servicii (cota
de alocare pentru dispozitivul de stocare a mail-urilor, contorizare de trafic,...)
o serviciile furnizate de catre organizatie in afara (catre comunitatea Internet),
de exemplu pagini de web prin server-ul public, FTP public, news, whois,...
o host-urile interne de la care se poate sau nu se poate iesi in internet si
in ce mod o host-urile interne care pot fi accesate din exterior (de exemplu server-ele
de mail, www, ftp, dns etc.) o serviciile particulare ce pot fi accesate pe host-urile de mai sus (de ex.
doar web pe server-ul de www, nu si ftp care ar putea fi folosit pentru utilizatorii
interni ce au pagini publice de web) o utilizatorii interni care au drept sa acceseze Internet-ul din reteaua interna
o utilizatorii care au dreptul de a accesa date din reteaua interna din exteriorul
acesteia (de ex. persoanela aflate in deplasari care au nevoie de date din retea,
colaboratori externi, ...) o politici si metode de autentificare pentru accesul din/in reteaua interna.
Principii de realizare a unui firewall
Exista doua mari principii care stau la baza alcatuirii firewall-urilor: filtrarea
de pachete (cu sau fara retinerea starii) si sistemele proxy.
De cele mai multe ori acestea sunt combinate, pentru a realiza controlul accesului
la nivelul dorit. Modurile de combinare a acestor principii diferentiaza diversele
arhitecturi de firewall utilizate astazi.
• Filtrarea pachetelor (packet filtering)
Informatia este transmisa in retea sub forma unor pachete care parcurg drumul
intre masinile sursa si destinatie. Pachetele sunt transmise prin intermediul
router-elor, care au sarcina de a gasi drumul optim dintre doua host-uri (de
fapt router-ele cauta drumul optim de la ele catre destinatie, existand posibilitatea
route-arii asimetrice in cazul existentei legaturilor de date asimetrice). Filtrarea
pachetelor este realizata prin intermediul unei componente a firewall-ului numita
router protector (screening router). In momentul in care un pachet ajunge la
firewall, router-ul protector determina intai daca acesta are dreptul de a fi
trimis catre destinatie; daca are acest drept, atunci router-ul protector isi
indeplineste functia de router si gaseste o ruta pe care indruma pachetul respectiv
- daca nu, atunci pachetul este abandonat. In acest moment, daca firewall-ul
este unu cu inspectia starii, atunci isi modifica si starea interna a filtrului.
Dreptul unui pachet de a traversa firewall-ul este stabilit conform politicii
de securitate a organizatiei respective. Decizia de a trimite sau abandona un
pachet este luata pe baza anumitor informatii continute in antetul pachetului
respectiv (antetul IP in cazul Internet-ului), cum ar fi: o adresa IP a sursei pachetului o adresa destinatiei o protocolul caruia ii apartin datele (ICMP, UDP, TCP, ....) o portul sursa o portul destinatie o diversi indicatori din antetul TCP (ex. SYN, ACK, RST, FIN)
Filtrarea pachetelor se realizeaza pe baza unui set de reguli stabilite de catre
administratorii retele, reguli care implementeaza politica de securitate a organizatiei
respective. (De exemplu daca organizatia decide sa nu permita comunicatia cu
adresa hacker.undeva.roedu.net, va exista undeva o regula care filtreaza toate
pachetele avand sursa sau destinatie adresa respectiva.
La primirea unui pachet, router-ul parcurge pe rand toate regulile din memorie;
la intalnirea primei reguli aplicabile pachetului respectiv, actiunea specificata
de aceasta este aplicata pachetului. (Actiunea poate fi eliminare, route-are
sau respingere - respingerea reprezinta eliminarea cu eroare vizibila, necesara
unor anumite protocoale(de ex. ident) pentru evitarea timeout-ului generat de
eliminarea silentioasa; exista servicii (ex. IRC, SMTP) care depind de un raspuns
(pozitv sau negativ, dar la timp) asupra existentei serviciului ident.). Daca
unui pachet nu i se aplica nici o regula, atunci pentru filtrarea acestuia va
fi folosita regula implicita (de obicei refuzare sau eliminare).
O politica uzuala de acces care poate fi implementata prin filtrarea de pachete
este de a permite utilizatorilor interni sa deschida conexiuni in exterior (de
ex. sa navigheze pe WorldWide Web) dar de a nu permite conexiuni din exterior
catre host-urile interne (eventual cu exceptia server-elor publice de web, ftp,
e-mail,...). De asemenea, prin filtrarea dupa porturi se pot selecta serviciile
permise/interzise.
Avantajul filtrarii de pachete il constituie transparenta sa pentru utilizatori:
daca o conexiune este permisa, atunci router-ul filtrant nu o afecteaza in nici
un fel; daca insa este interzisa, utilizatorul primeste aceleasi mesaje ca si
atunci cand host-ul destinatie ar fi inchis sau inaccesibil. In nici un caz
utilizatorul nu etse constient de existaenta router-ului protector.
Dezavantajul principal al filtrarii de pachete consta in complexitatea setului
de reguli, existand posibilitatea existentei unor "usi ascunse" (trap
doors): prin actiunea combinata a unor reguli aparent fara legatura una cu alta,
pot trece prin filtru si alte pachete in afara celor "legitime". De
asemenea, un router filtrant nu ofera prea multa informatie asupra activitatii
in retea. In plus, exista posibilitatea ca pe anumite porturi cunoscute, pe
anumite masini - fie ostile, fie compromise - sa se afle cu totul alt serviciu
decat cel a carui utilizare se dorea permisa.
• Servicii proxy
Al doilea principiu dupa care se poate realiza controlul traficului il reprezinta
serviciile proxy. Acestea sunt furnizate cu ajutorul programelor proxy-server.
Un astfel de program ruleaza pe o masina - componenta a firewall-ului - numita
in literatura de specialitate "bastion host" . De obicei bastionul
este o poarta (gateway) - o masina conectata intre cele doua retele (interna
si externa). Din aceasta cauza, un server proxy mai este intalnit si sub denumirea
de "application gateway" (gateway la nivel de aplicatie). Gateway-urile
nu sunt specifice firewall-urilor, ci sunt folosite in general pentru conectarea
la nivel de servicii a doua retele (acolo unde nu se pot folosi router-e, de
ex. gateway de mail pt. SMTP->UUCP sau SMTP->FidoNet).
Pentru un gateway se mai foloseste si termenul de "dual-homed host"
(host conectat in doua locuri).
In mod normal, o sesiune de comunicatie in Internet se desfasoara dupa modelul
Client-Server: clientul emite o cerere catre server (de exemplu transferul unei
pagini de web) iar acesta raspunde cererii. In cazul implementarii serviciilor
proxy, comunicatia se desfasoara in urmatorii pasi:
1. clientul emite cererea nu catre server-ul real, ci catre server-ul proxy,
comunicandu-i acestuia destinatia dorita (server-ul real care va raspunde cererii)
2. server-ul proxy analizeaza cererea si, daca aceasta respecta politica de
securitate a organizatiei, este trimisa server-ului real (destinatie) ca si
cum ar proveni de la un program-client de pe acea masina (dual-homed host).
3. server-ul real raspunde cererii catre server-ul proxy (care e client pentru
server-ul real)
4. server-ul proxy analizeaza raspunsul si, daca acesta respecta politica de
securitate a organizatiei, este trimis clientului din reteaua interna.
Ca urmare, nu mai este creata o singura conexiune client - server, ci doua:
client - proxy si proxy - server real. Server-ul real nu este constient de existenta
clientului; el comunica doar cu server-ul proxy. Clientul nici el nu comunica
direct cu server-ul real, ci doar cu proxy-ul. Pentru ca aceasta schema sa functioneze,
trebuie ca intre client si server sa nu existe conectivitate directa (la nivel
IP) - in caz contrar, clientul poate trimite cererea direct catre server-ul
real, eludand astfel sistemul de protectie prin server proxy. Din acest motiv,
pe gateway, optiunea de route-are (transfer automat si indrumarea pachetelor
dintr-o retea in celalalta) va trebui sa fie dezactivata.
Fiecare server proxy va avea un set de reguli (analoge celor de la router-ele
filtrante) care implementeaza politica de securitate a organizatiei relativ
la protocolul respectiv.
Avantajul server-elor proxy este ca ele inteleg protocolul pentru care au fost
proiectate, facand astfel posibil controlul la nivel de aplicatie, constand
din:
• autentificare - aceasta permite selectarea utilizatorilor (interni sau
externi) care au dreptul sa acceseze un anumit serviciu
• filtrarea individuala a operatiilor protocolului - de exemplu cu ajutorul
unui server proxy pentru FTP poate fi implementata o politica de securitate
care permite aducerea(downloading) dar interzice exportarea(uploading) de fisiere.
• monitorizare - jurnalizarea (in fisierele de log) a sesiunilor de retea
Principalul dezavantaj al server-elor proxy il constituie faptul ca, prin existenta
a doua conexiuni logice in loc de una, se modifica procedura de utilizare a
serviciilor Internet. Acest lucru impune modificarea fie a programelor client,
fie a modalitatii de apel al acestora de catre utilizatori. Rezulta astfel doua
abordari posibile:
• utilizarea de programe-client normale impreuna cu modificarea comportamentului
utilizatorilor: acestia nu se mai pot conecta direct la server-ele dorite ci
trebuie sa se conecteze intai la firewall (pe care ruleaza serviciul de proxy
respectiv) si sa-i "ceara" acestuia destinatia dorita, intr-un limbaj
specific fiecarui server proxy. Aceasta metoda impune un mod de lucru mai greoi
utilizatorilor, diferit de cel cu care erau, probabil, obisnuiti. In particular,
utilizatorii trebuie sa foloseasca proceduri diferite pentru accesarea server-elor
din reteaua interna a organizatiei (pentru acestea nu trebuie sa treaca prin
firewall) fata de cele externe (din Internet, via firewall).
• utilizarea de programe-client modificate sau configurate corespunzator
pentru conlucrarea cu server-ul proxy. In acest caz, utilizatorul nu va sesiza
prezenta server-ului proxy (exceptand cazul cand este necesara autentificarea
la firewall): programul-client va efectua automat toate procedurile privind
conectarea prin firewall. Astfel de programe-client exista in prezent pentru
o serie de protocoale printre care FTP, Gopher, HTTP. De exemplu programe ca
Netscape Navigator/Communicator, lynx, mosaic,.... pot fi configurate sa se
conecteze prin intermediul unui server proxy.
Router filtrant bazat pe S.O. LINUX (aplicabil si pt. server-e izolate)
Sistemul de operare LINUX are , printre multele calitati care il fac preferat
in mediul academic precum si, mai ales, in Internet posibilitatea de a functiona si ca router cu filtrare de pachete. Astfel se
poate implementa foarte usor un firewall bazat pe principiul cu router-ul filtrant.
Dat fiind ca sistemul LINUX permite (ca orice alt sistem de operare pentru server-e
de retea) si rularea de servicii pe aceeasi masina cu router-ul, se pot implementa
si combinatii de server proxy si router filtrant (de ex. se poate face proxy
cu caching pentru www, ftp, gopher; gateway de e-mail respectiv filtrare de
pachete pentru protocoalele ce nu pot folosi proxy - cum ar fi cele ce presupun
sesiuni interactive de login sau conferinta electronica).
Sistemul de filtrare poate fi folosit si pentru host-uri ce nu sunt router-e
(adica au o singura interfata fizica de retea) pentru protectia mai eficienta a diverselor servicii de pe masina respectiva (acele
servicii ce nu pot fi protejate prin alte metode, sau care pot fi protejate
mult mai greoi).
In plus, acest sistem de operare permite si folosirea metodelor numite NAT network
address translation (cunoscuta si sub numele de IP masquerading), respectiv
PAT - port address translation folosite pentru accesul unui intranet intreg
la internet avand o singura adresa de Internet atribuita firewall-ului. (Protocoalele ce pot functiona prin
proxy se folosesc cu proxy, pentru celelalte se foloseste translatarea de adrese
si eventual de port).
Echipamente specializate pentru securitatea datelor
Acestea sunt echipamente de calcul cu aceleasi capabilitat ca ale router-elor
sau ale server-elor, dar ale caror sisteme de operare si periferice permit doar
folosirea ca firewall.
Un exemplu demn de luat in seama il constituie produsul PIX Firewall al firmei
Cisco Systems.
Produsul Cisco PIX Firewall (Private Intranet eXchange) al firmei Cisco Systems
este o masina dedicata functiei de firewall bazata pe principiul de router filtrant
cu translatare de adresa si translatare de port.
• Avantaje fata de solutia LINUX de mai sus: o Translateaza si protocoale pe care LINUX-ul nu le poate filtra decat cu proxy
(de exemplu FTP in majoritatea variantelor posibile, h323 (VDO Phone), etc.)
o Permite folosirea unei plaje (pool) de adrese IP din Internet pentru iesirea
in afara o Permite utilizare de server-e de retea localizate in intranet asigurand translatarea
automata a adreselor si porturilor o Permite controlul asupra unor posibile atacuri la nivel de protocol TCP (syn
flood de exemplu) o Permite autentificarea utilizatorilor la iesire o Permite filtrarea comenzilor potential distructive adresate unui server intern
de posta electronica o Permite crearea de retele private virtuale, dar algoritmul de criptare pentru
retelele private virtuale este documentat ca fiind slab la standardele actuale
o Permite folosirea a doua firewall-uri legate intre ele si "in paralel"
in cele doua retele astfel incat unul sa fie rezerva calda pentru celalalt o Este mai stabil decat un sistem PC si nu are piese in miscare o Se configureaza foarte usor
• Dezavantaje fata de solutia LINUX o nu permite optiunea de refuzare a pachetelor (permite doar eliminarea). Astfel
serviciile ce detecteaza automat capabilitatea de identificare prin protocol
'identd' a clientilor vor functiona cu o intarziere nepermis de mare (de ex.
5 minute in cazul server-elor de IRC - international relay chat) daca acest
port va fi filtrat. o Are un cost foarte mare, iar licentele pentru conexiuni TCP multiple ii multiplica
costul cu factori ajungand pana la 4 ( totusi un astfel de firewall poate fi
folosit pentru protectia DNS-urilor care folosesc 95% conexiuni UDP sau a altor
server-e ce folosesc UDP sau ICMP, de ex. statii de management de retea (SNMP),
statii de lucru monouser etc.) o nu permite functii avansate de route-are si nici folosirea serviciilor de
proxy pe aceeasi masina o nu are decat doua interfete de retea, amandoua ethernet (un linux poare avea
mai multe interfete ethernet sau alte variante, precum si interfete seriale
point-to-point etc.) o are un set redus de scenarii imaginabile pentru configuratie