Ipfw

Aktuální verze stránky ještě nebyla zkontrolována zkušenými přispěvateli a může se výrazně lišit od verze recenzované 18. října 2014; kontroly vyžadují 18 úprav .
ipfw
Typ Firewall
Vývojář Tým dobrovolníků FreeBSD
Operační systém FreeBSD , DragonFlyBSD , Mac OS X
Licence BSD
webová stránka freebsd.org

ipfirewall  je firewall , který je dodáván s FreeBSD od verze 2.0. S ním můžete například počítat provoz podle jakýchkoli rozumných pravidel na základě dat z hlaviček paketů zásobníkových protokolů TCP/IP , zpracovávat pakety s externími programy, skrývat celou síť za jeden počítač atd. [1]

Používá se mnoha vestavěnými operačními systémy založenými na FreeBSD , jako je m0n0wall .

Existuje portovaná verze - Wipfw pro Windows 2000 , Windows XP a Windows Server 2003 .

ipfw  je název uživatelského nástroje (spouštěného z příkazového řádku) určeného ke správě systému IPFW. Správci jej používají k vytváření a úpravě pravidel, která řídí filtrování a předávání paketů .

ipfw lze načíst jako modul nebo zabudovat do jádra.

IPfirewall se skládá z následujících komponent:

Historie

Nástroj ipfw se poprvé objevil ve FreeBSD 2.0. Podpora pro dummynet byla přidána později, počínaje verzí 2.2.8. Podpora pro odkloněnou zásuvku spolu s natd byla přidána od verze 3.x (specifikujte). Od verze 7.0 byla přidána podpora NAT na úrovni jádra.

Autoři

Podpora jádra NAT byla napsána Paolo Pisati a poprvé se objevila ve FreeBSD 4.0. Dříve překlad NAT prováděl démon natd, kterému byly pakety předávány akcí přesměrování.

Popis

Nakonfigurovaný firewall je reprezentován uspořádaným seznamem pravidel s čísly v rozsahu 1-65535. Každý paket pochází z různých úrovní zásobníku protokolů, a když narazí na bránu firewall, porovná se postupně s kritérii každého pravidla v seznamu. Pokud je nalezena shoda, provede se akce přiřazená tomuto pravidlu.

ipfw vždy obsahuje výchozí pravidlo (číslované 65535), které nelze změnit ani odstranit. Toto pravidlo je terminální, tj. platí pro pakety, které nespadají do všech předchozích. V závislosti na konfiguraci jádra může toto pravidlo provádět akce "deny" nebo "allow" (ve výchozím nastavení je to odepřít ip z libovolného na libovolné, pro změnu je třeba přidat do jádra volby IPFIREWALL_DEFAULT_TO_ACCEPT). Všechna ostatní pravidla může upravit správce systému.

Existuje několik základních akcí, které lze použít na balíčky:

Začlenění do FreeBSD

Při instalaci systému FreeBSD standardními prostředky není ipfw ve výchozím nastavení povoleno. Podporu lze provést buď zahrnutím kódu ipfw do jádra (přidáním voleb a rekompilací jádra a následným restartem systému), nebo (kdykoli po nabootování systému) připojením modulů stejného jména (dostupné v nejnovější verze systému). Využití CPU je menší, když je ipfw zahrnuto v jádře, ale to je patrné pouze u velkého počtu zpracovaných paketů a pravidel.

Pokud chcete používat IPFW, musíte znovu sestavit jádro s možností:

možnostiIPFIREWALL

IPFW má ve výchozím nastavení zabudované neodstranitelné pravidlo „všem je zakázáno“, které má nejvyšší číslo, a proto bude zpracováno po všech pravidlech zadaných správcem systému. Při některých chybných akcích administrátora může být systém uzavřen z jakéhokoli přístupu přes síť a administrátor bude potřebovat přístup ke konzole; chcete-li toto pravidlo nahradit „všichni jsou povoleni“, musíte přidat možnost

možnosti IPFIREWALL_DEFAULT_TO_ACCEPT

Pokud chcete používat NAT (prostřednictvím démona natd), musíte přidat možnost:

možnosti IPDIVERT

Pokud chcete použít NAT na úrovni jádra, musíte přidat možnosti:

možnosti LIBALIAS možnosti IPFIREWALL_NAT

Pokud chcete použít potrubí/frontu, musíte přidat možnost:

možnosti DUMMYNET

Povolení ipfw pomocí načítání modulů jádra se provádí příkazy (superuser).

kldload ipfw kldload ipdivert kldload dummynet

respektive.

Jak vytvořit pravidla

Obecný formát stavebních pravidel:

ipfw [prob match_probability ] action [log logamount number ] proto from src to dst [ options ] ipfw add 00001 povolit icmp z libovolného do libovolného povolit (povolit) jakýkoli provoz prostřednictvím protokolu ICMP (icmp) v libovolném směru. (jakýkoli k libovolnému) prvním pravidlem (00001) ipfw add odepřít vše od 192.168.0.0/24, 10.0.0.0/8 do 192.168.1.0/24 Odepřít (zakázat) jakýkoli provoz přes jakýkoli protokol (všechny) ve směru od 192.168.0.0-192.168.0.255 nebo od 10.0.0.0-10.255.255.255 do podsítě 192.168.1.0/24 (1912.5168.8). Číslo pravidla je v tomto případě převzato z posledního použitého +100, kromě posledního výchozího pravidla (č. 65535); ipfw add deny all from 192.168.0.1 to me Odmítne veškerý provoz z adresy 192.168.0.1 na všechna síťová rozhraní zařízení, na kterém běží nakonfigurovaný ipfw; ipfw add allow all from table(1) to any Umožňuje veškerý provoz z adres v tabulce č. 1 na libovolné adresy; ipfw add allow all from table(1) to any out Umožňuje všechny odchozí (odchozí)

provoz z adres v tabulce č. 1 na libovolné adresy;

ipfw add allow all from table(1) to any out přes em0 Umožňuje veškerý odchozí (odchozí) provoz z adres v tabulce č. 1 na libovolné adresy přes rozhraní em0; ipfw přidat skipto 1700 ip z tabulky(8) do libovolné Spustí kontrolu požadavku na shodu s pravidlem 1701 (to znamená, že všechna pravidla počínaje tímto až do 1700 jsou při kontrole tohoto paketu ignorována) pro IP adresy z tabulky 8; ipfw add set 31 prob 0.95 povolit tcp ode mě na jakýkoli out dst-port 80 Povolí veškerý odchozí (odchozí) provoz z tohoto zařízení na libovolnou adresu na portu 80 tcp (dst-port 80, tcp) s pravděpodobností 95 % (pravděpodobnost 0,95). Pravidlo je přidáno do speciální sady pravidel #31, viz níže (ipfw flush); ipfw tabulka 1 přidat 192.168.1.2 ipfw tabulka 1 přidat 192.168.1.128/25 Přidejte do tabulky 1 adresu 192.168.1.2 (maska ​​/32 - ve výchozím nastavení) a podsíť 192.168.1.128/25, resp. ipfw tabulka 1 seznam Zobrazit obsah tabulky 1; ipfw odstranit 00001 odstranit dříve vytvořené pravidlo č. 1. Popis je nepovinný - pokud je pod tímto číslem více pravidel, všechna jsou smazána. ipfw flush odstranit všechna pravidla, která nejsou zahrnuta v sadě č. 31, pravidlo č. 65535 je v ní zahrnuto standardně;

Viz také

Poznámky

  1. Kuzmich Konfigurace FireWall (ipfw) ve FreeBSD (downlink) . Získáno 16. prosince 2008. Archivováno z originálu 8. května 2012. 

Odkazy