LINUX-BG Adres : http://www.linux-bg.org |
Osnovi na iptables |
Ot: mystical Publikuvana na: 11-12-2010 Adres na statiiata: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=advices&key=430581795 |
Osnovi na iptables Sled versiia 2.4 na iadroto , GNU/Linux predstavi iztsialo nov softuer za obrabotka na paketi, narechen Netfilter. Instrumentut, izpolzvan za kontrolirane na Netfilter, iptables, e golemiiat brat na po- starata komanda ipchains, izpolzvana v iadrata ot versiia 2.2. iptables prilaga podredeni “verigi” ot pravila za mrezhovite paketi. Naborite ot verigi sustaviat “tablitsi” i se izpolzvat za obrabotka na opredeleni vidove trafik. Vuzmozhnite verigi sa INPUT, OUTPUT, FORWARD, PREPOUTING i POSTROUTING, a tablitsite sa filter, nat, mangle i raw. Tablitsi i verigi na IPTABLES Vsichki pravila v iptables imat osnoven sintaksis. Tozi sintaksis e: iptables [-t tablitsa] komanda veriga spetsifikatsiia-na-pravilo [optsii] Purvata chast ot sintaksisa na iptables e nezadulzhitelnata optsiia -t tablitsa. Podrazbirashtata se tablitsa na iptables se naricha “filter”. Verigite ot pravila v neia se izpolzvat za filtrirane na paketite na mrezhoviia trafik. Tablitsata filter sudurzha tri podrazbirashti se verigi – INPUT, FORWARD i OUTPUT. Vseki paket, koito se obrabotva ot iadroto, se propuska prez tochno edna ot tiah.
Da pomislim po tozi nachin... Ako iskam da kontroliram trafika mezhdu internet i potrebitelite, koito preminava prez ruter, togava shte triabva da izpolzvam FORWARD verigata, za da filtriram/upravliavam tozi trafik. Ako iskam da ogranicha tezi, koito mogat da se svurzhat s moia ruter, shte triabva da izpolzvam INPUT verigata. Ako iskam da upravliavam glavniia trafik, shte izpolzvam OUTPUT verigata. Pochti ne se sreshta da vidite goliam upravliavasht red v OUTPUT verigata, kato povecheto ot trafika, koito se svurzva s OUTPUT verigata e upravliaem ili chrez upravliavashtite nastroiki (naprimer konfigurirashti syslog survura) ili chrez kontrolirane na INPUT (bez da e nuzhno da ogranichavate echo otgovorite, ako prosto kontrolirate, ot kude mozhe da dopusnem da idvat echo zaiavkite). MNOGO E VAZHNO da ne mislite za tezi tri verigi, kato che li imat neshto obshto s posokata na trafika, kakto se otnasia kum mrezhata. Mnogo chesta greshka e da postavite uslovie v INPUT verigata, misleiki, che tova shte predotvrati trafika ot internet ot skaniraneto na kompyutrite na potrebitelite. Tablitsata „nat” sudurzha verigi pravila za kontrol na Network Address Translation (tuk “nat” e imeto na tablitsata na iptables, a “NAT” e imeto na shemata za prevod na mrezhovi adresi). Tazi tablitsa se vzema v predvid samo kogato paketa, koito suzdava nova vruzka e neochakvano sreshtnat. Tablitsata nat se izpolzva za DNAT (Destination NAT), SNAT (Source NAT) i maskirane (masquerade). Tia implementira verigite:
Tablitsata „mangle” sudurzha verigi, koito modifitsirat ili promeniat sudurzhanieto na mrezhovite paketi izvun konteksta na NAT i filtriraneto na paketi. Tia se izpolzva, kogato iskate da modifitsirate TOS (Type of Service) bitove ili da postavite vurhu paketa marker, koito netfilter mozhe da izpolzva za postaviane v opashka i na drugi neshta. Vupreki, che tia e mnogo polezna za spetsialni obrabotki na paketi, kato naprimer promianata na vremeto na zhivot na IP paketite , tia obiknoveno ne se izpolzva v povecheto proizvodstveni sredi.
Komandi i Optsii na iptables -A (-append) dobaviane -Dobaviane na pravilo kum kraia na dadena veriga. Tazi komanda priema kato zadulzhitelni argumenti ime na veriga i spetsifikatsiia na pravilo iptables -A INPUT -p tcp –dport 23 -j DROP Tazi komanda dobavia uslovie v kraia na sistemata INPUT, koiato shte donese vsichkiia nasochen trafik kum rutera zapomnete za kakvo e INPUT sistemata) i e tcp paketa s nasokata port 23 (telnet). -D (-delete) iztrivane - Iztrivane na pravilata ot dadena veriga. Tazi komanda priema kato zadulzhitelni argumenti ime na veriga i spetsifikatsiia na pravilo ili nomer na pravilo. iptables -D INPUT 4 Tazi komanda bi iztrila 4-toto pravilo v INPUT verigata. Pravilata sa nomerirani, zapochvaiki ot 1 (ne 0). -C (check) proverka - iziskvat se -s, -d, -p, -i . Tazi komanda priema kato zadulzhitelni argumenti ime na veriga i spetsifikatsiia na pravilo. -I (-insert) vmukvane - Vmukvane na pravila v zadadena veriga. Razshirenie na -A, no spetsifikatsiiata na pravilo se postavia pred zadaden nomer na pravilo. Tazi komanda priema kato zadulzhitelni argumenti ime na veriga, nomer na pravilo, pred koeto se vmukva i spetsifikatsiiata na pravilo. iptables –insert INPUT 2 -p tcp –dport 22 -j DROP Tazi komanda vmukva pravilo vuv vtorata pozitsiia na verigata INPUT, koiato shte izpusne TCP trafika, predopredelen za port 22 (ssh). Praviloto shte bude postaveno mezhdu predishnite pravila v pozitsiia 1 i 2 (staroto pravilo nomer 2 shte stane nomer 3). -R (-replace) zameniane - Zameniane na pravilo v zadadena veriga. Kombinatsiia ot Insert i Delete. Tazi komanda priema kato zadulzhitelni argumenti ime na veriga, nomer na pravilo i spetsifikatsiia na pravilo. Spetsifikatsiiata zamestva nomera v zadadenata veriga. -F (-flush) izchistvane - Iztrivane na vsichki pravila v dadena veriga ili vuv vsichki verigi, ako ne e zadadeno ime na veriga. -L (-list) spisuk - Izvezhdane na spisuk na vsichki pravila v dadena veriga ili vuv vsichki verigi, ako ne e zadadeno ime na veriga.
-z (-zero) nulirane -
Nulirane na broiachite. Nulira broiachite
v zadadena veriga ili vuv vsichki verigi,
ako ne e zadadeno ime na veriga. TSeli (politiki) v iptables Vsiako pravilo, koeto sustavia veriga, ima klauza “target” (tsel), koiato opredelia kakvo se pravi s otgovariashtite i paketi. Kogato niakoi paket otgovaria na dadeno pravilo, sudbata mu v povecheto sluchai e reshena okonchatelno, ne se izpolzvat dopulnitelni pravila. Vupreki che mnogo tseli sa definirani vutreshno v iptables, vse pak se pozvoliava kato tsel na pravilo da se podade druga veriga. TSelite, nalichni za izpolzvane v pravilata na tablitsata filter, sa ACCEPT, DROP, REJECT, LOG, MIRROR, QUEUE, REDIRECT, RETURN i ULOG. Kogato praviloto vodi do izpolzvane na
Optsii na IPTABLES Toz primer priema vseki TCP paket iptables -A INPUT -p tcp -j ACCEPT Tozi primer priema OSPF (protokol nomer 89) iptables -A INPUT -p 89 -j ACCEPT Tozi trafik izpuska vseki paket, koito ne e NOT UDP iptables -A INPUT -p !udp -j DROP -s [!] (–source) adres - Adres na iztochnika. Mozhe da priema !, mrezhova maska ili port. Adresut 0/0 otgovaria na vsichki adresi i e podrazbirashtiiat se, ako ne zadadete optsiia -s.
-d [!] (–destination) adres -
Adres na poluchatelia, posokata na IP adresa
. Sushtite kriterii kakto za -s.
-p tcp --sport 0:1023 --dport [!] port[:port] - Validna e samo sled niakoia ot optsiite -r tcp ili -p udp. Podobna e na optsiiata --sport, no zadava porta (portovete) na mestonaznachenieto.
-i [!] ime - Ime na vhodniia interfeis.
Priema v imeto na interfeisa nastavka
+, koiato oboznachava vsichki interfeisi
ot suotvetniia tip; toest rrr+ oznachava
vsichki RRR interfeisi (rrr0 - rrrN). Tazi
optsiia mozhe da se otnasia samo kum vhodniia
interfeis, taka che ne mozhe da bude
izpolzvana vuv verigite OUTPUT ili
POSTROUTING (ili vuv verigi, izvikani ot tezi
verigi).
echo-replay (pong) --mac-source [!]mac-adres - Validna samo sled optsiata -m mac. Polezna e vuv verigite INPUT ili PREROUTING. Fragmentut ot praviloto shte izglezhda po sledniia nachin: -m mac --mac-source 00:00:ab:c0:45:a8 --limit skorost - Maksimalnata skorost na suvpadeniiata (sredna stoinost). Stoinostta po podrazbirane e 3/hour; vsichko pod tazi skorost se othvurlia. Ako vashata sistema ne mozhe da poddurzha poveche ot edna nova konektsiia za sekunda, mozhete da izpolzvate limit sus sledniia fragment ot pravilo -p tcp --syn za da predpazite vashiia survur ot pretovarvane, vupreki che tova obiknoveno se izpolzva s tselta LOG, za da predpazite dnevnitsite ot prekaleno burzo razrastvane. Skorostta mozhe da vklyuchva period ot vreme( podrazbirashtata se stoinost e /hour) - /minute, /second, /hour ili /day. Eto edin primeren fragment ot pravilo: -m limit --limit 1/sec
--limit-burst broi - Maksimalniiat nachalen
broi paketi, koito da suvpadat, predi
da zapochne izpolzvaneto na predhodiashtoto
--limit skorost. Tazi stoinost se uvelichava
s edno vseki put, kogato predhodiashtoto
uslovie --limit skorost ne e izpulneno.
Podrazbirashtata se stoinost za --limit-burst
e 5. -m multiport -p tcp -- port 25,110
--mark stoinost[/maska] - Suvpada s
paketite s daden marker (stoinost bez
znak). Tazi stoinost triabva da bude
zadadena chrez tselta MARK. iptables -F veriga iptables -P veriga_tsel iptables -A veriga -i interfeis -j tsel Purviiat format (-F) izchistva vsichki predishni pravila ot verigata. Vtoriiat format (-P) nastroiva podrazbirashtata se politika (ili oshte tsel) za verigata. Preporuchva se izpolzvaneto na DROP za podrazbirashtata se tsel na verigata. Tretiiat format (-A) dobavia tekushtata spetsifikatsiia kum verigata. Osven ako ne se konkretizira tablitsa s argument -t , komandite shte sa prilagat kum tablitsata filter. Parameturut -i prilaga pravilo kum imenuvan interfeis, a -j identifitsira tselta.
Podbral: mystical Iztegli .odt variant Izpolzvana literatura: http://www.linux-bg.org/cgi-bin/y/index.pl?page=article&id=programs&key=360886781#ss3.1 http://myfreesoft.net/phpBB2/viewtopic.php?t=346 http://mytech.bg/uroci/19/Unix/1396/%D0%9E%D1%81%D0%BD%D0%BE%D0%B2%D0%BD%D0%B8+iptables http://megimg.info/mg/modules/booklists/knigi/Comp/Internet/NAT%20HOWTO.txt << Sigurno elektronno bankirane s Firefox i Linux | Maskirane na VPN tunel >> |
Avtorite na saita, kakto i tehnite sutrudnitsi zapazvat avtorskite prava vurhu sobstvenite si materiali publikuvani tuk,
no te sa copyleft t.e. mogat svobodno da budat kopirani i razprostraniavani s iziskvaneto izrichno da se upomenava imeto na avtora,
kakto i da se publikuva na vidno miasto, che te sa vzeti ot originalniia im URL-adres na tozi survur (http://www.linux-bg.org). Avtorskite prava na prevodnite materiali prinadlezhat na tehnite avtori. Ako s publikuvaneto tuk na niakakuv material nevolno sa narusheni nechii prava - sled konstatiraneto na tozi fakt materialut shte bude svalen.
All trademarks, logos and copyrights mentioned on this site are the property of their respective owners.
|