jak bloknout kazu?

Jaroslav Jirásek jarda na egerius.cz
Úterý Říjen 29 08:40:46 CET 2002


Tak mam funkcni blok kazy.
Snifferem jsem si zjistil, jak se lisi komunikace weboveho prohlizece
a Kazy. Webovy prohlizec nejdrive posle kratky paket
se syn priznakem, pak druhy (taky kratky - 60 bytu) - ma nastaveny
priznak pouze acknowledgment a konci DLC: frame padding = 6 bytes
(vubec nevim, co znamena, vite to nekdo?). Pak posle paket s priznakem
acknowledgment a push, ktery uz ma v sobe pozadavek GET. Komunikace
konci paketem s nastavenym priznakem reset.
Kazaa to dela stejne, ale treti paket nema v sobe GET ci HTTP, ale byty
ruznych
hodnot, kterym rozumi jen ona sama.

Mimochodem kazaa nepouziva zadny centralni server (IMHO, tomu jsem
samozrejmne
venoval ze zacatku nejvice casu, kdyby ho pouzivala, pak by blok byl
trivialni).

Takze jsem udelal takovato pravidla:

iptables -A FORWARD -s x.x.x.0/24 -d 0/0 -p tcp --dport 80 --syn -j ACCEPT
iptables -A FORWARD -s x.x.x.0/24 -d 0/0 -p tcp --dport 80 --tcp-flags
SYN,ACK,PSH,FIN,RST ACK -j ACCEPT
iptables -A FORWARD -s x.x.x.0/24 -d 0/0 -p tcp --dport 80 --tcp-flags
SYN,ACK,PSH,FIN,RST RST -j ACCEPT
iptables -A FORWARD -s x.x.x.0/24 -d 0/0 -p tcp --dport 80 -m
string --string "GET" -j ACCEPT
iptables -A FORWARD -s x.x.x.0/24 -d 0/0 -p tcp --dport 80 -m
string --string "HTTP" -j ACCEPT

Je nutne pridat do jadra podporu pro filtrovani paketu dle stringu. Alespon
do redhatu
7.2 a 7.3. Pro jadra redhatu 7.2 (2.4.18-17.7.x) a 7.3 (2.4.18-3) mam
prelozeny moduly,
ipt_string.o a libipt_string.so pro iptables, muzu je zaslat.

Pisu to proto, abych pripadne nekomu pomohl, a take aby pripadne nejaky guru
rekl
ze ta pravidla blokuji vice, nez by mela, coz bych samozrejmne nechtel a
musel bych
je prepracovat.

Jako dalsi krok chci vymezit nejakou sirku pasma pro pakety, ktere neprojdou
pravidly.
Nechci je tedy zahazovat, ale zpomalit je. Zatim vubec nevim, jak to budu
delat.


Jirasek




Další informace o konferenci Linux