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
-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.
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 tabul '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 |
.com | Copyright ©
2024 - Toate drepturile rezervate. Toate documentele au caracter informativ cu scop educational. |
Personaje din literatura |
Baltagul – caracterizarea personajelor |
Caracterizare Alexandru Lapusneanul |
Caracterizarea lui Gavilescu |
Caracterizarea personajelor negative din basmul |
Tehnica si mecanica |
Cuplaje - definitii. notatii. exemple. repere istorice. |
Actionare macara |
Reprezentarea si cotarea filetelor |
Geografie |
Turismul pe terra |
Vulcanii Și mediul |
Padurile pe terra si industrializarea lemnului |
Termeni si conditii |
Contact |
Creeaza si tu |