vortal internetowy
artykuły
Powrót do listy artykułów
Temat artykułu: Blokowanie programów typu p2p - KaZaA
Tekst napisał pitt2k dnia 08-01-2004
Nie jest to łatwy temat do rozgryzienia i musimy sie zagłębić w tajniki działania tego typu
softu.
Po pierwsze musisz mieć urządzenie które ma możliwość blokowania
portów i przez które pakiety lecą w świat. Jeżeli masz np. router od Neostrady+
(i korzystasz z niego z funkcją routera) to raczej nic nie zrobisz bo TPSA nie
daje loginu i hasła do modemu więc i nic nie możesz tam ustawić.
Jeżeli masz
router sprzętowy (nie będę wnikał w dywagacje co to jest router sprzętowy a co
software'owy - mam nadzieję że czujesz to intuicyjnie) z możliwością filtrowania
pakietów (czyli z funkcją firewall'a) to już jest lepiej. Jeżeli Internet
udostępniasz jakimś programem pod Windows'em (np. Winroute) to też nie jest źle,
a jak używasz Linuxa to jesteś w domu :-)
Ogólnie rzecz polega na tym aby
zablokować transmisję na określone porty (względnie numery IP) i cały pic polega
na tym aby wiedzieć jakie to porty.
Dla podstawowych usług takich jak ftp
chociażby można w swoim katalogu z Windows'em (bądź w /etc w Linuxie) znaleźć
plik services w którym ładnie są te usługi powypisywane (i dowiemy się tam że
ftp korzysta z portu 21 protokołu tcp/ip - blokujemy wyjście pakietów na ten
port na routerze i już nikt nie połączy się z serwerem ftp - chyba że
postawionym na innym porcie, ale to inna bajka - na każdą blokadę znajdzie się
obejście ;-). Co zrobić z usługami nie wymienionymi w services... hmm, można
poszukać w Internecie, jak np. na tej
stronie, lub na tej.
Sporo informacji można znaleźć na witrynie samej gry bądź programu, w
dokumentacji lub po prostu na google -
ewentualnie bawić się poleceniem netstat (netstat -a -n) na stacji i sprawdzać
dokąd się dobija dany program.
A co mamy zrobić jak już wiemy z którego
portu korzysta gra/program? Zablokować go :-) Czasem może się to okazać dość
trudne, tak jak w przypadku choćby programu KaZaA - jest to tak sprytna bestia
(a jej twórcy tak durni), że program zmienia sobie porty i to co skutkowało
kiedyś (blokada portu 1214 tcp/ip) już nie działa - KaZaA potrafi zmieniać porty
jak rękawiczki - a to port 80 (http), a to 443 (https), jak te niedostępne to
pójdzie po 25 (smtp) lub 110 (pop3) - po prostu paranoja, a to dopiero
początek... Rozwiązaniem (w przypadku Linuksa) może być zainstalowanie łatki na
jądro i przekompilowanie iptables (krótki opis na stronie http://www.knowplace.org/netfilter/ipt_compile.html)
i filtrowanie pakietów po zawartości KaZaA w tych pakietach - chodzi o
CONFIG_IP_NF_MATCH_STRING (gorzej jak będzie to np. mail z odpowiedzią na ten
artykuł - to co właśnie czytasz ;-) dlatego lepiej ograniczać pasmo a nie
całkowicie blokować.
FreeBSD ma zapewne podobne rozwiązanie, odsyłam do pl.comp.os.freebsd, a
użytkowników innych systemów... na inne grupy.
Jeżeli chodzi o regułkę
blokującą na spatchowanym Linuksie Kaze, to można to zrobić mniej więcej
tak:
iptables -I FORWARD -p TCP -s nasza_sieć/maska -m string
--string 'X-KaZaA' -j DROP
Jeszcze co do KaZaA możemy spróbować
przedostatniej (dawniej była to ostatnia ;-) deski ratunku - zanim klient
ściągnie listę serwerów (czy co on tam ściąga) należy zablokować IPki
217.116.226.0/24 i port 1214 (na wszelki wypadek)
- dostałem sygnały że to
rzeczywiście działa na nowych userów kazy. Niestety na starych już nie...
Ostatnią deską ratunku jest po prostu zablokowanie portów tcp/ip
1024:4000 - podobno pomaga i KaZaA się nie łączy (jak się połączy to wyciąć
jeszcze do :5000). Nie wiem czy będzie to miało jakieś skutki uboczne - na pewno
blokujemy jakiś soft bo są usługi działające na tych portach, ale wtedy można
robić wyjątki. No i trzeba pamiętać że porty >1024 to porty klienckie, więc
może to minimalnie wpłynąć na transmisje danych (aplikacja będzie musiała
przeskoczyć na inny port). Mimo wszystko radzę przycinać, nie blokować - przez
to unikniemy też konfliktu z userami.
I tym optymistycznym akcentem...
;-)
Tekst opracowany na podstawie FAQ grupy pl.comp.networking