Creeaza.com - informatii profesionale despre


Cunostinta va deschide lumea intelepciunii - Referate profesionale unice
Acasa » scoala » informatica » retele calculatoare
Packet Filtering Firewall-Implementarea pe platforma .NET

Packet Filtering Firewall-Implementarea pe platforma .NET


Packet Filtering Firewall-Implementarea pe platforma .NET

1 Generalitati

1.1 Cerinte sistem

1.2 Functionalitate

1.3 Interfata cu utilizatorul



2 Clasele .NET implementate

2.1 Packet Filtering API

2.2 Instalarea filtrelor

2.3 Clasele bibliotecii de functii cu acces la pachete

2.4 Clasele interfetei grafice

1 Generalitati

Packet Filtering Firewall este o aplicatie firewall cu filtrare de pachete care ajuta la protejarea calculatorului prin prevenirea accesului la computer a utilizatorilor neautorizati din reteaua LAN sau de pe Internet. Destinat utilizatorilor casnici, Packet Filtering Firewall ofera o interfata grafica ce permite configurarea acestuia intr-o maniera eleganta. Usurinta in utilizare si ghidarea in efectuarea operatiilor sunt puncte forte al aplicatiei. Mediul de dezvoltare robust in care a fost implementat, C#, precum si platforma .NET de ultima generatie pe care ruleaza ofera garantia posibilitatii unei dezvoltari incrementale, modulare. Packet Filtering Firewall este o aplicatie care nu ar trebui sa lipseasca din nici o solutie de securitate.

Aplicatia realizata este un firewall cu filtrare de pachete realizat pe platforma .NET In C++ si C# bazat pe o biblioteca de functii cu acces la pachet. Packet Filtering Firewall este o aplicatie firewall cu filtrare de pachete care ajuta la protejarea calculatorului prin prevenirea accesului la computer a utilizatorilor neautorizati din reteaua LAN sau de pe Internet.

Destinat utilizatorilor casnici, Packet Filtering Firewall ofera o interfata grafica ce permite configurarea acestuia intr-o maniera eleganta. Usurinta in utilizare si ghidarea in efectuarea operatiilor sunt puncte forte al aplicatiei.

Mediul de dezvoltare robust in care a fost implementat, C#, precum si platforma .NET de ultima generatie pe care ruleaza ofera garantia posibilitatii unei dezvoltari incrementale, modulare.

Packet Filtering Firewall este o aplicatie care nu ar trebui sa lipseasca din nici o solutie de securitate.

Dezavantajele sunt cunoscute: nu poate filtra traficul care nu utilizeaza protocoalele TCP, UDP sau ICMP. Packet Filtering Firewall nu este imun la atacuri de tip DoS, consumand resursele in incercarea de filtrare. Avantajele sunt reprezentate de implementarea clara, simpla si modularizata. Un alt avantaj al implementarii il reprezinta biblioteca de functii cu acces la pachet care poate fi reutilizata la alte aplicatii cu necesitati de filtrare.

1.1 Cerinte minime

Procesor 300Mhz

RAM 64 Mb

Sistem de operare Microsoft Windows 2000 SP 2 / XP

Platforma .NET Framework 1.1

1.2 Packet Filtering Firewall - functionalitate

-vizualizarea si schimbarea starii firewall-ului (Pornit/Oprit)

-adaugarea de filtre prin specificarea numelui, adresei IP, directiei, protocolului si portului sursei si destinatiei pachetelor

-vizualizarea filtrelor active

-modificarea filtrelor

-salvarea configuratiei filtrelor

-adaugarea de filtre pentru ICMP

-meniu contextual

-descrieri precise ale controalelor de pe interfata grafica

-salvarea configuratiei filtrelor in fisiere binare cu extensia * .FWL

1.3 Interfata cu utilizatorul

Interfata grafica este intuitiva si usor de urmarit. Prezenta descrierilor functionale a controalelor existente face interfata grafica foarte usor de utilizat. Presupune cunostinte medii de configurare a unui firewall.

1.3.1 Pornirea si oprirea filtrarii

Se realizeaza prin selectarea optiunii 'Pornit' respectiv 'Oprit' de pe tab-ul 'General' (fig. 1). Culorile utilizate sunt verde respectiv rosu pentru accentuarea mesajului transmis. In dreptul optiunilor este descrisa pe scurt functionalitatea implementata si cum afecteaza aceasta munca utilizatorului. Astfel, utilizatorul este avertizat despre efectele dezavantajelor opririi Packet Filtering Firewall.

1.3.2 Blocarea tuturor conexiunilor

Se realizeaza prin selectarea optiunii 'Blocheaza toate conectarile' de pe tab­ul general. In acest fel se creaza un filtru care opreste traficul care utilizeazaprotocoalele TCP, UDP si ICMP pe directia dinspre computer spre retea. Astfel se pot realiza conexiuni cu siguranta ca nici o conexiune care foloseste aceste protocoale nu va fi stabilita fara acordul utilizatorului. Indepartarea acestui filtru se face prin deselectarea optiunii.

1.3.3 Ajutor contextual

General Tab prezinta un link cu date suplimentare referitoare la Packet Filtering Firewall. Aceste informatii se gasesc la www.firewall.as.ro. site-ul oficial al proiectului.

1.3.4 Vizualizarea filtrelor active

La prima rulare a Packet Filtering Firewall se genereaza un fisier de configurare a filtrelor in care se definesc cateva filtre cu actiuni recomandate astfel incat utilizatorul neexperimentat sa poata porni aplicatia si sa dispuna de protectia pe care o ofera Packet Filtering Firewall.

Aceste filtre implicite realizeaza:

· Blocarea tuturor pachetelor care au ca destinatie computerul utilizatorului si utilizeaza ICMP.

· Blocarea tuturor pachetelor care au ca sursa computerul utilizatorului si utilizeaza protocolul TCP si portul 80.

· Blocarea tuturor pachetelor care au ca sursa computerul utilizatorului si utilizeaza protocolul UDP si portul 110.

Daca primul filtru este util pentru securitatea computerului utilizatorului, ultimele doua filtre sunt create doar in scopuri educative, pentru a servi drept exemplu.

Vizualizarea filtrelor active are loc in tab-ul 'Configurare' (fig. 2). Detalii despre fiecare filtru in parte se obtin in partea de jos a tab-ului in sectiunea de 'Detalii' prin selectia filtrului din lista.


1.3.5 Stergerea unui filtru

Se face prin actionarea butonului 'Sterge' dupa selectarea filtrului de sters din lista. Butonul este dezactivat pana la realizarea selectiei. Stergerea se face fara confirmare. De mentionat este faptul ca nu se pot sterge filtrul global sau filtrele active. Acestea pot fi sterse prin actiuni specifice de pe tab-ul 'General' respectiv de pe tab-ul 'Avansate'.

1.3.6 Adaugarea de filtre noi

Se face prin actionarea butonului 'Adauga'. Interfata de adaugare a unui nou filtru este prezentata in fig. 3. Aici se pot specifica parametri noului filtru precum si un nume generic de identificare a acestuia. Pot exista doua filtre cu acelasi nume. Prin aceasta metoda de adaugare se pot crea doar filtre care utilizeaza protocoalele TCP si UDP. Crearea filtrelor ICMP se face intr-o alta sectiune din tab-ul 'Avansate'.



In exemplul de configurare din fig. 3, daca se considera 192.168.1.82 ca fiind adresa IP locala, se creaza un filtru pentru blocarea accesului unui utilizator al unui computer cu IP-uI192.168.1.83 din acceasi retea (deoarece subnet mask coincid) pe portul sursei si al destinatiei 1025 care utilizeaza protocolul TCP. Directia blocata este dinspre 192.168.1.83 spre computerul local 192.168.1.82.

Conventia folosita pentru a specifica toate adresele IP este notatia 0.0.0.0. Conventia folosita pentru specificarea tuturor porturilor aferente unui protocol este notatia O.

1.3.7 Modificarea unui filtru

Modificarea unui filtru se face prin actionarea butonului 'Modifica' de pe tab­ul 'Configurare' dupa selectarea filtrului ale carui proprietati se doresc a fi modificate.  Butonul este dezactivat pana in momentul selectiei unui filtru din lista filtrelor active. Prin aceasta metoda nu se pot modifica setarile filtrului global sau ale filtrelor care utilizeaza protocolul ICMP.

Actionarea butonului 'Modificare' determina lansarea in executie a interfetei de modificare a filtrului, cu dispunerea elementelor de control din fig.


1.3.8 Vizualizarea / Selectarea / Deselectarea filtrelor ICMP

Tab-ul 'Avansate' prezentat in fig. 5 prezinta pe larg filtrele care utilizeaza protocolul ICMP. O descriere principiala a functionalitatii acestor filtre este disponibila utilizatorului prin click asupra filtrelor disponibile. Selectarea acestora determina adaugarea acestora la lista de filtre.Filtrele ICMP disponibile sunt:

· Blocarea cererilor exterioare de echo

· Blocarea cererilor exterioare de timestamp

· Blocarea cererilor exterioare de info despre masca retelei

· Blocarea cererilor exterioare de info despre router

· Blocarea trimiterii mesajului 'destination unreachable'

· Blocarea trimiterii mesajului 'source quench'

· Blocarea trimiterii mesajului 'parameter problem'

· Blocarea trimiterii mesajului 'time expired'

· Blocarea redirectarii

2 Clasele . NET implementate

Cu Windows 2000, Microsoft a inclus un API pentru a implementa functionalitate de filtrare a pachetelor in programele utilizator. Acest API este inclus in Windows XP si Windows 2003. Packet Filtering API permite asocierea de filtre interfetelor adaptoarelor IP. Se poate implementa o functionalitate similara intre optiunile filtrului TCP/IP si proprietatile TCP/IP ale unui adaptor de retea. Functiile de baza ale acestui API, folosite in scrierea acestei clase sunt:

. PfCreateInterface(. ..)

Utilizata pentru a crea o interfata. In aceasta functie, atribuim actiunea implicita pentru pachetele in1/out2. Apoi asociem filtre la interfete.

. PfBindInterfaceToIPAddress()

Am creat o interfata, dar trebuie sa o 'legam' de o adresa de IP. Pentru a face acest lucru, folosim aceasta functie.

. PfAddFiltersToInterface(. ..)

Am creat o interfata si am legat-o de un IP local. Acum putem asocia filtre pentru a filtra traficul IP. Cand am creat interfata, am indicat actiunea implicita pentru pachetele in/out. Filtrele inverseaza actiunile implicite ale interfetei.

1 Incomming packets = En pachete care sosesc in retea din exterior

2 Outgoing packets = En pachete care parasesc reteaua

. PfAddGlobalFilterToInterface()

Adauga un filtru global tuturor filtrelor unei interfete. Avem predefinite trei filtre globale: verifica fragmentele de pachete, verifica fragmentele din cache, verifica destinatia pachetelor in ( verifica de atacuri de tip IP spoofing3 ).

. PfRemoveGlobalFilterToInterface()

Inlatura un filtru global al unei interfete.

. PfRemoveFiltersFromInterface(. ..)

Inlatura un filtru adaugat unei interfete.

. PfUnBindInterface()

Dezleaga o adresa IP de o interfata.

. PfDeleteInterface(. ..)

Sterge o interfata creata.

Mai multe informatii referitoare la aceste functii se gasesc in MSDN. Aceste functii pot fi folosite doar de catre un utilizator cu drepturi administrative.

2.1 Instalarea filtrelor IP

Procesul de instalare a filtrelor este urmatorul:

1. Se cunoaste adresa de IP a interfetei locale unde se doreste aplicarea filtrarii pachetelor. Pentru aceasta se creaza interfata si i se ataseaza adresa IP locala

( cunoscuta

2. Se adauga regulile de filtru dorite. Se pot adauga reguli de filtre sau filtre globale.

3. La final, trebuie detasate interfetele de adresa locala IP si trebuiesc indepartate interfetele create.

2.2 Clasele .NET pentru biblioteca de functii cu acces la pachete

. TxFilterController

Este clasa de baza. Se foloseste la adaugarea sau stergerea filtrelor unei interfete. Se poate implementa filtrarea numai cu aceasta clasa. Aceasta clasa creeaza doar interfetele necesare.

Metodele sunt urmatoarele:

o int AddFilter(IPAddress *ip, TxlpFilter *filter)

Adauga un filtru la o adresa locala IP. Pachetele care se potrivesc regulii de filtrare vor fi aruncate.

o int AddGloba/Filter(IPAddress *ip, int g/oba/Filter)

Adauga un filtru global unei adrese locale IP.

o int RevomeFilter(IPAddress *ip, TxlpFilter *filter)

Sterge un filtru de pe o interfata.

o int RevomeGloba/Filter(IPAddress *ip, int g/oba/Fi/ter)

Sterge un filtru global de pe o interfata.

o CloseController()

Dezleaga si sterge toate interfetele create.

. TxlpFilter

Este echivalentul lui PF _FIL TER_DESCRIPTOR din Packet Filtering API. Defineste o regula de filtrare. Se pot adauga cate filtre TxIpFilter dorim unui TxFilterController.

Prin adaugarea caracteristicii de 'serializabil', instante ale acestei clase vor putea fi serializate si salvate In fisiere cu formate speciale.

2.3 Clasele interfetei cu utilizatorul

. Firewall

Este clasa de baza. Implementeaza interfata principala a aplicatiei. Cateva dintre metode:

o Adauga_filtru()

Adauga un filtru cu caracteristicile specificate.

o Adauga_ICMP_Filter()

Adauga un filtru ICMP in functie de selectia din lista.

o Citeste_fisiere(. . .)

Citeste fisierul configuratie. Daca acesta nu exista, se creaza.

o Salveaza_fisier()

Salveaza filtrele in fisierul de configurare.

o Determina_config()

Determina setarile computerului referitoare la reteaua locala: adresa IP, Subnet Mask, adresa MAC, numele si domeniul DNS.

o Populeaza_lista()

Populeaza lista de filtre.

o Sterge_fi/tru()

Inlatura filtrul selectat.

. Form2

Realizeaza implementarea interfetei de adaugare si modificare a filtrelor care utilizeaza protocoalele TCP si UDP

. Filtru

Clasa care contine structura unui filtru si numele generic atasat acestuia.

. NetConf

Clasa care contine structura cu ajutorul careia se determina setarile retelei locale si ale masinii locale.

BIBLIOGRAFIE

[1]Dr.ing. Victor Valeriu Patriciu: 'Criptografia si Securitatea Retelelor de Calculatoare cu aplicatii in C si Pascal ' Editura Tehnica (Bucuresti, 1994)

[2]Ion Bica, Victor Valeriu Patriciu: 'Securitatea Comertului Electronic',

Editura All, Bucuresti 2001

[3]Lars Klander: 'Anti-hacker ghidul securitatii retelelor de calculatoare' -Editura All Educational )Bucuresti 1998

[04] Andrew Tanenbaum: 'Retele de calculatoare' editia a 3 a

[05] Andrew Tanenbaum: 'Modern Operating Systems ' Prentice Hall,2004

[06] C.Strugaru: 'Sisteme de comunicatii digitale ',  Editura Orizonturi Universitare, Timisoara, 2000

[07]A. Munteanu,V.G.Serban: ' Retele locale de calculatoare-proiectare si administrare', Editura Polirom, 2003

[08]I.Jurca: 'Sisteme de operare', Editura de Vest, Timisoara, 2001

[09]E. Spafford, K. Heaphy, D. Ferbrache Computer Viruses. ADAPSO, Arlington, 1989

[10]J. Vasarhely, Z. Kasa: Mit si adevar despre virusii PC. Editura Albastra, Cluj-Napoca, 1996





Politica de confidentialitate


creeaza logo.com Copyright © 2024 - Toate drepturile rezervate.
Toate documentele au caracter informativ cu scop educational.