Iptables
iptables je v informatice název pro user space nástroj v Linuxu, který slouží pro nastavování pravidel firewallu v jádře. Pravidla firewallu mohou být stavová i nestavová a mohou ovlivňovat příchozí, odchozí i procházející IP datagramy. Pravidla jsou v jádře zpracovávána několika netfilter moduly. Charakteristika![]() Příkaz Nástroj iptables vyžaduje ke své funkci administrátorská oprávnění, a proto musí být spuštěn uživatelem root, jinak nebude fungovat. Program je většinou umístěn v /usr/sbin/iptables. Iptables jsou součástí jádra Linuxu verze 2.6 a 2.4. Ve starších verzích se používal nástroj ipchains (2.2) a ipfwadm (2.0). Shrnutí funkceRámec Xtables, užívaný ip_tables, ip6_tables a arp_tables umožňují definovat tabulky obsahující sady pravidel sdružovaných do řetězců (anglicky chains), které definují zacházení s jednotlivými pakety. Existuje několik základních tabulek (INPUT, OUTPUT, FORWARD, ...), do kterých lze přidávat pravidla, měnit jejich nastavení a je možné vytvářet další tabulky a zapisovat pravidla, které jejich průchod vyvolají. Každý příchozí či odchozí paket musí projít alespoň jednou tabulkou. Základní syntaxeiptables [tabulka] [akce] [chain] [ip_část] [match] [cíl] [cíl_info] Parametr tabulkaExistují tři základní typy: filter (výchozí), nat a mangle. Přepínač –t definuje, o který typ se jedná (např.: iptables -t nat). Každý typ tabulky má vlastní systém pravidel.
Parametr akceNejpoužívanější příkazy (přeložený výtah z manuálové stránky): -A, --append – Přidá na konec řetězce nové pravidlo. -D, --delete – Smaže pravidlo (zadává se buď v přesném tvaru, jak bylo zadáno nebo jeho číslem, které lze získat volbou --lin.). -R, --replace – Nahradí pravidlo. -I, --insert – Vloží na začátek řetězce nové pravidlo. -L, --list – Vypíše všechna pravidla v řetězci. Pokud řetězec není zadán, jsou vypsány všechny řetězce s jejich pravidly. -F, --flush – Vyprázdní v řetězci všechna pravidla -N, --new-chain – Vytvoření nového řetězce. -X, --delete-chain – Smaže vlastní řetězec (nelze odstranit výchozí) -P, --policy – Politika (policy) řetězce. -E, --rename-chain – Přejmenování vlastního řetězce. Politika (policy) v iptables je implicitní pravidlo, které se uplatní, pokud paket projde všemi pravidly, aniž by byl akceptován (ACCEPT). Implicitně je nastaveno na „povolit vše“ (ACCEPT). Při vytváření firewallu se obvykle uplatňuje princip „co není povoleno, je zakázáno“. K nastavení implicitního pravidla se používá přepínač -P. Volby jsou buď povolit (ACCEPT) nebo zahodit (DROP). Příklad nastavení, které nastaví implicitní pravidlo na zahození všech příchozích paketů: iptables -P INPUT DROP Parametr ip_část
První nastavujeme protokol. Standardní protokoly jsou ICMP, UDP, TCP nebo ALL. Lze použít také protokoly uvedené v /etc/protocols. Protokol definujeme přepínačem -p (--protocol), je-li za přepínačem použit vykřičník, znamená to negace, tedy platí vše ostatní, kromě negovaného. Př.: ! -p UDP. (dříve bylo možné uvádět i ve tvaru -p ! UDP, v současnosti je tento zápis zastaralý )
nastavení zdrojové IP adresy definuje přepínač -s (--src,--source), nastavení cílové adresy definuje přepínač -d (--dst,--destination). Jestliže není použita výchozí maska sítě, může být použit zápis ve tvaru 192.168.0.1/24 nebo 192.168.0.1/255.255.255.0.
Pro zjištění, odkud paket přišel, použijeme přepínač -i (--in-interface). Chceme-li zjistit, které zařízení se právě snaží opustit, použijeme přepínač -o (--out-interface).
Při použití přepínače -j (--jump) určujeme dvě možnosti – ACCEPT (pustí paket dále) nebo DROP (paket zahodí). Příklad: Všechny pakety, které přijdou na eth0 z jiné adresy než 192.168.0.1, budou zahozeny. iptables -P INPUT DROP iptables -A INPUT -i eth0 -s 192.168.0.1 -j ACCEPT Popis příkladu:
Externí odkazy
|