Documente Academic
Documente Profesional
Documente Cultură
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.
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.
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:
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:
Astfel, n funcie de stratul din stiva TCP/IP (sau OSI) la care opereaza, paravanele de
protectie pot fi:
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.
Cresterea vitezei de acces la resursele cerute de catre client folosind memoria cache
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
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
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
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
10
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.
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
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.
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
14
15
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.
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
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.
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
19
Retea
externa/interna
Firewall
Monitorizare
Firewall
Stocare
Retea
externa/interna
Fig. 14 Functia de interceptare de pachete a sistemului cu 2 porturi de 10 Gbps (Guide h. L.)
20
Campul 1
........
Campul n
LPM
LPM
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:
Protocolul folosit
Portul sursa
Portul destinatie
Numarul interfetei
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://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