Sunteți pe pagina 1din 23

Proiect

Firewall soft de sistem

Retele de Calculatoare si Internet

Student:
Alexandru Anghel
SIVA an II

Cuprins
Firewall-ul definitie .............................................................................................................................. 3
Functionarea firewall-ului........................................................................................................................ 3
Firewall-urile se pot clasifica dupa: ...................................................................................................... 5
Serverul proxy ......................................................................................................................................... 6
Proxy-ul forward .............................................................................................................................. 7
Proxy-ul de tip open ......................................................................................................................... 8
Proxy-ul reverse ............................................................................................................................... 9
Inlantuirea serverelor proxy ............................................................................................................... 11
Configurarea firewall-ului ..................................................................................................................... 12
Iptables .............................................................................................................................................. 12
Setarea politicilor default ................................................................................................................... 16
Proiectarea unui firewall cu 2 porturi de 10 Gbps ................................................................................... 18
Arhitectura sistemului cu 2 porturi de 10 Gbps................................................................................... 18
Algoritmul de clasificare a pachetelor folosit de firewall-ul cu 2 porturi de 10 Gbps........................... 20
Concluzii ............................................................................................................................................... 22
Bibliografie ........................................................................................................................................... 23

Firewall-ul definitie
Firewall-ul este un sistem sau un router ce desparte o retea externa ( exemplu internetul
) de o retea interna ( locala ). Aceasta retea locala poate fi reprezentata de catre un LAN ( Local
Area Network ) al unei cladiri de birouri sau de calculatoarele unei familii. Cel mai simplu
model de firewall poate fi comparat cu o strada cu sens unic: permite celor din reteaua locala sa o
acceseze pe cea externa ( internetul ), dar restrictioneaza traficul astfel incat niciun ultilizator din
reteaua externa sa nu poata accesa sistemele sau fisierele din reteau locala.
In cazul in care conexiunea la internet se face printr-un modem, reteaua locala nu va
trebui neaparat securizata. La fiecare reconectare, modemul va primi o alta adresa IP de la ISP (
Internet Service Provider ). Orice sesiune va avea un timp finit de existenta. Pentru o conexiune
de tip DSL firewall-ul este recomandat deoarece fiecare utlizator va folosi aceeasi adresa IP
pentru o perioada mai mare de timp.
Firewall-ul poate bloca traficul bazandu-se pe diferite criterii. O parte din acestea pot fi
adresa IP sursa, adresa IP destinatie, portul sursa sau destinatie. Desi traficul dintre cele 2
conexiuni pe care le are firewall-ul este rutat, nu inseamna ca toate firewall-urile sunt routere.

Fig. 1 Firewall-ul unei retele simple (www.wikipedia.com)

Functionarea firewall-ului
Un firewall functioneaza impreuna cu un program de rutare, care examineaza fiecare
pachet de date din retea (fie cea locala sau cea exterioara) ce va trece prin bridge, pentru a hotari
dac va fi trimis mai departe spre destinaie sau nu. Firewallul include sau lucreaza impreuna cu
un server proxy care face cereri de pachete in numele statiilor de lucru ale utilizatorilor. In cele
mai ntalnite cazuri aceste programe de protectie sunt instalate pe calculatoare ce indeplinesc
numai aceasta functie si care sunt instalate n fata ruterelor.
3

In cazul companiilor, serverele care fac legatura dintre reteaua locala si restul internetului
pot fi atacate in diferite moduri. O solutie la aceasta problema este mutarea acestor servere in
reteaua locala, dupa un cluster folosit la securitate. Acest cluster poate fi format dintr-unul sau
mai multe firewall-uri si un proxy de tip reverse. El poate filtra traficul catre retea si poate
ascunde identitatea acesteia atunci cand exista cereri ce vor iesi in internet.
Traficul poate fi filtrate in functie de protocol, adresa IP sursa sau destinatie, portul sursa
sau destinatie sau informatia din pachetele de date. De exemplu se pot crea reguli ce vor lasa sa
treaca doar traficul pentru portul 22 ( SSH ) catre un anume server din reteaua locala.

Fig. 2 Firewall professional (www.wikipedia.com)

Desi un firewall profesional poate oferi un nivel ridicat de securitate, acesta nu va putea
face fata tuturor atacurilor ce vor veni din exteriorul retelei. Din aceasta cauza, foarte multi
administratori de retea folosesc inca o masura de protectie integrata in partea de retea numita
DMZ (Demilitarized Zone). Aceasta este partea retelei care face legatura dintre internet si restul
echipamentelor locale si este conectata la cele 2 parti ale retelei prin cate un firewall. Singurul
aspect negativ al acestei solutii este ca de cele mai multe ori, informatiile imiportante ramane
salvate pe hard disk-urile echipamentelor din DMZ.

Fig. 3 Impartirea retelei in cele 3 parti: reteaua externa, cea interna si DMZ (www.wikipedia.com)

Inainte de a construi un firewall, trebuiesc stabilite regulile dupa care va functiona pentru
a sti exact care va fi rolul sau.
Regulile dupa care se va configura echipamentul/programul sunt:

se aleg intai serviciile care trebuie oferite


se desemneaza grupurile de utilizatori care vor fi protejati
se defineste amanuntit gradul de protectie de care are nevoie fiecare grup de utilizatori si
cum vor fi implementate protectiile necesare

Politicile definite la un moment dat tind sa se complice cu timpul, dar la inceput este bine ca
ele sa fie simple si la obiect.
Firewall-urile se pot clasifica dupa:

stratul din stiva de retea la care opereaza


modul de implementare

Astfel, n funcie de stratul din stiva TCP/IP (sau OSI) la care opereaza, paravanele de
protectie pot fi:

Stratul 2 (MAC) i 3 (diagrama informatii): filtrare de pachete (packet filtering).


Stratul 4 (transport): tot filtrare de pachete, dar se poate diferentia intre protocoalele de
transport si exist optiunea unui firewall cu mentinere de stare ("stateful firewall"), in
care sistemul stie in orice moment care sunt principalele caracteristici ale urmatorului
pachet asteptat, evitand astfel o intreaga clasa de atacuri
5

Stratul 5 (aplicaie): firewall la nivel de aplicatie. In general se comporta ca un server


proxy pentru diferite protocoale, analizand si luand decizii pe baza cunostintelor despre
aplicatii si a continutului conexiunilor. De exemplu, un server SMTP cu antivirus poate fi
considerat drept un firewall la nivel de aplicatie pentru e-mail.

Serverul proxy
In retelele de calculatoare, proxy-ul reprezinta un server ce joaca rolul unui intermediar
pentru cererile clientilor care cauta anumite date in reteaua externa. Un client se conecteaza la
proxy cerand anumite informatii sau servicii, precum fisiere, conexiuni, pagini de internet sau
alte resurse aflate pe un alt server.

Fig. 4 Serverul proxy (www.wikipedia.com)

Scopurile unui proxy pot fi:

Pastrarea anonimatului clientilor din spatele sau ( pentru securitate )

Cresterea vitezei de acces la resursele cerute de catre client folosind memoria cache

Prevenirea descarcarii aceluiasi material de mai multe ori ( si salvarea benzii de


internet)

Pentru colectionarea datelor statistice ( supravegherea angajatilor unei companii )

Scanarea fisierelor transmise si verificarea lor impotriva malware-ului

Scanarea continului pachetelor de date pentru a prevenit pierderea de pachete


6

Accesul sau restrictia clientilor

Tipuri de proxy

Serverul proxy poate fi plasat local, pe computerul userului sau in diferite puncte de-a
lungul conexiunii dintre user si serverul destinatie.
Proxy-ul prin care trec cererile si raspunsurile dintre user si serverul extern fara sa fie
modificate se numeste gateway.
Proxy-ul de tip forward este folosit la conectarea userului sau a retelei locale la orice
adresa din internet.
Proxy-ul reverse realizeaza securitatea retelei locale verificand datele si informatiile pe
care le proceseaza. De asemenea, indeplineste si alte functii de baza precum
autentificarea userilor, decriptarea si salvarea datelor si impartirea traficului in functie
de numarul de conexiuni de care dispune ( load balancing ).

Proxy-ul forward

Fig. 5 Proxy de tip forward (www.wikipedia.com)

Numele proxy-ului provine din comportamentul sau. Acest tip de server face legatura
dintre serverul client si numele serverului la care trebuie sa se conecteze. Sunt capabile sa aleaga
surse dintr-un numar larg de conexiuni ( provenite de la orice adresa din internet ).
In functie de setarile proxy-ului forward, o cerere poate fi acceptata sau blocata. Daca
aceasta este acceptata, va fi inainta firewall-ului si apoi serverului. Din punctul de vedere al
serverului, cererea vine din partea proxy-ului, nu din partea clientului. Atunci cand serverul
raspunde, acesta va trimite informatiile catre proxy care va inainta mesajul clientului initial care
7

a initializat cererea. Acest tip de firewall poate memora tipul cererii si sursa acesteia pentru a
putea raspunde intr-un timp cat mai scurt.
Proxy-ul de tip open

Fig. 6 Open proxy (www.wikipedia.com)

Proxy-ul open inainteaza cereri indiferent de client si serverul destinatie. Acesta este un
caz particular al proxy-ului de timp forward. Se aproximeaza ca sunt sute de mii de proxy-uri
de acest tip in internet. Pentru userii care doresc sa isi ascunda adresa IP in timpul navigarii pe
internet exista servere proxy de tip open anonime.
Avantaje:

Permite userilor sa isi ascunda adresele IP si sa isi pastreze anonimatul in timpul navigarii
pe internet sau atunci cand folosesc diferite servicii oferite de alte retele externe.

Dezavantaje:

Un computer poater juca rolul unui proxy de tip open fara ca posesorul acestuia sa stie.
Acest lucru este posibil din cauza unei greseli de configurare a softwareului folosit ca
firewall, sau din cauza unei infectii cu malware. Computerele ce functioneaza in acest fel
din cauza unui malware se numeste zombie.

Proxy-urile open prezinta un risc pentru operatori deoarece pot incalca diferite legi.
Aceste sisteme sunt folosite pentru accesarea frauduloasa a computerelor din retele
externe, sau pentru transferul de fisiere cu continut ilegal.

Consumul excesiv de banda, ducand la depasirea acesteia atunci cand reteaua este
supraincarcata.

Configurarea gresita a unui proxy open poate permite accesul catre subretelele private sau
DMZ.

Din cauza configurarii gresite un proxy open poate functiona foarte greoi, cu viteze sub
14,4 kbit/s.
8

Proxy-ul reverse

Fig. 7 Reverse proxy (www.wikipedia.com)

Proxy-ul reverse preia solicitarile venite din internet si le inainteaza serverelor care fac
parte din reteaua locala. Initiatorii conexiunilor ce ajung la serverul proxy pot sa nu cunoasca
intreaga retea locala.
Acest tip de proxy se instaleaza de obicei in apropierea unui sau mai multor servere web.
Tot traficul ce vine din internet ce are ca destinatie unul din serverele web din retea va trece prin
proxy.
Cele mai importante proprietati ale proxy-ului reverse sunt:
Criptarea: site-urile web securizate create folosesc proxyurile de tip reverse deoarece
criptarea SSL ( Secure Sockets Layer ) se face direct pe server. Acest lucru este posibil
datorita echipamentelor harware dedicate criptarii SSL aflate in server. Criptarea cu
ajutorul proxy-ului reverse se poate face simultan pentru mai multe echipamente
conectate. Acest lucru atrage dupa sine utilizarea aceluiasi DNS ( Domain Name
Server) si aceleiasi adresa IP.
Impartirea traficului in mod egal: proxy-uri ca JSCAPE MFT pot face automat impartirea
in mod egal a traficului intre serverele de transfer din retea si asigura o disponibilitate
foarte mare a informatiilor. Astfel se elimina timpii pierduti la accesarea datelor, iar in
cazul companiilor se pot observa cresteri ale productivitatii. In cazul in care un server se
defecteaza sau nu mai poate fi folosit, tehnici precum round robin folosite de catre
proxy vor trimite tot traficul catre celelalte servere ramase online in retea.
Proxy-ul reverse poate stoca in memoria cache informatii precum imagini pentru a ajuta
la incarcarea rapida a paginilor web
Compresia datelor

spoon feeding metoda de reducere a numarului de resurse folosite de catre clientii cu


conexiuni incete: continutul web este salvat in memoria cache si apoi trimis catre client
in parti mai mici.
Securitate: majoritatea drepturilor utilizatorilor dintr-o retea sunt salvate pe serverele de
transfer, o data cu datele acestora. Pentru a evita atacul si schimbarea acestor drepturi
sau informatii, serverele trebuiesc instalate dupa proxy-ul reverse. Datele foarte
importante (date personale, prototipuri, informatii economice) pot fi criptate si accesate
doar ce anume persoane.
Crearea unui singur punct de acces catre serverele folosite la transferul de date
Simplificarea task-urilor pentru controlarea accesului: datorita faptului ca exista un singur
punct de acces, toata atentia se va concentra asupra sa. Regulile configurate pe fiecare
server pentru accesul sau blocarea traficului pot fi inlocuite cu un singur set de reguli
bazate pe IP-uri direct pe serverul proxy reverse. In cazul in care un utilizator incearca
sa se conecteaze la server de pe un IP nou, neautorizat, acesta va fi imediat blocat de
catre server.
Costurile reduse: proxy-ul reverse poate inlocui cu succes clusterul din retea folosit la
transferul datelor securizate in interior si exterior.
In momentul in care un client din exteriorul retelei doreste sa acceseze unul din serverele
locale va inainta cererea proxy-ului reverse. Cererea va fi inaintata serverului doar dupa ce
aceasta va fi analizata. Raspunsul serverului va trece tot prin proxy, astfel pastrandu-se ascunsa
identitatea sa.

10

Fig. 8 Securizarea proxy-ului reverse in DMZ (www.wikipedia.com)

Ca tot traficul sa ajunga la proxy, va trebui sa treaca mai inainte printr-un alt firewall ce va
verifica daca pachetele indeplinesc 2 conditii:
1. Adresa de destinatie a pachetelor este de fapt adresa proxy-ului
2. Protocolul de comunicatii este cel setat ca fiind activ pe serverele din reteaua locala.

Inlantuirea serverelor proxy


O inlantuire de proxy-uri este formata din minimum 2 componente. Aceasta este folosita
la securitatea si performanta retelei. O inlantuire reusita va contine atat proxy-uri reverse cat si
proxy-uri de tip forward. Aceasta va raspunde cererilor in cazurile in care un proxy simplu nu ar
putea lua o decizie corecta. Ca exemplu, o cerere este trimisa prin HTTP unui server ce lucreaza
doar prin protocolul FTP. Ca aceasta cerere sa fie procesata, trebuie intai sa treaca printr-un
server ce poate utilizeze ambele protocoale. Astfel, primul proxy va inaintea cererea unui al
doilea echipament.
Primul server proxy va verifica daca cererea este valida. In cazul in care nu este, va fi
blocata, iar clientul va primi un mesaj de eroare sau va fi redirectionat. Daca cererea este valida,
proxy-ul va verifica daca informatia ceruta se afla in memoria cache si o va inaintea clientului.
Cand datele nu pot fi gasite in cache, se va trimite cererea la urmatorul proxy sau server din
retea. Acest proces se va repeta pana cand cererea ajunge la ultimul proxy din lant. Acesta este
obligat sa analizeze solicitarea, si daca este valida va trebui sa contacteze serverul ce detine
11

datele cerute folosind orice protocol. Raspunsul cererii va fi apoi trimis inapoi prin lant pana la
clientul care a initializat solicitarea.

Configurarea firewall-ului
In Linux, setul de reguli si filtre care trebuiesc implementate in firewall este scris cu
ajutorul unui instrument numit iptables. Acesta permite descrierea criteriilor pe baza carora
pachetele pot fi lasate sa treaca sau nu.

Iptables
Kernel-ul de Linux foloseste o serie de reguli pentru a determina care este decizia pe care
o va lua sistemul in legatura cu pachetul de date procesat indiferent daca acesta a fost primit sau
generat de catre un proces local. Aceste reguli sunt aranjate intr-o anumita ordine numita
chain. Prima regula din chain va decide ce se va intampla cu pachetul analiza: va fi acceptat,
rejectat sau trimis urmatorului chain. Mai multe lanturi de instructiuni formeaza tabele (tables).
Cel mai important tabel este cel de filtrare, ilustrat in tabelul de mai jos. Chain-ul INPUT
proceseaza pachetele destinate programelor locale, FORWARD proceseaza pachetele ce
tranziteaza sistemul, iar OUTPUT proceseaza pachetele care pornesc din sistemul local si sunt
destinate altor sisteme externe. Orice pachet de date va trece doar printr-un singur chain din cele
enumerate mai sus. Alte tipuri de tabele sunt cele denumite NAT Network Address Translation
sau tablele mangle modifica pachetele prin metode specializate.

Fig. 9 Calea de selectie a chain-ului prin care va fi rutat pachetul (Guide h. L.)

12

Pentru crearea unui firewall ce filtreaza pachete, trebuiesc intai declarate regulile
specifice fiecarui chain. Routerele au, de obicei, un numar de reguli utilizate la transmiterea
pachetelor sau la controlul traficului generat de programele locale.
Principalele caracteristici ale iptables sunt:

O integrare foarte buna in kernelul de Linux, reusind astfel o crestere a vitezei de lucru

Verificarea intregului pachet. Firewall-ul va tine urma fiecarei conexiuni pe care o


primeste si va verifica in unele cazuri continutul datelor.

Filtrarea pachetelor in functie de adresa MAC si de flag-urile din pachetul TCP. Astfel se
pot preveni atacuri asupra retelei interne folosind pachete de date modificate.

Restrictionarea accesului la serverele din reteaua locala

Poate retine instoricul actiunilor petrecute si apoi le poate raporta

Integrarea usoara cu software-uri precum Squid.

Capacitatea de a bloca atacuri de tip Dos ( denial of service folosirea tuturor porturilor
unui server ).

Toate pachetele verificate de catre iptables trec printr-o secventa de filtrare in momentul
procesarii. Fiecare dintre aceste filtrari este dedicata unui anumit tip de pachet si este controlata
de catre chain-ul asociat. Exista 3 tabele in total.
1. Primul este responsabil de alterarea bitilor si de QoS (quality of service) din header-ul
pachetului TCP. Acest tip este folosit in speciat in retele private, de acasa.
2. Al doilea se ocupa de filtrarea pachetelor. Are in componenta 3 chain-uri ce pot fi
modificate cu regulile si politicile pentru firewall. Acestea 3 sunt: chain-un forward, input
si output.
3. Ultimul se numeste NAT (network address translation translatarea adreselor de retea).
Acesta este format din 2 chainuri: cel de dinainte de rutare translateaza pachetele cand
adresa de destinatie trebuie sa fie schimbata si cel de dupa rutare translateaza pachete
cand adresa sursa trebuie schimbata.
Pentru fiecare regula creata este nevoie de specificarea tabelului si a chain-ului din care
face parte. Exista totusi o exceptie: majoritatea regulilor sunt legate de filtrare, asadar iptables
presupune ca orice chain creat nou va fi automat legat de filtrarea traficului.

13

Fig. 10 Filtrarea traficului de pachete (Guide h. L.)

14

In schema de mai sus se presupune ca un pachet din internet ajunge la firewall-ul de pe


interfata echipamentului care leaga reteaua locala de cea externa. La inceput, pachetul va fi
examinat de catre regulile scrise in tabelul PREROUTING in cazul in care acesta exista. Apoi se
verifica de catre regulile din tabelul de translatie pentru a verifica daca acesta trebuie trimis mai
departe si dupa este rutat. In cazul in care pachetul este destinat unei retei protejate, acesta este
verificat de catre regulile din chain-ul FORWARD. Atunci cand serverul de destinatie al
pachetului decide sa raspunda, pachetul nou va trece prin aceiasi pasi. Chain-ul FORWARD
poate fi configurat astfel incat dupa filtrarea pachetului, sa ii verifice continutul (QoS). Daca
pachetul este destinat retelei locale, va fi trecut prin chain-ul INPUT ( in cazul in care acesta este
configurat ).
Linux-ul ofera iptables pentru manipularea regulilor firewall-ului. Pentru activarea
acestuia este nevoie de instalarea optiunilor de retea ( Networking Optinos Network packet
filtering framework). Cele mai importante comenzi folosite in iptables sunt:
- - table table Specifica tabelul de reguli pe care se va lucra
- - list [ chain ] Arata configuratia curenta pentru chain-ul
- - flush [ chain ] Sterge toate regulile pentru chian-ul
- - append chain rule Adauga o noua regula chain-ului specificat
- - delete chain rule Sterge o regula din chain-ul specificat
- - insert chain [ number ] rule Insereaza o noua regula in chain pe pozitia specificata; daca
numarul nu este specificat, regula se va adauga la inceputul listei
- - replace chain number rule Inlocuieste regula specificata cu una noua
Exemplu de configurare firewall cu iptables
# iptables -L -t filter
Chain INPUT (policy ACCEPT)
DROP all -- 172.24.0.0/16 anywhere
Chain FORWARD (policy DROP)
Chain OUTPUT (policy ACCEPT)
Tabelul pe care se lucreaza este denumit filter. Acesta este aproape gol: chain-urile
FORWARD si OUTPUT nu au reguli, iar cel de INPUT contine o singura regula blocheaza
toate datele ce vin din reteau 172.24.0.0/16.

15

Setarea politicilor default


Setarea politicilor default reprezinta o problema importanta in crearea unui firewall.
Acesta trebuie sa stie ce va face cu pachetele pe care le primeste si nu se potrivesc niciunei reguli
din cele 3 chainuri principale ( INPUT, OUTPUT, FORWARD ).
Cele mai importante 3 politici default sunt:

ACCEPT o actiune de tip accept va lasa orice tip de pachet sa treaca in urmatorul
chain sau sistem.
DROP prin aceasta actiune sistemul va ignora orice pachet primit. Sistemul care a
trimis pachetul va fi informat ca acesta s-a pierdut din cauza unei erori de rutare.
REJECT actiune asemanatoare cu DROP, singura diferenta fiind modul de anuntare al
sistemului care a trimis pachetul. Acesta va primi un mesaj prin care va fi anuntat ca
pachetul este blocat.

Comanda prin care se pot observa politicile active este iptables L.


# iptables -t filter -F FORWARD
# iptables -F INPUT
# iptables -P FORWARD DROP
# iptables -t filter -P INPUT DROP
Chain-urile INPUT si OUTPUT au setata ca politica default ACCEPT, iar FORWARD
DROP. Pentru a schimba una dintre politici, este nevoie ca inainte sa fie dezactivate toate
regulile prin parametrul F. Apoi se insereaza noua politica cu ajutorul parametrului P.

Configuratie exemplu ce poate reprezenta un firewall simplu format din reguli scrise in
linie de comanda. Acest script poate rula pe orice computer personal sau pe un server. Nu se va
configura si chain-ul FORWARD deoarece acesta este folosit doar la setarea unui router.
#!/bin/bash
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# traficul de pe anumite interfete este lasat sa treaca
iptables -A OUTPUT -d 127.0.0.1 -o lo -j ACCEPT
iptables -A INPUT -s 127.0.0.1 -i lo -j ACCEPT
(Guide h. L.)
# traficul DNS-ului este lasat sa treaca
16

iptables -A OUTPUT -p udp --dport 53 -j ACCEPT


iptables -A INPUT -p udp --sport 53 -j ACCEPT
(Guide h. L.)
# traficul clientilor prin protocolul TCP este lasat sa treaca
iptables -A OUTPUT -p tcp --sport 1024:65535 -m state \
--state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 1024:65535 -m state \
--state ESTABLISHED,RELATED -j ACCEPT
(Guide h. L.)
# conexiunile locale catre servere prin SSH sunt acceptate
iptables -A OUTPUT -p tcp --sport 22 -d 172.24.1.0/24 -m state \
--state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -s 172.24.1.0/24 -m state \
--state NEW,ESTABLISHED,RELATED -j ACCEPT
(Guide h. L.)
Primele linii sterg regulile firewall-ului si seteaza politicile default. Prin aceste comenzi ne
asiguram ca regulile pe care le vom introduce nu se vor amesteca cu cele deja existente, afectand
functionarea si performanta aplicatiei. Urmatoarele comenzi sunt impartite in 4 parti, fiecare
avand cate 2 reguli in functie de traficul pe care il monitorizeaza.

Traficul prin interfetele de loopback primele 2 linii se refera la comunicarea


computerului cu el insusi prin interfata de loopback si IP-ul 127.0.0.1. orice trafic ar
exista pe interfete, acesta va trebui sa vina doar de la adresa 127.0.0.1. Regula este
intarita de parametrii s si d.

Traficul catre/dinspre DNS majoritatea sistemelor se bazeaza pe serverele de DNS


pentru traducerea numelor in adrese IP. Pentru ca sistemul sistemul sa fie functional,
trebuie activat accesul catre sa de la serverele de DNS servere ce functioneaza prin
UDP, port 53. Regulile ce se refera la aceasta parte sunt permisive doarece traficul trebuie
sa poata trece in orice directie. Pentru a mari securitatea la acest nivel, se pot introduce
reguli de restricitie pentru anumite adrese IP.

Traficul clientilor acestia folosesc pentru comunicatia cu serverul in principal


protocolul TCP si porturi cu numere cuprinse intre 1024 si 65535. Regulile scrise pentru
aceasta parte lasa sa treaca traficul in ambele directii pentru aceste porturi atat timp cat
pachetele sunt vechi. Pentru pachetele nou create, firewall-ul nu va accepta decat traficul
catre exterior, adica le va trimite catre destinatia din internet. Un server configurat in
acest fel nu va accepta niciun fel de conexiune venita de exteriorul retelei locale.
17

Taficul local catre server ( SSH ) ultimele linii creaza un tunel prin firewall pentru a
permite computerelor locale sa se conecteze la server. Traficul catre sau de la portul cu
numarul 22 ( pe care functioneaza serverul din exemplu ) si reteaua locala 172.24.0.1/24
este acceptat. Pachetele invalide sunt rejectate in ambele directii, iar cele noi sunt
acceptate doar daca sunt primite de catre server.

Proiectarea unui firewall cu 2 porturi de 10 Gbps


Unul din primele lucruri care trebuiesc rezolvate la securizarea unei retele de calculatoare
este viteza cu care pachetele sunt filtrate. Deoarece o solutie software nu va putea gestiona foarte
bine trafic ce depaseste 1 Gbps, trebuiesc implementate echipamente hardware specializate.
Cresterea vitezei de comunicatie intre computerele dintr-o retea are ca efect suprasolicitarea
echipamentelor ce se ocupa cu transferul de date. Acestea trebuie sa fie capabile sa clasifice sau
sa ruteze pachete indiferent de traficul existent. Implementarea acestor functii printr-o solutie
software este aproape imposibila din cauza numarului foarte mare de pachete care trebuies
prelucrate. Intr-o retea in care viteza de transfer este de 10Gbps, pot exista si 15 milioane de
pachete intr-o secunda.
Clasificarea pachetelor ce trec prin firewall
Una dintre cele mai solicitante sarcini pentru un echipament de retea este clasificarea
pachetelor. Aceasta se poate face cu ajutorul filtrarii functie pe care o poate indeplini si un
firewall. Algoritmii de clasificare folosesc urmatorii pasi:

Reguli scrise in ordinea prioritatii

Regula aplicata fiecarui pachet este prima care se potriveste cerintelor. Cele mai simple
actiuni care se pot indeplini sunt acceptarea sau blocarea traficului.

Acesti pasi trebuiesc realizati in doar cateva nanosecunde solutie realizabila cu ajutorul
unui echipament ce foloseste o tehnica paralela implentata hardware.
Arhitectura sistemului cu 2 porturi de 10 Gbps
Firewall-ul este format din mai multe straturi. Primul strat de jos este cel hardware. Prin
el se face legatura cu mediul electric. Stratul firmware-ului reprezinta configurarea procesorului.
Tot aici se afla si componentele folosite la cresterea vitezei de raspuns a echipamentului.
Pachetele sunt primite si clasificare in stratul 2. Stratul 3 stocheaza kernel-ul sistemului de
operare ce va controla restul componentelor. Ultimul strat este format din software-uri si librarii
ce vor ajuta la managementul si procesarea pachetelor.
18

Software + librarii

Kernel

Firmware

Hardware
Fig. 11 Arhitectura unui sistem firewall cu 2 porturi de 10 Gbps (Guide h. L.)

Firewall-ul poate fi configurat cu ajutorul unui fisier ce va contine seturi de reguli dupa
care va face filtrarea pachetelor de date. Initializarea firmware-ului, incarcarea si modificarea
setului de reguli, adunarea datelor statistice se vor face cu ajutorul unor comenzi introduse in
interfata software-ului.
Echipamentul poate fi folosit in diferite situatii sau configurari ale retelei. Cele mai
simple dintre acestea sunt:

Firewall-ul acesta filtreaza traficul, fiind amplasat intre reteaua interna si cea externa

Retea externa

Retea interna
Firewall

Fig. 12 Functia de firewall pentru sistemul cu 2 porturi de 10 Gbps (Guide h. L.)

Echipament simplu, pasiv va primi pachete de date de la intreaga retea si le va filtra. Va


pastra doar pachetele relevante pentru a putea fi analizate sau stocate, iar restul vor fi blocate.

19

Retea
externa/interna

Firewall

Fig. 13 Functia de cache pentru sistemul cu 2 porturi de 10 Gbps (Guide h. L.)

Echipament de interceptare de pachete primeste si trimite pachetele filtrate catre centrul de


monitorizare sau catre mediul de stocare.

Monitorizare

Firewall

Stocare

Retea
externa/interna
Fig. 14 Functia de interceptare de pachete a sistemului cu 2 porturi de 10 Gbps (Guide h. L.)

Algoritmul de clasificare a pachetelor folosit de firewall-ul cu 2 porturi de 10 Gbps


Primul pas in clasificarea pachetelor primite de catre firewall este procesarea acestora cu ajutorul
unui algoritm. Unul dintre algoritmii cei mai folositi este LPM Longest prefix match. Acesta va
compara bitii de la inceputul fiecarui pachet cu cei setati in configurarea firmware-ului si va alege doar
pachetele care au cel mai mare numar de biti identici cu exemplul salvat in configurare. Din acest motiv,
porturile TCP/UDP vor fi convertite din siruri de biti pentru a putea fi comparate. De asemenea, si alte
module ale unui pachet de date vor fi convertite pentru o analiza mai usoara: segmentul numarului
protocolului folosit sau adresa MAC.

20

Campul 1

........

Campul n

LPM

LPM

Functie hash ( ce ofera tuturor pachetelor


acelasi numar de biti )

Comparatie

Rezultat
Fig. 15 Metoda de clasificare a pachetelor pentru sistemul cu 2 porturi de 10 Gbps (Guide h. L.)

Dupa inceputul procesarii, incep sa apara cuvinte de cod de lungime fixa ce se numesc
pseudoreguli. Acestea pot corespunde mai multor reguli. Dupa aplicarea functiei hash, rezultatele vor
indica o singura regula care poate fi gresita in anumite situatii. Pentru a rezolva alegerile gresite pentru
pachete, in al treilea pas de procesare se compara header-ul pachetului primit cu regula selectata. Daca
acest header se potriveste, atunci regula indicata este corecta. In caz contrar, pachetul va fi blocat.
Acest model de firewall poate clasifica pachete in functie de:

Adresa MAC sursa

Adresa MAC destinatie

Adresa Ipv4 sursa

Adnresa Ipv4 destinatie

Protocolul folosit

Portul sursa

Portul destinatie

Numarul interfetei

Componentele hardware ( microcontrolere, micropocesoare ) pot fi configurate astfel incat sa


poata fi folosite la clasificarea pachetelor de date ce traverseara retele cu viteze de pana la 10
Gbps.
21

Concluzii
Firewall-ul este o parte critica a unei retele ce se conecteaza la o alta retea neprotejata
(internet). Acesta nu este inca suficient. Securitatea nu implica doar protectia impotriva datelor
corupte sau a software-urilor ce pot dauna retelei, ci si salvarea zilnica a datelor, cresterea
securitatii politicilor legate de parole, restrictionarea si monitorizarea catre serverele locale,
cablarea securizata, conexiuni redundante. Securitatea trebuie vazuta ca pe procesul ce contribuie
la functionarea fara riscuri a unei retele.

22

Bibliografie

http://ro.wikipedia.org/wiki/Firewall

http://docs.kaspersky-labs.com/romanian/kis2010_ro.pdf

ftp://ftp.symantec.com/public/Romanian/products/norton_internet_security/ver2010/man
uals/nis_2010_retail_ug.pdf

http://en.wikipedia.org/wiki/Squid_%28software%29

http://wiki.squid-cache.org/ConfigExamples

http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch32_:_Contr
olling_Web_Access_with_Squid#.UMY5Haxes8s

http://www.howtoforge.com/perfect_linux_firewall_ipcop

http://www.aboutdebian.com/firewall.htm

(http://xa.yimg.com/kq/groLPIC2 Linux Professional Institute Certification).pdf

http://www.cesnet.cz/doc/techzpravy/2008/two-port-10gpbs-hardware-firewall/

http://www.linuxhomenetworking.com/wiki/index.php/Quick_HOWTO_:_Ch14_:_Linux
_Firewalls_Using_iptables#Managing_the_iptables_Server

23

S-ar putea să vă placă și