Portál AbcLinuxu, 13. května 2025 00:24

Dotaz: iptables+protokoly

9.8.2006 12:15 id2307 | skóre: 8 | blog: Jmenoblogusmiobsahovatjenznaky | Dvůr Králové nad Labem
iptables+protokoly
Přečteno: 100×
Odpovědět | Admin
ahoj, mám iptables v1.2.7a, jádro 2.4.20-8 a když se snažím iptables vnutit např:
ipt -A FORWARD -p http -j MARK --set-mark 80
tak dostanu hlášku "unknown protocol specified" - konkrétně jsem se snažil aplikovat to na http, https, smtp, imap, pop3 a nic nezná, což mi připadá dost smutné na to, že to jsou neznámější protokoly :) v /etc/protocols taktéž nejsou tak nevím ..
zvládnou vůbec iptables něco jiného než tcp, ip, icmp, udp?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Luboš Doležel (Doli) avatar 9.8.2006 12:20 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: iptables+protokoly
Odpovědět | | Sbalit | Link | Blokovat | Admin
HTTP je na jiné vrstvě než TCP, ICMP, UDP. IP je taktéž jiná vrstva :-) To nemůžete dávat do jednoho pytle.
9.8.2006 12:22 id2307 | skóre: 8 | blog: Jmenoblogusmiobsahovatjenznaky | Dvůr Králové nad Labem
Rozbalit Rozbalit vše Re: iptables+protokoly
to je mi jasné, že je to na jiné vrstvě, ale říkal jsem si, že by to mohlo umět, tak asi ne :)
9.8.2006 12:31 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: iptables+protokoly
Pre parametr -p môžeš uviesť niektoré z "tcp","udp" alebo "icmp". Filtrovanie pre protokol http urobíš tak, že "-p tcp" skombinuješ s definovaním portu "--sport 80" alebo "--dport 80"
9.8.2006 12:34 id2307 | skóre: 8 | blog: Jmenoblogusmiobsahovatjenznaky | Dvůr Králové nad Labem
Rozbalit Rozbalit vše Re: iptables+protokoly
což je už ale taková obezlička, port 80 je sice "zažitý standart", ale nikoliv podmínka :)
http server může jet i na jiných portech a taková spojení pak půjdou mimo toto pravidlo
9.8.2006 13:17 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: iptables+protokoly
:-) to vôbec nie je "obezlička". V /etc/services sa dočítaš, že http protokol sa používa na porte 80. Je pravda, že http server môže bežať aj na inom porte, ale ak pôjdeš do takéhoto extrému, tak ako chceš rozlišovať čo je http prevádzka a čo nie? Čo ak urobím "telnet mail.example.com 25" a začnem do toho písať HTTP requesty? Čo ak sa prihlásim cez ftp na nejaký server a začnem sťahovať html stránky? Oboje bude aspoň z polovice "vyzerať" ako http prevádzka. Ak chceš filtrovať, zakáž všetko a povoľ to čo potrebuješ. Ak sa niekto ozve, že mu nejde jeho http prenos na neštandardnom porte, aspoň sa o tom dozvieš a potom urobíš príslušnú zmenu v iptables.
9.8.2006 13:54 id2307 | skóre: 8 | blog: Jmenoblogusmiobsahovatjenznaky | Dvůr Králové nad Labem
Rozbalit Rozbalit vše Re: iptables+protokoly
http provoz je samozřejmě veškerý provoz, který využívá tento protokol ke komunikaci a je mi jedno, jaká data po něm tečou - to samé s ftp - z hlediska provozu mě nezajímá jaká data přenáší, ale rád bych zjistil, že se jedná o tento protocol
konkrétně na ftp existuje modul pro iptables a trošku mě překvapuje, proč neexistuje i na jiné běžně používané protokoly :)
9.8.2006 14:11 billgates | skóre: 27
Rozbalit Rozbalit vše Re: iptables+protokoly

Co k tomu dodat? Snad len RTFM.

http://l7-filter.sourceforge.net/protocols
9.8.2006 14:49 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: iptables+protokoly
Modul pre ftp existuje preto, že ftp komunikuje na dvoch portoch zároveň (20 a 21) a sledovať stav konexie je v tomto prípade zložitejšie - nestačí sledovať flagy v TCP hlavičke. Ver mi, že každý, kto pomocou iptables spracováva http, to robí tak, ako som popísal vyššie.
Heron avatar 9.8.2006 17:55 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: iptables+protokoly
FTP komunikace je trochu složitější, viz aktivní / pasivní mód. Při každém se používají jiné porty a jiným způsobem se navazuje spojení, proto je nutné dát modul pro iptables.
9.8.2006 18:08 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: iptables+protokoly
z hlediska provozu mě nezajímá jaká data přenáší, ale rád bych zjistil, že se jedná o tento protocol

To by bylo velmi komplikované a, upřímně řečeno, nejsem příliš přesvědčen, že by to stálo za tu námahu. Mezi námi: víte o nějaké běžně používané implementaci paketového filtru, která umí spolehlivě rozeznat? Jinak co se týká analogie s protokoly jako TCP nebo UDP, možná vás zklamu, ale ani tady netfilter (a AFAIK ani žádný jiný paketový filtr) neprovádí analýzu toho, co následuje za IP hlavičkou, zda se jedná o TCP/UDP/…, ale prostě se podívá, zda má desátý byte v IP hlavičce hodnotu 6 resp. 17.

konkrétně na ftp existuje modul pro iptables a trošku mě překvapuje, proč neexistuje i na jiné běžně používané protokoly

Modul ip_conntrack_ftp dělá něco trochu jiného, než že by detekoval, zda určitý paket přenáší protokol FTP.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.