Názory k článku
Vše o iptables: IP část
chybka
celé vláknoiptables -A INPUT DROP
iptables -A INPUT -i eth0 -s 192.168.0.1 -j ACCEPT
se aplikuje na vstupni filtru pravidlo 1 a vsechny pakety se zahodi. Pravdepodobne mel autor na mysli
iptables -P INPUT DROP
Re: chybka
celé vláknoRe: chybka
celé vláknoUcitelsky i vecne skvele!
celé vláknobazvadna serie clanku
celé vláknodiky!
Ano to potřebuji - díky
celé vláknoChvala :)
celé vláknoIPTABLES pro programátory
celé vláknozajímalo by mě, zda se budete zabývat i možností přístupu k IPTABLES z programátorského hlediska?
Re: IPTABLES pro programátory
celé vláknoDROP vs REJECT
celé vláknoPro blokovani TCP v chainu INPUT v pak jeste s atributem --reject-with tcp-reset .
Pro blokovani UDP v chainu INPUT bez argumentu.
Pro blokovani v chainech, ktere se aplikuji jindy nez INPUT, bude nejspis nejlepsi pouzit --reject-with s nekterou *-prohibited hodnotou.
Pri tomto pouziti REJECT pro chain INPUT se zablokovany port bude chovat z vnejsiho pohledu uplne stejne, jako by na nem nic nebezelo, a IP stack i aplikace se budou chovat rozumne (smysluplne chybove hlasky).
Obvykle blokovani pomoci targetu DROP v INPUT chainu zpusobuje problemy (dlouhe timeouty namisto okamziteho ohlaseni neuspechu) jen ostatnim, v nekterych pripadech to vsak zpusobuje problemy i uzivatelum blokujicicho systemu:
- Pokud se uzivatel snazi kontaktovat server, ktery si loguje uzivatelske jmeno pomoci sluzby auth/ident a nepovoli navazani spojeni pred dokoncenim pokusu o auth/ident. Tak se chova napr, xinetd v konfiguraci se zaplym logovanim USERID. S timto problemem se bezne setkavam.
- Pokud se uzivatel snazi kontaktovat pocitac, ktery provozuje IPSec v modelu 'opportunistic encryption'. S timto jsem se jeste nesetkal.
- dalsi pripady, ktere me nenapadly.
Re: DROP vs REJECT
celé vláknoa) pokud mam sluzbu otevrenou, spojeni nabehne hned a nic se neblokuje, pokud mam spojeni zavrene, zrejme nechci, aby se mi na to pripojoval nekdo cizi a pokud to udela, musi pocitat s tim, ze ho muzu ignorovat (nebudu s nim komunikovat podle RFC)
b) v pripade *DoSu bude muj stroj odpovidat na kazdej TCP dalsim paketem s tcp-resetem, navic v pripade DDoS s fake IP bude muj stroj generovat peknej sitovej provoz. Proc bych mel byt generatorem nejakych dat, ktera generovat nechci?
"Pri tomto pouziti REJECT pro chain INPUT se zablokovany port bude chovat z vnejsiho pohledu uplne stejne, jako by na nem nic nebezelo"
S tim rozdilem, ze v pripade s REJECTem to bude vytrubovat do sveta (a prakticky "bude komunikovat"), kdezto s DROPem vubec nebude komunikovat.
Re: DROP vs REJECT
celé vláknoNo ale pak musis pocitat s tim, ze kdyz chces s nekym komunikovat (treba z libovolnym serverem na internetu), tak ten muze pred zacatkem komunikace zkusit kontaktovat nejaky port na tvem pocitaci, jemu to bude timeoutovat (protoze ho ignorujes) a v dusledku ty budes cekat, nez se otevre puvodni pozadovane spojeni. Coz se deje v tech pripadech, ktere jsem popisoval.
>> "Pri tomto pouziti REJECT pro chain INPUT se zablokovany port bude chovat z vnejsiho pohledu uplne stejne, jako by na nem nic nebezelo"
> S tim rozdilem, ze v pripade s REJECTem to bude vytrubovat do sveta (a prakticky "bude komunikovat"), kdezto s DROPem vubec nebude komunikovat.
Ano, vytrubovani do sveta je standardni chovani pro uzavreny port.
Re: DROP vs REJECT
celé vlákno# Sluzbu AUTH neni dobre filtrovat pomoci DROP, protoze to muze
# vest k prodlevam pri navazovani nekterych spojeni. Proto jej
# sice zamitneme, ale tak, aby nedoslo k nezadoucim prodlevam.
iptables -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server
iptables -A INPUT -p UDP --dport 113 -j REJECT #AUTH server
Re: DROP vs REJECT
celé vlákno<code>
# Sluzbu AUTH neni dobre filtrovat pomoci DROP, protoze to muze
# vest k prodlevam pri navazovani nekterych spojeni. Proto jej
# sice zamitneme, ale tak, aby nedoslo k nezadoucim prodlevam.
iptables -A INPUT -p TCP --dport 113 -j REJECT --reject-with tcp-reset #AUTH server
iptables -A INPUT -p UDP --dport 113 -j REJECT #AUTH server
</code>
Omlouvam se za formatovani predchoziho prispevku
Re: DROP vs REJECT
celé vláknochyba v prvním odstavci
celé vláknorozdil mezi --jump a --goto
celé vlákno-g, --goto chain
This specifies that the processing should continue in a user specified chain. Unlike the --jump option return will not continue processing in this chain but instead in the chain that called us via --jump.
Re: rozdil mezi --jump a --goto
celé vláknoNeboli nadřízený chain, který volá podřízený pomocí -g, bude při returnu přeskočen (a nejspíš nejspíš těch -g může být víc, potom budou přeskočeny všechny).
Re: rozdil mezi --jump a --goto
celé vláknoRe: rozdil mezi --jump a --goto
celé vláknoTj pravidlo hodi paket do jinecho chainu kde se vyhodnoti a pak se vrati zpet a paket analyzuji dalsi pravidla.
Druhe pravidlo presune paket do jineho chainu ze ktereho jiz se nevrati.
Alespon si to tak myslim ze to tak je, ale nevim jake dela co, podle me goto nevraci paket z5.
Priklad se dvemi vykricniky.
celé vláknoRe: Priklad se dvemi vykricniky.
celé vláknoRe: Priklad se dvemi vykricniky.
celé vláknoRe: Priklad se dvemi vykricniky.
celé vláknonejsem si jistý, ale jestli jsem to dobře pochopil, tak na první pravidle se všechny packety kromě packtů z IP 192.168.0.3 zahodí a tedy na ně bylo aplikováno pravidlo a dále se už netestují. Dále se testují jen packety z IP 192.168.0.3 a ty se pak zahodí protože nepochází z 192.168.0.1. Výsledek neprojde nic.
Re: Priklad se dvemi vykricniky.
celé vláknonejsem si jistý, ale jestli jsem to dobře pochopil, tak na první pravidle se všechny packety kromě packtů z IP 192.168.0.3 zahodí a tedy na ně bylo aplikováno pravidlo a dále se už netestují. Dále se testují jen packety z IP 192.168.0.3 a ty se pak zahodí protože nepochází z 192.168.0.1. Výsledek = neprojde nic.
chain MOJE
celé vláknoJako temer uplny zacatecnik (obcas jsem menil nejake drobnosti v ipfwadm a pod..) z toho zatim moc moudry nejsem, muzete mi doporucit nejake dalsi materialy, knihy? Zatim mi chybi ten spravny "guru" ;-)

