Ipfw

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 18 octombrie 2014; verificările necesită 18 modificări .
ipfw
Tip de Firewall
Dezvoltator Echipa de voluntari FreeBSD
Sistem de operare FreeBSD , DragonFlyBSD , Mac OS X
Licență BSD
Site-ul web freebsd.org

ipfirewall  este un firewall care este livrat cu FreeBSD începând cu versiunea 2.0. Cu acesta, puteți, de exemplu, să numărați traficul conform oricăror reguli rezonabile bazate pe datele din antetele pachetelor din protocoalele stivei TCP / IP , să procesați pachete cu programe externe, să ascundeți o întreagă rețea în spatele unui computer etc. [1]

Folosit de multe sisteme de operare încorporate bazate pe FreeBSD , cum ar fi m0n0wall .

Există o versiune portată - Wipfw pentru Windows 2000 , Windows XP și Windows Server 2003 .

ipfw  este numele unui utilitar de utilizator (lansat din linia de comandă) conceput pentru a gestiona sistemul IPFW. Administratorii îl folosesc pentru a crea și modifica reguli care controlează filtrarea și redirecționarea pachetelor .

ipfw poate fi încărcat ca modul sau încorporat în nucleu.

IPfirewall constă din următoarele componente:

Istorie

Utilitarul ipfw a apărut pentru prima dată în FreeBSD 2.0. Suportul pentru dummynet a fost adăugat mai târziu, începând cu versiunea 2.2.8. Suport pentru socket de deviere împreună cu natd a fost adăugat începând cu versiunea 3.x (specificați). Suportul NAT la nivel de kernel a fost adăugat începând cu versiunea 7.0.

Autorii

Suportul Kernel NAT a fost scris de Paolo Pisati și a apărut pentru prima dată în FreeBSD 4.0. Anterior, traducerea NAT era efectuată de demonul natd, către care pachetele erau transmise prin acțiunea de deviere.

Descriere

Firewall-ul configurat este reprezentat de o listă ordonată de reguli cu numere în intervalul 1-65535. Fiecare pachet provine de la niveluri diferite ale stivei de protocol, iar atunci când lovește firewall-ul, este comparat la rândul său cu criteriile fiecărei reguli din listă. Dacă se găsește o potrivire, atunci acțiunea atribuită acestei reguli este efectuată.

ipfw conține întotdeauna o regulă implicită (numerotată 65535) care nu poate fi schimbată sau eliminată. Această regulă este terminală, adică se aplică pachetelor care nu se încadrează în toate cele anterioare. În funcție de configurația nucleului, această regulă poate efectua acțiunile „deny” sau „allow” (în mod implicit este deny ip from any to any, pentru a schimba acest lucru, trebuie să adăugați opțiunile IPFIREWALL_DEFAULT_TO_ACCEPT la kernel). Toate celelalte reguli pot fi editate de administratorul de sistem.

Există mai multe acțiuni de bază care pot fi aplicate pachetelor:

Includerea în FreeBSD

Când instalați un sistem FreeBSD prin mijloace standard, ipfw nu este activat implicit. Suportul se poate face fie prin includerea codului ipfw în nucleu (prin adăugarea de opțiuni și recompilarea nucleului și apoi repornirea sistemului), fie (oricand după pornirea sistemului) prin conectarea modulelor cu același nume (disponibile în ultima versiune). versiuni ale sistemului). Utilizarea procesorului este mai mică atunci când ipfw este inclus în nucleu, cu toate acestea, acest lucru este vizibil doar cu un număr mare de pachete și reguli procesate.

Dacă doriți să utilizați IPFW, atunci trebuie să reconstruiți nucleul cu opțiunea:

opțiuniIPFIREWALL

Implicit, IPFW are încorporată o regulă nedemontabilă „totul este interzis tuturor”, care are cel mai mare număr și, prin urmare, va fi procesată după toate regulile introduse de administratorul de sistem. Cu unele acțiuni eronate ale administratorului, sistemul poate fi închis de la orice acces prin rețea, iar administratorul va avea nevoie de acces la consolă; pentru a înlocui această regulă cu „toată lumea are voie”, trebuie să adăugați opțiunea

opțiuni IPFIREWALL_DEFAULT_TO_ACCEPT

Dacă doriți să utilizați NAT (prin demonul natd), atunci trebuie să adăugați opțiunea:

opțiuni IPDIVERT

Dacă doriți să utilizați NAT la nivel de kernel, atunci trebuie să adăugați opțiuni:

opțiuni LIBALIAS opțiuni IPFIREWALL_NAT

Dacă doriți să utilizați pipe/queue, atunci trebuie să adăugați opțiunea:

opțiuni DUMMYNET

Activarea ipfw prin încărcarea modulelor nucleului se face prin comenzi (superutilizator).

kldload ipfw kldload ipdivert kldload dummynet

respectiv.

Cum se construiesc reguli

Format general pentru regulile de construcție:

ipfw [prob match_probability ] acțiune [log logamount number ] proto de la src la dst [ opțiuni ] ipfw add 00001 permit icmp de la oricare la oricare permite (permite) orice trafic prin protocolul ICMP (icmp) în orice direcție. (oricare către oricare) prin prima regulă (00001) ipfw add deny all de la 192.168.0.0/24, 10.0.0.0/8 la 192.168.1.0/24 Interzice (interfiază) orice trafic prin orice protocol (toate) în direcția de la 192.168.0.0-192.168.0.255 sau de la 10.0.0.0-10.255.255.255 la subrețeaua 192.168.1.0/24 (192.168.0.0/24 (192.168.0.0-168...12.0.0.0-10.255.255.255) Numărul regulii în acest caz este luat din ultimul +100 folosit, cu excepția ultimei reguli implicite (nr. 65535); ipfw adaugă deny all de la 192.168.0.1 pentru mine Respinge tot traficul de la adresa 192.168.0.1 către toate interfețele de rețea ale dispozitivului care rulează ipfw configurat; ipfw add permit all from table(1) to any Permite tot traficul de la adresele din tabelul #1 către orice adresă; ipfw add allow all from table(1) to any out Permite toate ieșirile (ieșirile)

trafic de la adresele din tabelul nr. 1 la orice adrese;

ipfw add permit all from table(1) to any out prin em0 Permite tot traficul de ieșire (ieșire) de la adresele din tabelul #1 către orice adresă prin interfața em0; ipfw adaugă skipto 1700 ip de la tabel (8) la oricare Începe verificarea cererii de conformitate cu regula 1701 (adică toate regulile începând de la aceasta și până la 1700 sunt ignorate la verificarea acestui pachet) pentru adresele IP din tabelul 8; ipfw add set 31 prob 0.95 permite tcp de la mine la orice out dst-port 80 Permite tot traficul de ieșire (ieșire) de pe acest dispozitiv către orice adresă de pe portul 80 tcp (dst-port 80, tcp) cu o probabilitate de 95% (prob 0,95). Regula este adăugată la setul de reguli speciale #31, vezi mai jos (ipfw flush); ipfw tabelul 1 adăugați 192.168.1.2 ipfw tabelul 1 adăugați 192.168.1.128/25 Adăugați în tabelul 1 adresa 192.168.1.2 (mască /32 - implicit) și respectiv subrețeaua 192.168.1.128/25 ipfw tabelul 1 lista Afișați conținutul tabelului 1; ipfw șterge 00001 ștergeți regula creată anterior nr. 1. Descrierea este opțională - dacă există mai multe reguli sub acest număr, toate sunt șterse. ipfw flush ștergeți toate regulile care nu sunt incluse în setul nr. 31, regula nr. 65535 este inclusă implicit în acesta;

Vezi și

Note

  1. Kuzmich Configurarea Firewall (ipfw) în FreeBSD (downlink) . Consultat la 16 decembrie 2008. Arhivat din original pe 8 mai 2012. 

Link -uri